NarcissusEx / CuNeRF

[ICCV2023] CuNeRF: Cube-Based Neural Radiance Field for Zero-Shot Medical Image Arbitrary-Scale Super Resolution
https://narcissusex.github.io/CuNeRF/
MIT License
33 stars 2 forks source link

RuntimeError: Expected a 'cuda' device type for generator but found 'cpu' #8

Open CunminZhao opened 3 months ago

CunminZhao commented 3 months ago

when i run the "bash example_train.sh",it reports that"Traceback (most recent call last): File "/home/zhaolab/zcm/CuNeRF/run.py", line 137, in globals()args.mode File "/home/zhaolab/zcm/CuNeRF/run.py", line 57, in train for batch in cfg.trainloader: File "/home/zhaolab/miniconda3/envs/cunerf/lib/python3.9/site-packages/torch/utils/data/dataloader.py", line 630, in next data = self._next_data() File "/home/zhaolab/miniconda3/envs/cunerf/lib/python3.9/site-packages/torch/utils/data/dataloader.py", line 673, in _next_data index = self._next_index() # may raise StopIteration File "/home/zhaolab/miniconda3/envs/cunerf/lib/python3.9/site-packages/torch/utils/data/dataloader.py", line 620, in _next_index return next(self._sampler_iter) # may raise StopIteration File "/home/zhaolab/miniconda3/envs/cunerf/lib/python3.9/site-packages/torch/utils/data/sampler.py", line 283, in iter for idx in self.sampler: File "/home/zhaolab/miniconda3/envs/cunerf/lib/python3.9/site-packages/torch/utils/data/sampler.py", line 165, in iter yield from map(int, torch.randperm(n, generator=generator).numpy()) RuntimeError: Expected a 'cuda' device type for generator but found 'cpu' 0%| | 1/200000 [00:00<?, ?it/s]"I'm not sure if this is an issue with your code or my problem.

CunminZhao commented 3 months ago

this error can be fixed by add "generator=torch.Generator(device='cuda')" to dataloader in src/config.py/line_65, thanks

TFengXu commented 3 weeks ago

src/config.py/line_65 :setattr(self, f'{mode}loader', DataLoader(getattr(self, f'{mode}set'), **cfg[mode])) where should I add "generator=torch.Generator(device='cuda')"