欢迎光临散文网 会员登陆 & 注册

DiVANet-PyTorch 代码复现

2023-06-28 19:29 作者:小xu在岸上等大家  | 我要投稿

"Single image super-resolution based on directional variance attention network"

代码地址:

GitHub - pbehjatii/DiVANet: PyTorch implementation of Single image super-resolution based on directional variance attention network (Pattern Recognition2022)

论文地址:

https://www.sciencedirect.com/science/article/pii/S0031320322004770?dgcid=author

0 环境搭建:

  • Python 3

  • PyTorch (0.4.0), torchvision

  • Numpy, Scipy

  • Pillow, Scikit-image

  • h5py

  • importlib

  • adamp  # 这个是代码地址没提到的,但是要装上

  • tensorboardX  # 这个是代码地址没提到的,但是要装上

1 数据集制作:

1.1 按照这个模板搭建文件夹,

dataset

└── DIV2K

    ├── DIV2K_train_HR

    ├── DIV2K_train_LR_bicubic

    ├── DIV2K_valid_HR

    └── DIV2K_valid_LR_bicubic

这个是我使用的的数据集

  数据集HR部分可以直接放HR图片,但是LR部分要按照x2,x3,x4的LR图像大小放,x4代表同一个HR图像对应的4倍小的LR,按照这个设置数据集,下面部分如果跟这个有冲突,以这个为准!

数据集设置(以这个为准!)

1.2 div2h5.py 修改

  按照下图修改即可,注意我只用了x4的LR数据集,如果要用别的大小的数据集,则要改对应的for subdir in ["HR",  改这里!! ]:

代码区域有框框基本要修改代码
修改之后的图

1.3 终端(termianl)输入:python div2h5.py

  输入完后就出现如下部分,这一部分加载HR图像,然后加载完后会加载LR图像。如果按照1.2部分左边设置数据集的文件夹,就只会加载HR,不会加载LR!!

HR图像加载
LR图像加载

  生成一个h5后缀的文件!!

数据集h5文件

2.训练

2.1 train.py改代码

train.py修改1
train.py修改2

2.2 终端输入:python train.py

错误

出现上图错误,把shuffle=false

shuffle = False

设置的100次迭代就打印信息并保存权重

打印信息
保存的权重为pth.tar文件

3.测试:

3.1 sample.py改代码


sample.py

sample.py

改dataset.py的代码并且与测试数据集对应,测试数据集可以改为下图所示:

dataset.py

测试数据集图片添加_HR代码:

import os
folder_path = r"F:\pythondata\DiVANet-main\dataset\Set14\LR"  # 指定文件夹路径(改路径就可以了)
for filename in os.listdir(folder_path):  # 遍历文件夹下所有文件
   if filename.endswith((".jpg", ".png")):  # 只处理图片文件
       old_path = os.path.join(folder_path, filename)  # 构造旧文件路径
       # 添加的内容
       new_name = filename.split(".")[0] + "_LR." + filename.split(".")[1]  # 构造新文件名
       new_path = os.path.join(folder_path, new_name)  # 构造新文件路径
       os.rename(old_path, new_path)  # 重命名文件

3.2 终端输入 python sample.py

完结,如果知道咋在训练文件下面验证的麻烦告诉我,感恩!

DiVANet-PyTorch 代码复现的评论 (共 条)

分享到微博请遵守国家法律