You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This feature improved more quality(good PSNR then nvdiffrec), but therunning failed on optimization phase.
So, could you please give me some suggestion about if it is bug or my wrong configuration?
The running GPU cost is noly a half of total GPU memory, but the optimazation step failed to allocate GPU memory resource.
Yes, you are running out of memory. Try nvidia-smi --query-gpu=memory.used --format=csv -lms 100 in a second prompt to log memory usage more frequently.
On a 24 GB GPU, you likely need to reduce the "train_res", further.
Hello,
Thanks for your great work on nvdiffrec!
This feature improved more quality(good PSNR then nvdiffrec), but therunning failed on optimization phase.
So, could you please give me some suggestion about if it is bug or my wrong configuration?
The running GPU cost is noly a half of total GPU memory, but the optimazation step failed to allocate GPU memory resource.
GPU Hardware: RTX 3090(24G)
GPU Running cost:
C:\Users\jinshui>nvidia-smi.exe
Tue Oct 11 10:59:11 2022
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 512.77 Driver Version: 512.77 CUDA Version: 11.6 |
|-------------------------------+----------------------+----------------------+
| GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... WDDM | 00000000:01:00.0 On | N/A |
| 58% 68C P2 161W / 350W | 12548MiB / 24576MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
Image resolution: 2976 X 2976
Configuration file:
{
"ref_mesh": "data/nerf_synthetic/xxx",
"random_textures": true,
"iter": 9000,
"save_interval": 100,
"texture_res": [ 2048, 2048 ],
"train_res": [1408, 1408],
"batch": 1,
"learning_rate": [0.05, 0.003],
"dmtet_grid" : 128,
"mesh_scale" : 2.5,
"validate" : true,
"n_samples" : 10,
"denoiser" : "bilateral",
"laplace_scale" : 3000,
"display": [{"latlong" : true}, {"bsdf" : "kd"}, {"bsdf" : "ks"}, {"bsdf" : "normal"}],
"background" : "white",
"transparency" : true,
"out_dir": "nerf_xxx"
}
Console error:
Running validation
MSE, PSNR
0.00557304, 22.581
kd shape torch.Size([1, 2048, 2048, 4])
Cuda path C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4
End of OptiXStateWrapper
Base mesh has 75052 triangles and 37853 vertices.
Avg edge length: 0.023254
OptiXStateWrapper destructor
Writing mesh: out/nerf_jianlong\dmtet_mesh/mesh.obj
writing 37853 vertices
writing 67605 texcoords
writing 37853 normals
writing 75052 faces
Writing material: out/nerf_jianlong\dmtet_mesh/mesh.mtl
Done exporting mesh
Traceback (most recent call last):
File "D:\zhansheng\proj\windows\3d\nvdiffrecmc\train.py", line 665, in
geometry, mat = optimize_mesh(denoiser, glctx, glctx_display, geometry, mat, lgt, dataset_train, dataset_validate, FLAGS,
File "D:\zhansheng\proj\windows\3d\nvdiffrecmc\train.py", line 424, in optimize_mesh
img_loss, reg_loss = geometry.tick(glctx, target, lgt, opt_material, image_loss_fn, it, FLAGS, denoiser)
File "D:\zhansheng\proj\windows\3d\nvdiffrecmc\geometry\dlmesh.py", line 65, in tick
buffers = render.render_mesh(FLAGS, glctx, opt_mesh, target['mvp'], target['campos'], target['light'] if lgt is None else lgt, target['resolution'],
File "D:\zhansheng\proj\windows\3d\nvdiffrecmc\render\render.py", line 327, in render_mesh
accum = composite_buffer(key, layers, torch.zeros_like(layers[0][0][key]), True)
File "D:\zhansheng\proj\windows\3d\nvdiffrecmc\render\render.py", line 290, in composite_buffer
accum = dr.antialias(accum.contiguous(), rast, v_pos_clip, mesh.t_pos_idx.int())
File "C:\Users\jinshui\anaconda3\envs\dmodel\lib\site-packages\nvdiffrast\torch\ops.py", line 702, in antialias
return _antialias_func.apply(color, rast, pos, tri, topology_hash, pos_gradient_boost)
File "C:\Users\jinshui\anaconda3\envs\dmodel\lib\site-packages\nvdiffrast\torch\ops.py", line 650, in forward
out, work_buffer = _get_plugin().antialias_fwd(color, rast, pos, tri, topology_hash)
RuntimeError: CUDA out of memory. Tried to allocate 62.00 MiB (GPU 0; 24.00 GiB total capacity; 19.61 GiB already allocated; 0 bytes free; 20.20 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
Regards
Zhansheng
The text was updated successfully, but these errors were encountered: