vsitzmann / siren

Official implementation of "Implicit Neural Representations with Periodic Activation Functions"
MIT License
1.75k stars 247 forks source link

test_sdf is crashing #11

Open OshriHalimi opened 4 years ago

OshriHalimi commented 4 years ago

I ran the sdf fit module until completion. Then, when I try to run test_sdf.py on the checkpoint file the process is crashing from some reason, this is the output I get:

SingleBVPNet( (image_downsampling): ImageDownsampling() (net): FCBlock( (net): MetaSequential( (0): MetaSequential( (0): BatchLinear(in_features=3, out_features=256, bias=True) (1): Sine() ) (1): MetaSequential( (0): BatchLinear(in_features=256, out_features=256, bias=True) (1): Sine() ) (2): MetaSequential( (0): BatchLinear(in_features=256, out_features=256, bias=True) (1): Sine() ) (3): MetaSequential( (0): BatchLinear(in_features=256, out_features=256, bias=True) (1): Sine() ) (4): MetaSequential( (0): BatchLinear(in_features=256, out_features=1, bias=True) ) ) ) ) Killed

What could be the reason and how can I fix it? Thank you

OshriHalimi commented 4 years ago

Issue was solved. It appears as a memory issue in the mesh creation, with reduced N, it completed successfully.

kwea123 commented 4 years ago

It freezes my PC... I think it is worth noting in the readme, or set the default value to a smaller number.

jnpmartel commented 4 years ago

Thanks a lot for noting that! Indeed, N corresponds to the voxel resolution at which the marching cube algorithm we use to create the mesh operates.

Using a smaller N should indeed always work, at the expense of the visual quality of the final result.

[EDIT]: I added the option --resolution in the command line. running test_sdf.py with --resolution=512 should work! Finally, note that if you were trying to reconstruct a SDF that has many many (...many) blobs, for instance because your model did not converge, you might still be in trouble reconstructing a mesh from it using the marching cubes provided with test_sdf.py.