Closed PyeongKim closed 3 years ago
Hi, I'm glad you found it insightful!
That's not a bug, the variables are named that way to distinguish between the inputs during inference vs. during training. The predict_mask_length
function is only called during sampling so the input is a randomly generated vector the size of the latent memory. This is what I refer to as mem
. When training, the model learns to predict the length of the SMILES from the latent mean vector, mu
, prior to reparameterization. So mem
is essentially a randomly sampled mu
.
First of all, I was a great pleasant to read such as well-organized and insightful paper of yours. While I am looking through your code, I was a bit curious regarding how you predicted length of sequence. In
predict_mask_length
method withinVAEEncoder
class, it reads, "Predicts mask length from latent memory". However, inforward
method, the length of sequence was inferred frommu
instead ofmem
. Do I lost something? Or is it a little bug? Thank you Sincerely Kim` class VAEEncoder(nn.Module):
`