nerfstudio icon indicating copy to clipboard operation
nerfstudio copied to clipboard

AssertionError: block_width must be between 2 and 16 in the latest version 1.0.3.

Open chengluberkeley opened this issue 10 months ago • 6 comments

Describe the bug At the latest version 1.0.3, I am hit by the error: AssertionError: block_width must be between 2 and 16. Below is the call stack:

Traceback (most recent call last): File "/nerfstudio/scripts/train.py", line 294, in entrypoint() File "/nerfstudio/scripts/train.py", line 285, in entrypoint main( File "/nerfstudio/scripts/train.py", line 270, in main launch( File "/nerfstudio/scripts/train.py", line 199, in launch main_func(local_rank=0, world_size=world_size, config=config) File "/nerfstudio/scripts/train.py", line 106, in train_loop trainer.train() File "/nerfstudio/engine/trainer.py", line 273, in train loss, loss_dict, metrics_dict = self.train_iteration(step) File "/nerfstudio/utils/profiler.py", line 130, in inner out = func(*args, **kwargs) File "/nerfstudio/engine/trainer.py", line 527, in train_iteration _, loss_dict, metrics_dict = self.pipeline.get_train_loss_dict(step=step) File "/nerfstudio/utils/profiler.py", line 130, in inner out = func(*args, **kwargs) File "/nerfstudio/pipelines/base_pipeline.py", line 326, in get_train_loss_dict model_outputs = self._model( File "/python/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl return self._call_impl(*args, **kwargs) File "/python/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl return forward_call(*args, **kwargs) File "/nerfstudio/models/base_model.py", line 153, in forward return self.get_outputs(ray_bundle) File "/nerfstudio/models/splatfacto.py", line 838, in get_outputs self.xys, depths, self.radii, conics, comp, num_tiles_hit, cov3d = project_gaussians( # type: ignore File "/python/lib/python3.9/site-packages/gsplat/project_gaussians.py", line 59, in project_gaussians assert block_width > 1 and block_width <= 16, "block_width must be between 2 and 16"

Thanks!

chengluberkeley avatar Apr 11 '24 16:04 chengluberkeley

Could you update the gsplat==0.1.10? pip install --upgrade gsplat

jb-ye avatar Apr 11 '24 18:04 jb-ye

It is still broken in gsplat==0.1.10.

It worked on nerfstudio==1.0.2, where gsplat==0.1.6

chengluberkeley avatar Apr 11 '24 22:04 chengluberkeley

This issue seems to be a dup of https://github.com/nerfstudio-project/nerfstudio/issues/3033 But I am not why it happens with nerfstudio=1.0.3 + gsplat==0.1.10

I cannot reproduce the issue locally.

jb-ye avatar Apr 12 '24 18:04 jb-ye

Hmm... I just tried again on nerfstudio==1.0.3 + gsplat==0.1.10, and still got hit by the problem.

FYI, I did not run any of the ns- CLI. I checkout nerfstudio from source, run the training by python nerfstudio/scripts/train.py splatfacto --data <processed_data> from the source code (I pip uninstall nerfstudio to avoid it running from the system directory. The dependencies are not uninstalled). I did some minor changes to the source code, but not touching any files in the above call stack.

chengluberkeley avatar Apr 12 '24 19:04 chengluberkeley

I had this error, but I just fixed it by merging the main into my branch (I also installed nerfstudio with pip install -e .). I currently have gsplat==1.9.0 though

AntonioMacaronio avatar Apr 15 '24 03:04 AntonioMacaronio

see https://github.com/nerfstudio-project/gsplat/issues/159

ivanpuhachov avatar Apr 25 '24 00:04 ivanpuhachov