Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GEN model doesnt need AE model to train? #39

Open
GunnerStone opened this issue Apr 5, 2024 · 1 comment
Open

GEN model doesnt need AE model to train? #39

GunnerStone opened this issue Apr 5, 2024 · 1 comment

Comments

@GunnerStone
Copy link

I might be missing something but according to the paper, Figure 3 suggests the AE model is required in order to train the GEN model. However, the code allows for training the GEN model without first training an AE. Why is this?

The AE model should learn to encode each point in the pointcloud into a latent vector of mean + variance. That is sampled and then given some small noise z to produce the next noisy timestep t of the diffusion for each point in the forward process. The AE SHOULD be providing the GEN with the dataset to learn reverse diffusion. But this isn't the case. The train_gen.py file doesn't even ask for the location of an AE_airplane.pt file in the parser arguments. Someone please explain why the GEN can learn by itself... This doesn't look right.

@GunnerStone
Copy link
Author

Aha I think I have solved the mystery. The authors enable you to train & test the AE separately only in order to prove it works effectively as a Pointnet Encoder, nothing more.

Running train_gen.py alone creates either a GaussianVAE (vae_gaussian.py) or FlowVAE (vae_flow.py) model. Each of those models have a self.encoder they train on-the-fly. They re-train the AE from scratch purely to train the GEN model; then these AE models could get disregarded/thrown away as they are not needed anymore after the GEN has been trained. The prior flow can be sampled using a normal.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant