美文网首页
利用pix2pix网络训练自己的有较高分辨率的数据集

利用pix2pix网络训练自己的有较高分辨率的数据集

作者: 幽并游侠儿_1425 | 来源:发表于2019-05-29 06:19 被阅读0次

代码链接:https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix

代码结构分析可以参考这一篇:https://zhuanlan.zhihu.com/p/55059359

一、数据集格式以及数据集导入方法

参考文章:

https://blog.csdn.net/weixin_36474809/article/details/89004591

https://www.twblogs.net/a/5c9a6fb0bd9eee4250080ed5/zh-cn

1.

参考这一篇:

先download一个dataset去看。

从这个网页去download dataset: https://people.eecs.berkeley.edu/~tinghuiz/projects/pix2pix/datasets/

我下载了一个最小的数据集:facades.tar.gz 以观察其中的结构。

其中facaeds文件夹中包含3个文件夹,分别为:val, train, test.

val里包含100张图,train里包含400张图,test里包含106张图。

图片是jpg格式的合成图,大小是512*256,左边是original image,右边是groundtruth.

2.

在dataset里有两个python文件:make_dataset_aligned.py和combine_A_and_B.py。这里:combine_A_and_B.py需要被用到。

3.

对数据集的英文要求:

We provide a python script to generate pix2pix training data in the form of pairs of images {A,B}, where A and B are two different depictions of the same underlying scene. For example, these might be pairs {label map, photo} or {bw image, color image}. Then we can learn to translate A to B or B to A:

Create folder /path/to/data with subfolders A and B. A and B should each have their own subfolders train, val, test, etc. In /path/to/data/A/train, put training images in style A. In /path/to/data/B/train, put the corresponding images in style B. Repeat same for other data splits (val, test, etc).

Corresponding images in a pair {A,B} must be the same size and have the same filename, e.g., /path/to/data/A/train/1.jpg is considered to correspond to /path/to/data/B/train/1.jpg.

文件夹要求:一共应该在dataset下对应的数据集文件夹下创立两个文件夹:A 和B。A 和B下分别放入train,val和test三个文件夹,同时在dataset文件夹下,也放入train, val和test三个文件夹。

命名要求:需要A和B中的数据集的对应图片的名称相同

数据集按照上面的命名好之后,运行如下命令行:

python datasets/combine_A_and_B.py --fold_A /path/to/data/A --fold_B /path/to/data/B --fold_AB /path/to/data

此命令行将源域和目标域图像combine each pair of images (A,B) into a single image file,可以用于训练。

参考其他文章中的代码:

python /home/xingxiangrui/pytorch-CycleGAN-and-pix2pix/datasets/combine_A_and_B.py --fold_A /home/xingxiangrui/pytorch-CycleGAN-and-pix2pix/datasets/pix2pix-nor2cott/A --fold_B /home/xingxiangrui/pytorch-CycleGAN-and-pix2pix/datasets/pix2pix-nor2cott/B --fold_AB /home/xingxiangrui/pytorch-CycleGAN-and-pix2pix/datasets/pix2pix-nor2cott/AB

基于我们的文件名,代码应该是:

位于主文件夹下执行以下命令:

python datasets/combine_A_and_B.py --fold_A datasets/cells/A --fold_B datasets/cells/B --fold_AB datasets/cells/AB

命令行正确,train和val和test三个文件夹直接生成在datasets/cells下的一个新文件夹AB下。

python images_for_test/combine_A_and_B.py --fold_A images_for_test/A --fold_B images_for_test/B --fold_AB images_for_test/AB

二、运行的命令

运行的命令行是:

python train.py --dataroot ./datasets/facades --name facades_pix2pix --model pix2pix --direction BtoA

参考另一篇文章中的运行命令:

python train.py --dataroot ./datasets/pix2pix-nor2cott/AB --name nor2cott_pick_pix2pix --model pix2pix --direction AtoB

他的文件夹就是:pix2pix-nor2cott/B/train/ 和 pix2pix-nor2cott/A/train/

那么我的命令应该是:

python train.py --dataroot ./datasets/cells/AB --name cells_pix2pix --model pix2pix --direction BtoA

在后台运行的代码是:

python train.py --dataroot ./datasets/cells/AB --name cells_pix2pix --model pix2pix --direction BtoA

注意这里的BtoA是运行方向:意味着从label到original images。

三、在运行过程中遇到的问题

创建了环境pix2pix_hh,在这个环境里跑代码。

1. 报错:ImportError: cannot import name 'imresize'

解决办法:

参考网站https://blog.csdn.net/eee528/article/details/82144191

这真是一篇深度好文啊。

原因是scipy的环境变量没有到加入新的环境中。

我是把环境换成了base的环境就没有这个报错了。

2.报错:读数据时,num_of_sample为0.

解决办法:

检查数据集格式是否有误。

可能原因:是不是tif文件读不进去?

官网的数据集的格式是:‘.jpg’而不是'.tif'

把数据集换成jpg就可以了。

注释:数据集读入模型分析

数据集读入的代码位于主文件夹下的data文件夹下的aligned_dataset.py文件中。

其实该段代码只是把合并的两个图像拆开而已

成功开始跑code了。

进程的number为:【1】13000

3、遇到问题:

重新跑的时候,一直停在这个提示符,不继续往下跑:

WARNING:root:Setting up a new session...

回去解决这个问题吧。

先读文献。

四、对代码进行test

test的参考命令行:

python test.py --dataroot ./datasets/facades --name facades_pix2pix --model pix2pix --direction BtoA

实际命令行:

python test.py --dataroot datasets/cells/AB --name cells_pix2pix --model pix2pix --direction BtoA

结果存储的位置:主文件夹下的result文件夹

结果评价:

(1)我放进去的图明明是1024:1024,出来之后却变成了256*256的。

(2)图片很模糊,看不清具体的细胞。

五、效果改进

相关文章

网友评论

      本文标题:利用pix2pix网络训练自己的有较高分辨率的数据集

      本文链接:https://www.haomeiwen.com/subject/aebstctx.html