Based on this Keras model definition:
input_layer = Input(shape=(input_dim, ))

encoder = Dense(encoding_dim, activation="tanh", 
                activity_regularizer=regularizers.l1(10e-5))(input_layer)
encoder = Dense(int(encoding_dim / 2), activation="relu")(encoder)

decoder = Dense(int(encoding_dim / 2), activation='tanh')(encoder)
decoder = Dense(input_dim, activation='relu')(decoder)

autoencoder = Model(inputs=input_layer, outputs=decoder)

if looks like your decoder is wrong and should be:
self.decoder = nn.Sequential(
    nn.Linear(7, 7)
    nn.Tanh(),
    nn.Linear(7, 29)
    nn.ReLU()
)

Could you check that and let me know, if I’m misunderstanding the Keras code.