ashawkey / nerf2mesh

[ICCV2023] Delicate Textured Mesh Recovery from NeRF via Adaptive Surface Refinement
https://me.kiui.moe/nerf2mesh/
MIT License
911 stars 89 forks source link

Where is mesh_0.ply? #26

Open ichsan2895 opened 1 year ago

ichsan2895 commented 1 year ago

Hello. I want to create a detailed mesh, I went to stage 1 but get this error: ValueError: string is not a file: trial_syn/mesh_stage0/mesh_0.ply

Here is how to produce:

  1. I create a custom dataset using script/colmap2nerf.py

  2. Run and train this command $ python3 main.py LEGO --workspace trial_syn/ -O --bound 1 --scale 0.8 --dt_gamma 0 --stage 0 --lambda_tv 1e-8 --max_ray_batch 256 --num_rays 256

  3. Stopped at 50 epoch (intentionally keyboard interupt)

  4. Run this command and get the error as stated before. $ python3 main.py LEGO --workspace trial_syn/ -O --bound 1 --scale 0.8 --dt_gamma 0 --stage 1

Second way, I tried to limit iters to 55

$ python3 main.py LEGO --workspace trial_syn/ -O --bound 1 --scale 0.8 --dt_gamma 0 --stage 0 --lambda_tv 1e-8 --max_ray_batch 256 --num_rays 256 --iters 55
RuntimeError: Unable to find a valid cuDNN algorithm to run convolution
roshanpuru commented 1 year ago

First way: mesh files are created at the end of training so if you stop in between mesh files won't be created and hence the error. Second Way: 55 is too low number of iteration to perform convolution. Try 10K+

ichsan2895 commented 1 year ago

So this error was caused because iters (--iters 55) was too low, so, you suggested to try 10K+ ?

$ python3 main.py LEGO --workspace trial_syn/ -O --bound 1 --scale 0.8 --dt_gamma 0 --stage 0 --lambda_tv 1e-8 --max_ray_batch 256 --num_rays 256 --iters 55
RuntimeError: Unable to find a valid cuDNN algorithm to run convolution

But I read in the log, there are max_epoch=345. What does it mean?

Loading train data: 100% 87/87 [00:02<00:00, 38.84it/s]
[INFO] max_epoch 345, eval every 34, save every 6.
[INFO] Trainer: ngp_stage0 | 2023-04-23_11-08-28 | cuda | fp16 | 
trial_colab_lego/
[INFO] #parameters: 18366952
roshanpuru commented 1 year ago

epoch and iterations are different.

ichsan2895 commented 1 year ago

epoch and iterations are different.

Ohh I see. I think it was same things. :smile: So, what is the flag for limiting epochs?