问题1:
from skimage.measure import compare_psnr as psnr
from skimage.measure import compare_ssim as ssim
AttributeError: module 'skimage.measure' has no attribute 'compare_psnr' 报错
AttributeError: module 'skimage.measure' has no attribute 'compare_ssim' 报错
解决:改为
from skimage.metrics import peak_signal_noise_ratio as psnr
from skimage.metrics import structural_similarity as ssim
问题2:FileNotFoundError: [Errno 2] No such file or directory: '././model/CS_ISTA_Net_plus_layer_9_group_1_ratio_1_lr_0.0001/net_params_160.pkl'
解决:
parser.add_argument('--epoch_num', type=int, default=160, help='epoch number of model')
改为
parser.add_argument('--epoch_num', type=int, default=200, help='epoch number of model')
问题3:改成cpu测试运行时间,提示RuntimeError: module must have its parameters and buffers on device cuda:0 (device_ids[0]) but found one of them on device: cpu
解决:转换保存模型结构,去除module
import torch
def change_feature(check_point):
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
check_point = torch.load(check_point, map_location=device)
import collections
dicts = collections.OrderedDict()
for k, value in check_point.items():
print("names:{}".format(k)) # 打印结构
print("shape:{}".format(value.size()))
if "module" in k: # 去除命名中的module
k = k.split(".")[1:]
k = ".".join(k)
print (k)
dicts[k] = value
torch.save(dicts, "E:\cs\ISTA-Net-PyTorch-master\model\CS_ISTA_Net_plus_layer_9_group_1_ratio_1_lr_0.0001u_net_params_200.pkl")
if __name__ == "__main__":
model_path = "E:\cs\ISTA-Net-PyTorch-master\model\CS_ISTA_Net_plus_layer_9_group_1_ratio_1_lr_0.0001/net_params_200.pkl"
change_feature(model_path)
参考https://blog.csdn.net/qq_39852676/article/details/106928329