栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Meta-SR: A Magnification-Arbitrary Network for Super-Resolution 环境搭建 | ❤️测试简记❤️

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Meta-SR: A Magnification-Arbitrary Network for Super-Resolution 环境搭建 | ❤️测试简记❤️

  • 磊 版权: 本文由【墨理三生】原创、在CSDN首发、如需转载,请联系博主
  • ❤️ 如果文章对你有帮助、欢迎一键三连
  •  该博文仅对 meta-SR-Pytorch 代码,测试部分进行验证,记录相关问题排错

文章目录
    • 磊基础信息
    •  环境搭建
    •  预训练模型进行测试
        •  注意事项
        •  CPU 推理测试
        •  生成效果如下
        •  该博文测试代码分享
    •  可能遇到的重点报错
        •  `ModuleNotFoundError: No module named 'skimage'`
        •  `ModuleNotFoundError: No module named 'torch'`
        •  `RuntimeError: CUDNN_STATUS_EXECUTION_FAILED`
        •  `AttributeError: module 'scipy.misc' has no attribute 'imsave'`
    •  欢迎补充


磊基础信息
  • meta-SR: A Magnification-Arbitrary Network for Super-Resolution(CVPR2019)
  • meta-SR:用于超分辨率的任意放大倍数网络
  • https://arxiv.org/pdf/1903.00875.pdf
  • https://github.com/XuecaiHu/meta-SR-Pytorch

 环境搭建
  • 服务器:ubuntu1~18.04 Quadro RTX 5000 16G
  • CUDA版本 V10.0.130
  • 注意版本,这里安装 pytorch=0.4.0 和 torchvision==0.1.6

  • pytorch 的安装命令 官方链接
conda create -n torch04 python=3.6.6


conda activate torch04


conda install pytorch=0.4.0 -c pytorch

# 必须指定安装版本 -- 否则会自动升级 torch 版本

pip install torchvision==0.1.6


pip install matplotlib

pip install scipy

pip install opencv-python

pip install tqdm

pip install scikit-image


 预训练模型进行测试
 注意事项
  • 设定参数 --n_GPUs 1 时,意味着需要使用 GPU 进行模型加载和推理测试
  • 需要安装正确的 pytorch【gpu】 和 torchvision 版本 | Cuda 和 Cudnn 版本也需要适配
  • 猜测 合适的 Cuda 版本 应该是 Cuda 9.0 系列版本,有兴趣展开训练,可自行尝试
  • 该代码属2019年,研究价值有限,因此不再继续展开训练部分和代码解析
 CPU 推理测试
  • 我这里的 Cuda 版本是 10.0 ,只进行该代码的测试部分,因此 使用 CPU 进行 测试推理即可

  • 对 model_1000.pt 进行 CPU 测试推理效果如下

python main.py --model metardn --ext sep  --save metardn --cpu --batch_size 1 --test_only --data_test Set5 --pre_train  ./experiment/metardn/model/model_1000.pt  --save_results --scale 1.5

# 输出如下

[1.5]
./benchmark/Set5/HR
./benchmark/Set5/LR_bicubic
5
Making model...
Loading model from ./experiment/metardn/model/model_1000.pt
load_model_mode=1

evaluation:
[Set5 x1.5]     PSNR: 41.472 SSIM: 0.9785 (Best: 41.472 @epoch 1)
Total time: 54.99s

 生成效果如下


 该博文测试代码分享

测试代码 + model_1000.pt 分享 【本次测试,没有任何代码修改】

# 分享链接,有序自取,请勿外传

链接:https://pan.baidu.com/s/1rcVj4OJZqyWBy3MJPCQ9Ng 
提取码:1011

 可能遇到的重点报错
 ModuleNotFoundError: No module named 'skimage'
# 解决方法

pip install scikit-image
 ModuleNotFoundError: No module named 'torch'
# 执行该命令

 python main.py --model metardn --ext sep  --save metardn --n_GPUs 1 --batch_size 1 --test_only --data_test Set5 --pre_train  ./experiment/metardn/model/model_1000.pt  --save_results --scale 1.5

# 报错如下
 
Traceback (most recent call last):
  File "main.py", line 1, in 
    import torch
ModuleNotFoundError: No module named 'torch'

# 遇到这个问题,其实 torch 已经安装成功,只是环境暂时发生错乱

# 这里通过 进入 Python  交互 来查看当前使用的 Python 解释器版本即可发现

nvcc -V

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Sat_Aug_25_21:08:01_CDT_2018
Cuda compilation tools, release 10.0, V10.0.130


# 重新 activate 该环境,发现 Python 指向正常,该错误消失

conda deactivate

conda activate torch04

 RuntimeError: CUDNN_STATUS_EXECUTION_FAILED

这个问题,是因为当前 Cuda 版本 和 Cudnn 版本 不满足 pytorch=0.4.0 需求


盲猜,安装 Cuda 9.0 和 Cudnn7.x 能够解决这个问题,这里没有进行实测,如有同学对此有执念,欢迎验证之后,进行补充

python main.py --model metardn --ext sep  --save metardn --n_GPUs 1 --batch_size 1 --test_only --data_test Set5 --pre_train  ./experiment/metardn/model/model_1000.pt  --save_results --scale 1.5

# 报错如下

[1.5]
./benchmark/Set5/HR
./benchmark/Set5/LR_bicubic
5
Making model...
Loading model from ./experiment/metardn/model/model_1000.pt
load_model_mode=1

evaluation:
Traceback (most recent call last):
  File "main.py", line 18, in 
    while not t.terminate():
  File "/home/ml/project/project21Next/yoloDir/imgSR/meta-SR-Pytorch-0.4.0/trainer.py", line 269, in terminate
    self.test()
  File "/home/ml/project/project21Next/yoloDir/imgSR/meta-SR-Pytorch-0.4.0/trainer.py", line 218, in test
    sr = self.model(lr, idx_scale,scale_coord_map)

...

  File "/home/ml/anaconda3/envs/torch04/lib/python3.6/site-packages/torch/nn/modules/conv.py", line 301, in forward
    self.padding, self.dilation, self.groups)
    
RuntimeError: CUDNN_STATUS_EXECUTION_FAILED

  • 最简洁的解决方法,换用 CPU 进行推理测试,命令如下
python main.py --model metardn --ext sep  --save metardn --cpu --batch_size 1 --test_only --data_test Set5 --pre_train  ./experiment/metardn/model/model_1000.pt  --save_results --scale 1.5
 AttributeError: module 'scipy.misc' has no attribute 'imsave'
  • 遇到这个报错,两种思路
  • 一:修改代码中相关函数名字为当前版本函数名
  • 二:降低 scipy 到合适版本

简单起见,这里暂采用 降版本的方式

# 使用 conda 搜寻可以安装的版本

conda search scipy

Loading channels: done
# Name                       Version           Build  Channel             
scipy                         0.19.1 py27_nomklhda24f63_3  pkgs/main           
scipy                         0.19.1  py27h1edc525_3  pkgs/main           
scipy                         0.19.1 py35_nomklh614202b_3  pkgs/main           
scipy                         0.19.1  py35ha8f041b_3  pkgs/main           
scipy                         0.19.1 py36_nomklh59deb5f_3  pkgs/main           
scipy                         0.19.1  py36h9976243_3  pkgs/main           
scipy                          1.0.0 py27_nomklhc4f40eb_0  pkgs/main           
scipy                          1.0.0  py27hf5f0f52_0  pkgs/main           
scipy                          1.0.0 py35_nomklhb72a26a_0  pkgs/main           
scipy                          1.0.0  py35hcbbe4a2_0  pkgs/main           
scipy                          1.0.0 py36_nomklh9d91e6a_0  pkgs/main           

# 卸载当前版本

pip uninstall scipy

Found existing installation: scipy 1.5.4
Uninstalling scipy-1.5.4:
  Would remove:
    /home/moli/anaconda3/envs/torch04/lib/python3.6/site-packages/scipy-1.5.4.dist-info/*
    /home/moli/anaconda3/envs/torch04/lib/python3.6/site-packages/scipy.libs/libgfortran-ed201abd.so.3.0.0
    /home/moli/anaconda3/envs/torch04/lib/python3.6/site-packages/scipy.libs/libopenblasp-r0-085ca80a.3.9.so
    /home/moli/anaconda3/envs/torch04/lib/python3.6/site-packages/scipy/*
Proceed (Y/n)? y
  Successfully uninstalled scipy-1.5.4



  • 具体安装命令为
conda install scipy=0.19.1

 欢迎补充

没有具体去分析这篇论文哈,任意倍数放大,似乎也还是一个不错的方向


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/315807.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号