city-super / BungeeNeRF

[ECCV22] BungeeNeRF: Progressive Neural Radiance Field for Extreme Multi-scale Scene Rendering
https://city-super.github.io/citynerf
MIT License
565 stars 61 forks source link

Can not run BungeeNeRF on RTX3080TI #26

Open ZiyangYan opened 1 year ago

ZiyangYan commented 1 year ago

Dear authors, When I run: python run_bungee.py --config configs/Transamerica.txt

it raise, NVIDIA GeForce RTX 3080 Ti with CUDA capability sm_86 is not compatible with the current PyTorch installation. The current PyTorch install supports CUDA capabilities sm_37 sm_50 sm_60 sm_70. If you want to use the NVIDIA GeForce RTX 3080 Ti GPU with PyTorch, please check the instructions at https://pytorch.org/get-started/locally/

warnings.warn(incompatible_device_warn.format(device_name, capability, " ".join(arch_list), device_name)) Traceback (most recent call last): File "run_bungee.py", line 634, in train() File "run_bungee.py", line 476, in train render_kwargs_train, render_kwargs_test, start_iter, total_iter, grad_vars, optimizer = create_nerf(args) File "run_bungee.py", line 120, in create_nerf embed_fn, input_ch = get_mip_embedder(args.multires, args.min_multires, args.i_embed, log_sampling=True) File "/media/zyan/sandiskSSD/NeRF_methods/BungeeNeRF-main/run_nerf_helpers.py", line 140, in get_mip_embedder embedder_obj = MipEmbedder(embed_kwargs) File "/media/zyan/sandiskSSD/NeRF_methods/BungeeNeRF-main/run_nerf_helpers.py", line 53, in init self.create_embedding_fn() File "/media/zyan/sandiskSSD/NeRF_methods/BungeeNeRF-main/run_nerf_helpers.py", line 68, in create_embedding_fn freq_bands_y = 2.torch.linspace(min_freq, max_freq, steps=N_freqs) RuntimeError: CUDA error: no kernel image is available for execution on the device CUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect. For debugging consider passing CUDA_LAUNCH_BLOCKING=1.

And when I updated my torch version to 1.12 or 1.13, it raise another error: Bungee_NeRF_block( (baseblock): Bungee_NeRF_baseblock( (pts_linears): ModuleList( (0): Linear(in_features=63, out_features=256, bias=True) (1): Linear(in_features=256, out_features=256, bias=True) (2): Linear(in_features=256, out_features=256, bias=True) (3): Linear(in_features=256, out_features=256, bias=True) ) (views_linear): Linear(in_features=283, out_features=128, bias=True) (feature_linear): Linear(in_features=256, out_features=256, bias=True) (alpha_linear): Linear(in_features=256, out_features=1, bias=True) (rgb_linear): Linear(in_features=128, out_features=3, bias=True) ) (resblocks): ModuleList() ) Found ckpts [] Traceback (most recent call last): File "run_bungeepy", line 634, in train() File "run_bungee.py", line 511, in train rays = np.stack([get_rays_np(H, W, focal, p) for p in poses], 0) File "run_bungeepy", line 511, in rays = np.stack([get_rays_np(H, W, focal, p) for p in poses], 0) File "/media/zyan/sandiskSSD/NeRF_methods/BungeeNeRF-main/run_nerf_helpers.py", line 231, in get_rays_np rays_d = np.sum(dirs[..., np.newaxis, :] * c2w[:3,:3], -1) *TypeError: unsupported operand type(s) for : 'numpy.ndarray' and 'Tensor'**.

Is it any solution about that?

ZiyangYan commented 1 year ago

I repeated the experiment on A40 GPU but the same problem occured