Ok. So I started implementing maxpooling but ran into a problem on how to upsample back up in the decoder. I tried using unmaxpool1d() but then realized that I need to have the indices from the maxpooling steps in the encoder, which doesn’t work for my application.
You see, once the network is trained I want to use the front end encoder and decoder separately so that I can do things like explore other points in the latent space (kind of like a VAE), build another network that outputs new latent vectors that are meaningful (like a GAN), or build other backends that do things with the latent vector that has been “compressed” from an input somewhere else.  So I can’t transfer indices between the encoder and decoder because I don’t plan to keep them together once the system is trained (skip connections like U-Net don’t work either, for this reason).
So I’m not sure what to do. Is there a way to do this WITHOUT needing additional information (other than the latent vector) to go from the encoder to the decoder? Thanks in advance for your help!