kaolin-wisp
kaolin-wisp copied to clipboard
IndexError: tensors used as indices must be long, byte or bool tensors
Hi,
I have been trying to run kaolin wisp on the lego synthetic data but I have this bug.
python app/nerf/main_nerf.py --dataset-path /media/phong/NEW_DATA/data/nerf_synthetic/hotdog/ --config app/nerf/configs/nerf_triplanar.yaml
loading data: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 100/100 [00:01<00:00, 78.85it/s]
/home/phong/miniconda3/envs/wisp/lib/python3.9/site-packages/torch/functional.py:478: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:2894.)
return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]
2023-02-06 12:58:56,427| INFO| Active LODs: [5, 6, 7, 8]
2023-02-06 12:58:56,434| INFO| # Feature Vectors: 3168144
2023-02-06 12:58:56,459| INFO| Info:
```{ 'dataset': { 'bg_color': 'black',
'dataloader_num_workers': 0,
'dataset_num_workers': -1,
'dataset_path': '/media/phong/NEW_DATA/data/nerf_synthetic/hotdog/',
'mip': 2,
'multiview_dataset_format': 'standard',
'num_rays_sampled_per_img': 4096},
'grid': { 'base_lod': 5,
'blas_level': 7,
'blas_type': 'octree',
'codebook_bitwidth': 8,
'feature_bias': 0.0,
'feature_dim': 4,
'feature_std': 0.01,
'grid_type': 'TriplanarGrid',
'interpolation_type': 'linear',
'max_grid_res': 2048,
'min_grid_res': 16,
'multiscale_type': 'sum',
'num_lods': 4,
'prune_density_decay': 0.6,
'prune_min_density': 2.956033378250884,
'tree_type': 'geometric'},
'logging': {'exp_name': 'test-nerf', 'log_level': 20, 'perf': False},
'nef': { 'activation_type': 'relu',
'hidden_dim': 64,
'layer_type': 'none',
'num_layers': 1,
'pos_embedder': 'none',
'pos_multires': 10,
'position_input': False,
'view_embedder': 'positional',
'view_multires': 4},
'optimizer': { 'eps': 1e-08,
'grid_lr_weight': 100.0,
'lr': 0.001,
'optimizer_type': 'rmsprop',
'rgb_loss': 1.0,
'weight_decay': 0},
'optional arguments': { 'config': 'app/nerf/configs/nerf_triplanar.yaml',
'help': None,
'profile': False},
'positional arguments': {},
'renderer': { 'camera_clamp': [0, 10],
'camera_fov': 30,
'camera_lookat': [0, 0, 0],
'camera_origin': [-3.0, 0.65, -3.0],
'camera_proj': 'persp',
'render_batch': 4000,
'render_res': [1024, 1024]},
'tracer': {'num_steps': 512, 'raymarch_type': 'voxel'},
'trainer': { 'batch_size': 1,
'epochs': 50,
'grow_every': -1,
'growth_strategy': 'increase',
'log_dir': '_results/logs/runs/',
'log_tb_every': 5,
'model_format': 'full',
'only_last': False,
'pretrained': None,
'prune_every': -1,
'random_lod': False,
'render_tb_every': -1,
'resample': False,
'resample_every': 1,
'save_as_new': False,
'save_every': -1,
'valid_every': -1,
'valid_only': False,
'wandb_entity': None,
'wandb_project': None,
'wandb_run_name': None,
'wandb_viz_nerf_angles': 20,
'wandb_viz_nerf_distance': 3}}```
2023-02-06 12:58:56,460| INFO| Training on /media/phong/NEW_DATA/data/nerf_synthetic/hotdog/
2023-02-06 12:58:56,460| INFO| Total number of parameters: 1065095
2023-02-06 12:58:56,460| INFO| Using NVIDIA GeForce RTX 2080 Ti with CUDA v11.3
2023-02-06 12:58:56,464| INFO| No OpenGL_accelerate module loaded: No module named 'OpenGL_accelerate'
[i] Using PYGLFW_IMGUI (GL 2.1)
2023-02-06 12:58:57,224| INFO| [i] Using PYGLFW_IMGUI (GL 2.1)
[i] Running at 60 frames/second
2023-02-06 12:58:57,236| INFO| [i] Running at 60 frames/second
/home/phong/miniconda3/envs/wisp/lib/python3.9/site-packages/kaolin/render/spc/raytrace.py:121: UserWarning: mark_first_hit has been deprecated, please use mark_pack_boundaries instead
warnings.warn("mark_first_hit has been deprecated, please use mark_pack_boundaries instead")
Traceback (most recent call last):
File "/home/phong/data/Work/Code/kaolin-wisp/app/nerf/main_nerf.py", line 494, in <module>
app.run() # Run in interactive mode
File "/home/phong/data/Work/Code/kaolin-wisp/wisp/renderer/app/wisp_app.py", line 243, in run
app.run() # App clock should always run as frequently as possible (background tasks should not be limited)
File "/home/phong/miniconda3/envs/wisp/lib/python3.9/site-packages/glumpy/app/__init__.py", line 362, in run
run(duration, framecount)
File "/home/phong/miniconda3/envs/wisp/lib/python3.9/site-packages/glumpy/app/__init__.py", line 344, in run
count = __backend__.process(dt)
File "/home/phong/miniconda3/envs/wisp/lib/python3.9/site-packages/glumpy/app/window/backends/backend_glfw_imgui.py", line 448, in process
window.dispatch_event('on_draw', dt)
File "/home/phong/miniconda3/envs/wisp/lib/python3.9/site-packages/glumpy/app/window/event.py", line 396, in dispatch_event
if getattr(self, event_type)(*args):
File "/home/phong/data/Work/Code/kaolin-wisp/wisp/renderer/app/wisp_app.py", line 519, in on_draw
self.render() # Render objects uploaded to GPU
File "/home/phong/miniconda3/envs/wisp/lib/python3.9/site-packages/torch/autograd/grad_mode.py", line 27, in decorate_context
return func(*args, **kwargs)
File "/home/phong/data/Work/Code/kaolin-wisp/wisp/renderer/app/wisp_app.py", line 487, in render
img, depth_img = self.render_canvas(self.render_core, dt, self.canvas_dirty)
File "/home/phong/data/Work/Code/kaolin-wisp/wisp/renderer/app/wisp_app.py", line 378, in render_canvas
renderbuffer = render_core.render(time_delta, force_render)
File "/home/phong/miniconda3/envs/wisp/lib/python3.9/site-packages/torch/autograd/grad_mode.py", line 27, in decorate_context
return func(*args, **kwargs)
File "/home/phong/data/Work/Code/kaolin-wisp/wisp/renderer/core/render_core.py", line 210, in render
rb = self._render_payload(payload, force_render)
File "/home/phong/data/Work/Code/kaolin-wisp/wisp/renderer/core/render_core.py", line 309, in _render_payload
rb = renderer.render(in_rays)
File "/home/phong/data/Work/Code/kaolin-wisp/wisp/renderer/core/renderers/radiance_pipeline_renderer.py", line 55, in render
rb += self.tracer(self.nef,
File "/home/phong/miniconda3/envs/wisp/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "/home/phong/data/Work/Code/kaolin-wisp/wisp/tracers/base_tracer.py", line 154, in forward
rb = self.trace(nef, rays, requested_channels, requested_extra_channels, **input_args)
File "/home/phong/data/Work/Code/kaolin-wisp/wisp/tracers/packed_rf_tracer.py", line 125, in trace
ridx_hit = ridx[boundary]
IndexError: tensors used as indices must be long, byte or bool tensors
Hi @phongnhhn92! Just noticed this as well. I just merged a fix with #114 , can you please pull & try again?