gapszju / 3DGS-DR

3D Gaussian Splatting with Deferred Reflection
78 stars 5 forks source link

RuntimeError: CUDA out of memory. #7

Open liweiqi11111 opened 2 months ago

liweiqi11111 commented 2 months ago

i encountered the RuntimeError(CUDA out of memory) when trying to reproduce "python -u train.py -s /home/weiqi/Project/data/ref_real/gardenspheres --eval --iterations 61000 --longer_prop_iter 36_000 --use_env_scope --env_scope_center -0.2270 1.9700 1.7740 --env_scope_radius 0.974" and "python -u train.py -s /home/weiqi/Project/data/ref_real/sedan --eval --iterations 61000 --longer_prop_iter 36_000 --use_env_scope --env_scope_center -0.032 0.808 0.751 --env_scope_radius 2.138" with a RTX 4090 GPU. Is 24 GB VRAM not enough?

YessionCC commented 1 month ago

You can use 1/4 or 1/8 resized resolution.

dogyoonlee commented 1 month ago

I also have same problem. The command used for training is

python -u train.py -s data/ref_nerf/ref_real/gardenspheres --eval --iterations 61000  --longer_prop_iter 36_000 --use_env_scope --env_scope_center -0.2270 1.9700 1.7740 --env_scope_radius 0.974 --exp_date 240726 --exp_name gardenspheres_default --resolution 4

I set "args.resolution" as 4, there is a error that have no HWK values for camera instance like below.

Traceback (most recent call last):
  File "train.py", line 308, in <module>
    training(lp.extract(args), op.extract(args), pp.extract(args), args.test_iterations, args.save_iterations, args.checkpoint_iterations, args.start_checkpoint, args.debug_from)
  File "train.py", line 58, in training
    scene = Scene(dataset, gaussians) # init all parameters(pos,scale,rot...) from pcds
  File "/home/mvpserver7/dogyoon/3DGS_DR_diff_c7_revised/scene/__init__.py", line 83, in __init__
    self.train_cameras[resolution_scale] = cameraList_from_camInfos(scene_info.train_cameras, resolution_scale, args)
  File "/home/mvpserver7/dogyoon/3DGS_DR_diff_c7_revised/utils/camera_utils.py", line 75, in cameraList_from_camInfos
    camera_list.append(loadCam(args, id, c, resolution_scale))
  File "/home/mvpserver7/dogyoon/3DGS_DR_diff_c7_revised/utils/camera_utils.py", line 69, in loadCam
    data_device=args.data_device, HWK=HWK, gt_refl_mask=refl_msk)
UnboundLocalError: local variable 'HWK' referenced before assignment

by the way, How much memory is needed to run the gardenspheres scene in 'ref_real' dataset? I use RTX3090 which have 24GB memory, but still lack of CUDA memory.

In addition, what is the resolution of the images attached as the experimental results in your paper?

I hope your reply.

YessionCC commented 1 month ago

You can rename 'images_4' to 'images' to avoid using the 'resolution' command. We use 1/8 resolution for 'sedan', and 1/4 resolution for other real scenes.

dogyoonlee commented 1 month ago

@YessionCC Thank you for your reply! However, isn't it necessary to modify the camera extrinsic K for downscaled resolution?

YessionCC commented 1 month ago

You don't need to scale K, because our code has implemented it.

dogyoonlee commented 1 month ago

@YessionCC Oh thank you again!

Lastly, could you let me know the used resolution of each dataset additionally?

YessionCC commented 1 month ago

The used resolution for Ref synthetic and Glossy synthetic are all 800*800. We do not resize them.