Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于进行test指令运行遇到错误 #10

Open
king-huoye opened this issue Jan 20, 2024 · 9 comments
Open

关于进行test指令运行遇到错误 #10

king-huoye opened this issue Jan 20, 2024 · 9 comments

Comments

@king-huoye
Copy link

我在运行该指令:python Dehazing/test.py --size 'L' --input_dir '/data/Dense-Haze/Test/Haze' --target_dir '/data/Dense-Haze/Test/GT' --result_dir 'pre_process_Dense' --weights 'Dehazing/pretrai
ned_models/densehaze-MB-TaylorFormer-L.pth'

出现了这样的结果:===>Testing using weights: Dehazing/pretrained_models/densehaze-MB-TaylorFormer-L.pth
C:\ProgramData\Anaconda3\envs\taylor\lib\site-packages\torch\cuda_init_.py:104: UserWarning:
NVIDIA GeForce RTX 4090 with CUDA capability sm_89 is not compatible with the current PyTorch installation.
The current PyTorch install supports CUDA capabilities sm_37 sm_50 sm_60 sm_61 sm_70 sm_75 compute_37.
If you want to use the NVIDIA GeForce RTX 4090 GPU with PyTorch, please check the instructions at https://pytorch.org/get-started/locally/

warnings.warn(incompatible_device_warn.format(device_name, capability, " ".join(arch_list), device_name))
0it [00:00, ?it/s]
C:\ProgramData\Anaconda3\envs\taylor\lib\site-packages\numpy\core\fromnumeric.py:3441: RuntimeWarning: Mean of empty slice.
out=out, **kwargs)
C:\ProgramData\Anaconda3\envs\taylor\lib\site-packages\numpy\core_methods.py:189: RuntimeWarning: invalid value encountered in double_scalars
ret = ret.dtype.type(ret / rcount)
final PSNR: nan final SSIM: nan
请问该如何解决呢

@snowy-land
Copy link

您好,请问您现在解决了吗?我也遇到了同样的问题

@raindrop313
Copy link
Collaborator

raindrop313 commented Mar 7, 2024

@king-huoye @snowy-land 可能是由于您所使用的pytoch版本较旧,据我所知4090不支持一些老版本的pytorch,建议安装新的pytorch版本,或是使用老的显卡。
可以参考下这个帖子:‘discuss.pytorch.org/t/pytorch-not-working-with-nvidia-4090/173054‘

@snowy-land
Copy link

@raindrop313 谢谢您,我在更换到3090并更改环境版本后解决了第一个问题算力匹配的问题。但是我运行了指令:python Dehazing/test.py --size 'L' --input_dir '/data/Dense-Haze/Test/Haze' --target_dir '/data/Dense-Haze/Test/GT' --result_dir '/data/Dense-Haze/pre_process_Dense' --weights 'Dehazing/pretrained_models/densehaze-MB-TaylorFormer-L.pth'

之后出现了这样的结果:
===>Testing using weights: Dehazing/pretrained_models/densehaze-MB-TaylorFormer-L.pth
0it [00:00, ?it/s]
/root/miniconda3/envs/pytorch181/lib/python3.7/site-packages/numpy/core/fromnumeric.py:3441: RuntimeWarning: Mean of empty slice.
out=out, **kwargs)
/root/miniconda3/envs/pytorch181/lib/python3.7/site-packages/numpy/core/_methods.py:189: RuntimeWarning: invalid value encountered in double_scalars
ret = ret.dtype.type(ret / rcount)
final PSNR: nan final SSIM: nan
请问这要怎么解决呢

@raindrop313
Copy link
Collaborator

raindrop313 commented Mar 7, 2024

因为SOTS数据集和densehaze数据集命名不太相同,如果你是想在densehaze上面推理的话,可以尝试修改test.py中的这个代码:
’target=np.float32(utils.load_img(os.path.join(target_dir,file_.split('/')[-1])))/255.‘
改成如下形式:
’target=np.float32(utils.load_img(os.path.join(target_dir,file_.split('/')[-1].split('_')[0]+'_GT.png')))/255.‘
可以尝试下能否解决你的问题
@snowy-land

@king-huoye
Copy link
Author

@raindrop313 不过我装的pytorch是官网最新的那个118的那个,我最近在忙别的,我晚一点根据你的意见试一下哈

@snowy-land
Copy link

snowy-land commented Mar 8, 2024

@raindrop313 十分感谢您抽出时间回复我。我还想请教下我在用ITS数据集训练时运行指令“sh train.sh Dehazing/Options/MB-TaylorFormer-L.yml”后,出现了这样的结果:
Traceback (most recent call last):
File "basicsr/train.py", line 325, in
main()
File "basicsr/train.py", line 186, in main
model = create_model(opt)
File "/root/autodl-tmp/project/Restormer/basicsr/models/init.py", line 38, in create_model
model = model_cls(opt)
File "/root/autodl-tmp/project/Restormer/basicsr/models/image_restoration_model.py", line 65, in init
self.net_g = define_network(deepcopy(opt['network_g']))
File "/root/autodl-tmp/project/Restormer/basicsr/models/archs/init.py", line 45, in define_network
net = dynamic_instantiation(_arch_modules, network_type, opt)
File "/root/autodl-tmp/project/Restormer/basicsr/models/archs/init.py", line 39, in dynamic_instantiation
raise ValueError(f'{cls_type} is not found.')
ValueError: MB_TaylorFormer is not found.

之后我将train.sh的pretrain_network_g修改到了ITS-MB-TaylorFormer-L.pth的路径,但还是有这个报错

@raindrop313
Copy link
Collaborator

raindrop313 commented Mar 8, 2024

你的环境的根路径是不是放在restormer文件夹下面了?打开MB_TaylorFormer的文件夹,然后:

python setup.py develop --no_cuda_ext

试下能否解决。
这个问题不是权重路径不对引起的,二十basicsr在初始化时没有找到MB_TaylorFormer.py的路径
@snowy-land

@snowy-land
Copy link

@raindrop313 非常感谢您这么晚还回复我,在执行您所说的操作后我的问题解决了,谢谢

@snowy-land
Copy link

@raindrop313 您好,我想再次请教下要如何在训练时输出SSIM呢

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants