GAN的流程-cyclegan为例

在关于原理里面已经讲了adversial 这个东西的原理以及流程,

这个算法本身没什么吸引,美妙的地方在于他的训练流程!

这个篇章着重讲如何跑通一个GAN的代码---这里特指cyclegan

1 下载代码:

https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix/

从这里下载代码,然后按照redeme配置环境即可

2配置环境:

  1 python3.6

  2 torch必须是0.4.0

3下载数据集,按照reame,没问题

在我顺利跑通前,会遇到一个意想不到的错误:

WARNING:root:Setting up a new session...
这个错误是因为我的display(可视化)有些问题,目前解决方式是干脆不要可视化了,
train.py里面把关于visualizer的一切都注释掉!
 
 
test的时候,遇到了一个问题,在我把visualizer注释掉之后,生成图片遇到了问题
此时我进行了几个操作
1把tensor转为image
2 image.save
具体代码如下:
其中visuals是一个tensor
unloader = transforms.ToPILImage()
def tensor_to_PIL(tensor):
    image = tensor.cpu().clone()
    image = image.squeeze(0)
    image = unloader(image)
    return image
 
abc=tensor_to_PIL(visuals['fake_A'][0])
abc.save('./imggg/'+str(counttt)+'.jpg')
 
然后就可以跑通了
 
接下来是换数据集,
换数据集要做到一点:domian a 与domain b之间的差距不能太大,
比如如果domain a 是汽车,domian b是房子,这样什么也学不到
所以最好的就是domian a 是普通的马,domian b是斑马
 
 
 
 
原文地址:https://www.cnblogs.com/lllcccddd/p/10671123.html