Open DHHWILL opened 2 weeks ago
请问您能提供更详细一点的信息吗?比如命令行命令以及配置文件等
对不起,是我提供的信息不全面,我用了/example/目录下的图片做测试,通过python TeethDreamer.py -b configs/TeethDreamer.yaml 等正常生成了多视角图片1832_lower_cond_000_000_000_000.png,但是在第六步步使用Neus方法时python run.py --img E:\mycode\TeethDreamer-main\output\1832_lower_cond_000_000_000_000.png --cpu 4 --dir E:\mycode\TeethDreamer-main\output\out --normal --rembg,出现了ZeroDivisionError: division by zero的除零错误,我又返回使用了第五步生成了0.jpg图片,也仍然是这个错误。配置文件和模型文件等均没有修改
File "E:\TeethDreamer-main\instant-nsr-pl\systems\neus.py", line 129, in training_step
train_num_rays = int(self.train_num_rays * (self.train_num_samples / out['num_samples_full'].sum().item()))
ZeroDivisionError: division by zero
请问您是使用第五步手动将16张的新视角图片前景给抠出来了吗?如果所有前景都是完整的,按道理应该不会出现这种问题。这一问题一般是由于图片都是背景或者对应相机视角不匹配导致采样点均为背景所产生的。
是的,我使用第五步将新视角的前景扣出生成了一张新的图片,但是不管是 命令行为 python TeethDreamer.py -b configs/TeethDreamer.yaml --gpus 0 --test ckpt/TeethDreamer.ckpt --output E:\TeethDreamer-main\output data.params.test_dir=E:\TeethDreamer-main\output\segment 生成多视角图片后手动抠图生成0.png python seg_foreground.py --img E:\TeethDreamer-main\output/oral_lower_cond_000_000_000_000.png --seg E:\TeethDreamer-main\output\seg/0.png
后 python run.py --img E:\TeethDreamer-main\output\seg/0.png --cpu 4 --dir E:\TeethDreamer-main\output\reconstruction --normal --rembg 出现 File "E:\TeethDreamer-main\instant-nsr-pl\systems\neus.py", line 130, in training_step train_num_rays = int(self.train_num_rays * (self.train_num_samples / out['num_samples_full'].sum().item())) ZeroDivisionError: division by zero
如果您手动抠出前景了,在命令行中就不需要加--rembg选项了。
我尝试删除了--rembg,仍然出现了相同的错误,然后我将第四步生成的oral_lower_cond_000_000_000_000.png输入到命令行中并且加上了--rembg选项 python run.py --img E:\TeethDreamer-main\output\seg/oral_lower_cond_000_000_000_000.png --cpu 4 --dir E:\TeethDreamer-main\output\reconstruction --normal --rembg 也是相同的错误 File "E:\Installed\anaconda3.8\envs\TeethDreamer\lib\site-packages\pytorch_lightning\overrides\base.py", line 98, in forward output = self._forward_module.training_step(*inputs, *kwargs) File "E:\TeethDreamer-main\instant-nsr-pl\systems\neus.py", line 130, in training_step train_num_rays = int(self.train_num_rays (self.train_num_samples / out['num_samples_full'].sum().item())) ZeroDivisionError: division by zero 我测试了upper和lower的图片,错误也完全一致
以下是/reconstruction/0/下的文件 train test val
看上去前景已经抠出,代码中 def training_step(self, batch, batch_idx): out = self(batch) loss = 0.
if self.config.model.dynamic_ray_sampling:
train_num_rays = int(self.train_num_rays * (self.train_num_samples / out['num_samples_full'].sum().item()))
其中out['num_samples_full']为0,不知道来源于哪里 希望得到您的解答,谢谢!
Sorry, I attend MICCAI2024 recently so the response may be late. In your case, the filename of manually segmented images in step 5 must include 'lower' or 'upper' letters which determines their camera poses.
抱歉多次打扰您,我按照您所说更改了图片名称后依然存在相同的问题
python run.py --img E:\TeethDreamer-main\output\seg/lower.png --cpu 4 --dir E\TeethDreamer-main\output\reconstruction --normal
而后我尝试不使用第五步、不修改文件名称从头走一遍流程
python run.py --img E:\TeethDreamer-main\output\1832_lower_cond_000_000_000_000.png --cpu 4 --dir E:\TeethDreamer-main\output\reconstruction --normal --rembg
依然是相同的问题
然后我尝试更改文件后缀如.jpg/.webp等也没有解决这个问题。
以下是完整的日志信息
(TeethDreamer) E:\TeethDreamer-main\instant-nsr-pl>python run.py --img E:\TeethDreamer-main\output\seg/lower.png --cpu 4 --dir E:\TeethDreamer-main\output\reconstruction --normal
Traceback (most recent call last):
File "tools.py", line 155, in Trainer(limit_train_batches=1.0)
was configured so 100% of the batches per epoch will be used..
Trainer(limit_val_batches=1)
was configured so 1 batch will be used.
LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0]
fatal: not a git repository (or any of the parent directories): .git
E:\TeethDreamer-main\instant-nsr-pl\utils\callbacks.py:76: UserWarning: Code snapshot is not saved. Please make sure you have git installed and are in a git repository.
rank_zero_warn("Code snapshot is not saved. Please make sure you have git installed and are in a git repository.")
14.0 M Trainable params
0 Non-trainable params
14.0 M Total params
27.955 Total estimated model params size (MB)
E:\Installed\anaconda3.8\envs\TeethDreamer\lib\site-packages\lightning_fabric\loggers\csv_logs.py:183: UserWarning: Experiment logs directory E:\TeethDreamer-main\output\reconstruction\lower\neus\csv_logs exists and is not empty. Previous log files in this directory will be deleted when the new ones are saved!
rank_zero_warn(
Traceback (most recent call last):
File "launch.py", line 129, in
希望得到您的帮助,谢谢!
您好,根据您给的操作步骤执行,使用样例的数据时遇到了以下错误 [W C:\cb\pytorch_1000000000000\work\torch\csrc\CudaIPCTypes.cpp:15] Producer process has been terminated before all shared CUDA tensors released. See Note [Sharing CUDA tensors],然而我的设备是单卡,同时我并没有用过并行训练方法。是否是strategy = 'ddp_find_unused_parameters_false'的问题?但是我没有很好的解决方法 请问需要如何解决呢?期待您的回复,谢谢!