Hi Alban, sorry for this. Here is the updated code.
encoder = StandardNormal(MLP(3000, latent_size,
                                hidden_units=[512,256],
                                activation='relu',
                                x =  x.view(x.shape[0], 3000).float() - 1))
decoder = StandardNormal(MLP(latent_size, 3000,
                                   hidden_units=[512,256],
                                   activation='relu',
                                   x =  x.view(x.shape[0], 3000).float() - 1))

model = Flow(base_dist=StandardNormal((latent_size,)),
             transforms=[
                VAE(encoder=encoder, decoder=decoder)
             ]).to(device)

No I have input matrix to the encoder with 3000 dimensions and I want to get back the 3000 dimensions from the decoder.