SuperBruceJia / NLNet-IQA

Non-local Modeling for Image Quality Assessment
MIT License
13 stars 1 forks source link

[Real-Testing] Size Mismatch for dis_type_linear2.weight #1

Closed gurwinderintel closed 11 months ago

gurwinderintel commented 1 year ago

Hi there, I am facing issue with real_testing.py throwing error, I have removed cuda() from Model as I don't have GPU, also I have added map_location=torch.device('cpu') to torch.load:

cmd used: python real_testing.py --model_file save_model/TID2013-32-4-1.pth --im_path 'test_images/cr7.jpg'

Models Used: Multiple TID, train*, LIVE

Error: Traceback (most recent call last): File "/home/AI/NLNet-IQA/real_testing.py", line 125, in run(args) File "/home/AI/NLNet-IQA/real_testing.py", line 35, in run model.load_state_dict(torch.load(args.model_file,map_location=torch.device('cpu'))) File "/opt/intel/oneapi/intelpython/latest/envs/pytorch-gpu/lib/python3.9/site-packages/torch/nn/modules/module.py", line 2041, in load_state_dict raise RuntimeError('Error(s) in loading state_dict for {}:\n\t{}'.format( RuntimeError: Error(s) in loading state_dict for Network: size mismatch for dis_type_linear2.weight: copying a param with shape torch.Size([24, 512]) from checkpoint, the shape in current model is torch.Size([6, 512]). size mismatch for dis_type_linear2.bias: copying a param with shape torch.Size([24]) from checkpoint, the shape in current model is torch.Size([6]).

SuperBruceJia commented 1 year ago

Hi there, I am facing issue with real_testing.py throwing error, I have removed cuda() from Model as I don't have GPU, also I have added map_location=torch.device('cpu') to torch.load:

cmd used: python real_testing.py --model_file save_model/TID2013-32-4-1.pth --im_path 'test_images/cr7.jpg'

Models Used: Multiple TID, train*, LIVE

Error: Traceback (most recent call last): File "/home/AI/NLNet-IQA/real_testing.py", line 125, in run(args) File "/home/AI/NLNet-IQA/real_testing.py", line 35, in run model.load_state_dict(torch.load(args.model_file,map_location=torch.device('cpu'))) File "/opt/intel/oneapi/intelpython/latest/envs/pytorch-gpu/lib/python3.9/site-packages/torch/nn/modules/module.py", line 2041, in load_state_dict raise RuntimeError('Error(s) in loading state_dict for {}:\n\t{}'.format( RuntimeError: Error(s) in loading state_dict for Network: size mismatch for dis_type_linear2.weight: copying a param with shape torch.Size([24, 512]) from checkpoint, the shape in current model is torch.Size([6, 512]). size mismatch for dis_type_linear2.bias: copying a param with shape torch.Size([24]) from checkpoint, the shape in current model is torch.Size([6]).

Dear Gurwinder,

So sorry for the late response!

Also, so sorry for the wrong model for conducting the real testing! Here, please use the models trained on the CSIQ benchmark. I think I may upload the wrong model w.r.t. the TID-2013 benchmark. I will double-check it ASAP.

python real_testing.py --model_file 'save_model/CSIQ-32-4-1.pth' --im_path 'test_images/cr7.jpg'

If you have any other problems, please let me know!

Best regards,

Shuyue Nov 22, 2023

SuperBruceJia commented 1 year ago

Hi there, I am facing issue with real_testing.py throwing error, I have removed cuda() from Model as I don't have GPU, also I have added map_location=torch.device('cpu') to torch.load:

cmd used: python real_testing.py --model_file save_model/TID2013-32-4-1.pth --im_path 'test_images/cr7.jpg'

Models Used: Multiple TID, train*, LIVE

Error: Traceback (most recent call last): File "/home/AI/NLNet-IQA/real_testing.py", line 125, in run(args) File "/home/AI/NLNet-IQA/real_testing.py", line 35, in run model.load_state_dict(torch.load(args.model_file,map_location=torch.device('cpu'))) File "/opt/intel/oneapi/intelpython/latest/envs/pytorch-gpu/lib/python3.9/site-packages/torch/nn/modules/module.py", line 2041, in load_state_dict raise RuntimeError('Error(s) in loading state_dict for {}:\n\t{}'.format( RuntimeError: Error(s) in loading state_dict for Network: size mismatch for dis_type_linear2.weight: copying a param with shape torch.Size([24, 512]) from checkpoint, the shape in current model is torch.Size([6, 512]). size mismatch for dis_type_linear2.bias: copying a param with shape torch.Size([24]) from checkpoint, the shape in current model is torch.Size([6]).

Dear Gurwinder,

After double-checking, since there are 24 types of distortions in the TID-2013 benchmark, and in the codes, the selected database is CSIQ, which has 6 types of distortions (that caused errors).

As a result, you need to get the right number of distortion types by using: --database TID2013:

python real_testing.py --model_file 'save_model/TID2013-32-4-1.pth' --im_path 'test_images/cr7.jpg' --database TID2013
image

Dear Gurwinder, if you have any other questions or problems with the codes, please don't hesitate to ask me!

Best regards,

Shuyue Nov 22, 2023