数据集WSI
info | command |
---|---|
home | /home/jfy/project/data/WSI |
10训2验2测_训 | /home/jfy/project/data/WSI/lv0_small_10_2_2/train |
10训2验2测_验 | /home/jfy/project/data/WSI/lv0_small_10_2_2/val |
10训2验2测_测 | /home/jfy/project/data/WSI/lv0_small_10_2_2/test |
1000训100验100测_训 | /home/jfy/project/data/WSI/lv0_medium_1000_100_100/train |
1000训100验100测_验 | /home/jfy/project/data/WSI/lv0_medium_1000_100_100/val |
1000训100验100测_测 | /home/jfy/project/data/WSI/lv0_medium_1000_100_100/test |
SRCNN
code:https://github.com/yjn870/SRCNN-pytorch
info | command |
---|---|
home | /home/jfy/project/SRCNN-pytorch-master |
prepare | python prepare.py --images-dir xxx --output-path result/2x/lv0_0_9.h5 --patch-size 32 --stride 14 --scale 2 |
train | python train.py --train-file result/2x/lv0_0_9.h5 --eval-file result/2x/lv0_11_12.h5 --outputs-dir result/2x/little --num-epochs 2 --batch-size 16 --seed 11 |
更改成个人数据集
:用prepare.py分别生成测试集和训练集的h5文件,train的时候输入两个h5文件即可。
仅有PSNR指标,Y通道计算,utils.py中def calc_psnr(img1, img2)
传的是tensor。
添加SSIM指标:utils.py添加函数def calc_ssim(img1, img2)
,代码来自IGNN,需要将tensor先转成array。
添加LPIPS指标:utils.py添加函数def calc_lpips(img1, img2)
,需要pip install lpips并在最上面import,调用需要统一将tensor转到device=cpu,并将Y通道重复三次。
上两周跑起来没问题,这周开始报h5的错误了,暂且放下。
SRGAN
code:https://github.com/leftthomas/SRGAN
info | command |
---|---|
home | /home/jfy/project/SRGAN-master |
train | python train.py –train_set_path ../data/WSI/lv0_medium_1000_100_100/train –val_set_path ../data/WSI/lv0_medium_1000_100_100/test –upscale_factor 2 –num_epochs 100 –train_bs 128 |
EDSR
code:https://github.com/sanghyun-son/EDSR-PyTorch
info | command |
---|---|
home | /home/jfy/project/local/EDSR-PyTorch-master/src |
train | sh wsi3.sh |
更改成个人数据集
:仿照DIV2K,步骤:按照DIV2K的文件目录制作数据集的文件目录(尤其是图片命名)、修改option中参数(dir_data、data_train、data_test,其他的写到sh文件内)、仿照./EDSR-PyTorch-master/src/data/div2k.py写一个wsi.py。三个步骤缺一不可。
使用medium的测试结果:
参数设置 | 结果 |
---|---|
lr=1e-3,bs=32 | loss曲线不收敛,psnr从38开始到40多 |
lr=1e-4,bs=16,n_resblocks=8,n_feats=32 | 收敛,但300epoch的loss2.2左右 |