nerfstudio-project / nerfstudio

A collaboration friendly studio for NeRFs
https://docs.nerf.studio
Apache License 2.0
9.34k stars 1.26k forks source link

Error: cannot reshape tensor of 0 elements into shape [0, -1] because the unspecified dimension size -1 can be any value and is ambiguous #461

Closed evonneng closed 2 years ago

evonneng commented 2 years ago

new error with instant_ngp whenever viewer is enabled (seems like it's only on the viewer side?)

tancik commented 2 years ago

Hmm, Im not seeing the error. It is possible that the occupancy grid hasn't been initialized by the callback if the viewer is called before the first training step is taken.

evonneng commented 2 years ago

I see! :O i can take a look into this... But this happens constantly after the viewer is initialized and is well into training. It doesnt break the viewer but it just constantly occurs

evonneng commented 2 years ago

seems to be fixed

kevinchan04 commented 1 year ago

Hi, the problem it seems still exist. Do you have any idea to debug it? Thanks!

kevinchan04 commented 1 year ago

Sorry that I was not plasted the error message for more explanation. The detail of error message is:

Traceback (most recent call last): File "/opt/conda/bin/ns-train", line 8, in sys.exit(entrypoint()) File "/workspace/nerfstudio/nerfstudio/scripts/train.py", line 247, in entrypoint main( File "/workspace/nerfstudio/nerfstudio/scripts/train.py", line 233, in main launch( File "/workspace/nerfstudio/nerfstudio/scripts/train.py", line 172, in launch main_func(local_rank=0, world_size=world_size, config=config) File "/workspace/nerfstudio/nerfstudio/scripts/train.py", line 87, in train_loop trainer.train() File "/workspace/nerfstudio/nerfstudio/nerfstudio/engine/trainer.py", line 271, in train self.eval_iteration(step) File "/workspace/nerfstudio/nerfstudio/nerfstudio/utils/decorators.py", line 70, in wrapper ret = func(self, *args, kwargs) File "/workspace/nerfstudio/nerfstudio/nerfstudio/utils/profiler.py", line 93, in inner out = func(*args, *kwargs) File "/workspace/nerfstudio/nerfstudio/nerfstudio/engine/trainer.py", line 463, in eval_iteration metrics_dict, images_dict = self.pipeline.get_eval_image_metrics_and_images(step=step) File "/workspace/nerfstudio/nerfstudio/nerfstudio/utils/profiler.py", line 93, in inner out = func(args, kwargs) File "/workspace/nerfstudio/nerfstudio/nerfstudio/pipelines/base_pipeline.py", line 329, in get_eval_image_metrics_and_images outputs = self.model.get_outputs_for_camera_ray_bundle(camera_ray_bundle) File "/opt/conda/lib/python3.8/site-packages/torch/autograd/grad_mode.py", line 27, in decorate_context return func(*args, kwargs) File "/workspace/nerfstudio/nerfstudio/nerfstudio/models/base_model.py", line 178, in get_outputs_for_camera_ray_bundle outputs = self.forward(ray_bundle=ray_bundle) File "/workspace/nerfstudio/nerfstudio/nerfstudio/models/base_model.py", line 140, in forward return self.get_outputs(ray_bundle) File "/workspace/nerfstudio/nerfstudio/nerfstudio/models/instant_ngp.py", line 180, in get_outputs ray_samples, ray_indices = self.sampler( File "/opt/conda/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1194, in _call_impl return forward_call(*input, *kwargs) File "/workspace/nerfstudio/nerfstudio/nerfstudio/model_components/ray_samplers.py", line 469, in forward ray_indices, starts, ends = self.occupancy_grid.sampling( File "/opt/conda/lib/python3.8/site-packages/torch/autograd/grad_mode.py", line 27, in decorate_context return func(args, kwargs) File "/opt/conda/lib/python3.8/site-packages/nerfacc/estimators/occ_grid.py", line 187, in sampling sigmas = sigma_fn(t_starts, t_ends, ray_indices) File "/workspace/nerfstudio/nerfstudio/nerfstudio/model_components/ray_samplers.py", line 414, in sigma_fn return density_fn(positions).squeeze(-1) File "/workspace/nerfstudio/nerfstudio/nerfstudio/fields/base_field.py", line 65, in densityfn density, = self.get_density(ray_samples) File "/workspace/nerfstudio/nerfstudio/nerfstudio/fields/nerfacto_field.py", line 243, in get_density h = self.mlp_base(positions_flat).view(*ray_samples.frustums.shape, -1) RuntimeError: cannot reshape tensor of 0 elements into shape [0, -1] because the unspecified dimension size -1 can be any value and is ambiguous