thu-ml / prolificdreamer

ProlificDreamer: High-Fidelity and Diverse Text-to-3D Generation with Variational Score Distillation (NeurIPS 2023 Spotlight)
https://ml.cs.tsinghua.edu.cn/prolificdreamer/
Apache License 2.0
1.47k stars 44 forks source link

RuntimeError: instance mode - pos must have shape [>0, >0, 4] #12

Open caishuo-C opened 10 months ago

caishuo-C commented 10 months ago

When I run stage2 command, I get the following error. How can I solve it?

command: CUDA_VISIBLE_DEVICES=1 python main.py --text "A pineapple." --iters 15000 --scale 100 --dmtet --mesh_idx 0 --init_ckpt exp-nerf-stage1/2023-12-07-A-pineapple.-scale-7.5-lr-0.001-albedo-le-10.0-render-512-cube-sd-2.1-5000-tet-256/checkpoints/df_ep0020.pth --normal True --sds True --density_thresh 0.1 --lambda_normal 5000 --workspace exp-dmtet-stage2/

output: Traceback (most recent call last):
File "main.py", line 282, in
trainer.train(train_loader, valid_loader, max_epoch)
File "/data/caishuo/3D_generation/prolificdreamer/nerf/utils.py", line 899, in train
self.train_one_epoch(train_loader)
File "/data/caishuo/3D_generation/prolificdreamer/nerf/utils.py", line 1080, in train_one_epoch
pred_rgbs, pred_depths, loss, pseudo_loss, latents, shading = self.train_step(data)
File "/data/caishuo/3D_generation/prolificdreamer/nerf/utils.py", line 653, in train_step
outputs = self.model.render(rays_o, rays_d, mvp, H, W, staged=False, light_d= light_d,perturb=True, bg_color=bg_color, ambient_ratio=ambient_ratio, shading=sha ding, binarize=binarize)
File "/data/caishuo/3D_generation/prolificdreamer/nerf/renderer.py", line 977, in render
results = self.run_dmtet(rays_d, mvp, h, w, *kwargs)
File "/data/caishuo/3D_generation/prolificdreamer/nerf/renderer.py", line 857, in run_dmtet
rast, rast_db = dr.rasterize(self.glctx, verts_clip, faces, (h, w))
File "/data/caishuo/miniconda3/envs/prolificdreamer/lib/python3.8/site-packages/nvdiffrast/torch/ops.py", line 310, in rasterize
return _rasterize_func.apply(glctx, pos, tri, resolution, ranges, grad_db, -1)
File "/data/caishuo/miniconda3/envs/prolificdreamer/lib/python3.8/site-packages/torch/autograd/function.py", line 506, in apply
return super().apply(
args, **kwargs) # type: ignore[misc]
File "/data/caishuo/miniconda3/envs/prolificdreamer/lib/python3.8/site-packages/nvdiffrast/torch/ops.py", line 248, in forward
out, out_db = _get_plugin().rasterize_fwd_cuda(raster_ctx.cpp_wrapper, pos, tri, resolution, ranges, peeling_idx)
RuntimeError: instance mode - pos must have shape [>0, >0, 4]

Terry1824 commented 6 months ago

When I run stage2 command, I get the following error. How can I solve it?

command: CUDA_VISIBLE_DEVICES=1 python main.py --text "A pineapple." --iters 15000 --scale 100 --dmtet --mesh_idx 0 --init_ckpt exp-nerf-stage1/2023-12-07-A-pineapple.-scale-7.5-lr-0.001-albedo-le-10.0-render-512-cube-sd-2.1-5000-tet-256/checkpoints/df_ep0020.pth --normal True --sds True --density_thresh 0.1 --lambda_normal 5000 --workspace exp-dmtet-stage2/

output: Traceback (most recent call last): File "main.py", line 282, in trainer.train(train_loader, valid_loader, max_epoch) File "/data/caishuo/3D_generation/prolificdreamer/nerf/utils.py", line 899, in train self.train_one_epoch(train_loader) File "/data/caishuo/3D_generation/prolificdreamer/nerf/utils.py", line 1080, in train_one_epoch pred_rgbs, pred_depths, loss, pseudo_loss, latents, shading = self.train_step(data) File "/data/caishuo/3D_generation/prolificdreamer/nerf/utils.py", line 653, in train_step outputs = self.model.render(rays_o, rays_d, mvp, H, W, staged=False, light_d= light_d,perturb=True, bg_color=bg_color, ambient_ratio=ambient_ratio, shading=sha ding, binarize=binarize) File "/data/caishuo/3D_generation/prolificdreamer/nerf/renderer.py", line 977, in render results = self.run_dmtet(rays_d, mvp, h, w, *kwargs) File "/data/caishuo/3D_generation/prolificdreamer/nerf/renderer.py", line 857, in run_dmtet rast, rast_db = dr.rasterize(self.glctx, verts_clip, faces, (h, w)) File "/data/caishuo/miniconda3/envs/prolificdreamer/lib/python3.8/site-packages/nvdiffrast/torch/ops.py", line 310, in rasterize return _rasterize_func.apply(glctx, pos, tri, resolution, ranges, grad_db, -1) File "/data/caishuo/miniconda3/envs/prolificdreamer/lib/python3.8/site-packages/torch/autograd/function.py", line 506, in apply return super().apply(args, **kwargs) # type: ignore[misc] File "/data/caishuo/miniconda3/envs/prolificdreamer/lib/python3.8/site-packages/nvdiffrast/torch/ops.py", line 248, in forward out, out_db = _get_plugin().rasterize_fwd_cuda(raster_ctx.cpp_wrapper, pos, tri, resolution, ranges, peeling_idx) RuntimeError: instance mode - pos must have shape [>0, >0, 4]

Hello, I met the same problem, Did you fix it?