-
Notifications
You must be signed in to change notification settings - Fork 84
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
Question about spherical initialzation and training #22
Comments
Hi, thanks for the valuable comments! About the initialization of bias in linear layers, I think the current implementation achieves the same effect as the original code you mentioned, as the bias is set to I also found that setting |
Thanks for your feedback! I tried out the warm-up strategy and the quality was quite improved on my custom dataset. |
Hi, thanks for sharing your code.
I've been trying out several things and found something weird.
When using sphere initialization of the vanilla MLP, I expected the initial shape to be a sphere.
If you render the outputs of the initialized model by setting val_check_interval=1, the images (rgb, normal, depth) indeed resemble a sphere.
However, the marching cubes fail with the following error message
I guess this means that the aabb cube is empty.
When I looked into the code, I found that the VanillaMLP does not initialize the constants of the layers, which is different from the initialization of the paper "SAL: Sign Agnostic Learning of Shapes from Raw Data".
I think the
make_linear
function should be as followsAlso, from
forward
andforward_level
methods in classVolumeSDF
The if statement is
True
even when you simply setsdf_activation
toNone
in the config, since it's still in the config. I found that this leads the sdf values to be all positive at the start of training. I just removed thesdf_activation
in the config.After changing this part and setting the bias of the SDF to 0.6, the initial model output is as follows:
And the result of marching cubes is indeed a sphere.
However, I found that by changing the model like this results in very poor training results.
After 1000 iterations,
Also, the mesh is completely broken
So, I guess you had a reason for this design choice? Otherwise, I think this might be the reason why training the model on my custom dataset fails.
The text was updated successfully, but these errors were encountered: