用tensorflow深度学习梵高的画并模仿

最近在知乎上发现的一个好玩的东西:杨航锋的回答

动手把它实现了一下,记录下自己遇到的问题防止遗忘。

1、tensorflow需要python3

这一点曾经深深影响了我学习这个教程的动力。不过好在anaconda可以新建一个环境使得python2和python3兼容。

所以到网上查看搭建python2和python3环境的攻略就好了,记得设置python3为环境变量。

2、按照教程完成基本工作

1.相关依赖库的安装
2.配置运行环境
3.代码编写
这几步教程里都介绍得很详细了。照着做完就行

3、开始实践

完成以上步骤之后,建立一个这样的文件夹(随便在哪里建立,finshed是为了存储方便,使用说明是我自己写的备忘录),必要的是条件是:教程里面给写好的py文件,test中放入要处理的图像,train中放入要学习的图像。

用tensorflow深度学习梵高的画并模仿

然后打开cmd命令,进入所在文件夹,

用tensorflow深度学习梵高的画并模仿

运行如下语句:

python3 neural_style_transfer.py   D:\办公\tensorflow图像处理\test\2.jpg   D:\办公\tensorflow图像处理\train\11.jpg   D:\办公\tensorflow图像处理\finished\

解释:

python3 neural_style_transfer.py                    指用python3运行neural_style_transfer.py这个文件

D:\办公\tensorflow图像处理\test\2.jpg            指要处理的图像

D:\办公\tensorflow图像处理\train\11.jpg         指要学习的图像

D:\办公\tensorflow图像处理\finished\             把处理好的图像存储在哪里

常见(自己犯过)的问题:

1、python3 没有设置环境变量,会提示找不到python3命令。

2、图像的大小是有限制的,我用了梵高的《星夜》超清图(448M)结果像素超过了限制。用PS修改像素,处理一下就好

用tensorflow深度学习梵高的画并模仿

运行成功的截图:

用tensorflow深度学习梵高的画并模仿

一共迭代10次,迭代过程比较慢,i7 7700k+1066+8G大概需要1个多小时跑完。

下面是完成迭代后的结果:

用tensorflow深度学习梵高的画并模仿

最后一张就是效果最好的图片,对比教程里面的照片而言,不会出现非常突兀的黄色,云朵的纹路也非常完美,也许是训练图片的像素、色差之类的影响吧。

但是模仿的图里不会像梵高的画里面有一些扭曲的线条,直线还是直线,这也许是个优化的方向。

当我第一眼看到这张图的时候,还是非常震撼的。尤其是图书馆屋顶上的两抹黄色,就像对应着圣光照耀一般(手动滑稽,圣骑给我往死里奶)

把那个新建的文件夹包括配置文件传在百度云里了,百度云经常失效还速度慢,****不知道怎么传文件,看来以后真的要转Github了。

链接:https://pan.baidu.com/s/1ZAkASaX6bzAhKIW-Ctbufw 密码:jqqj

虽然有许多人完成过这个工作,但是自己爬山看日出和在电视里看日出还是不一样的,对吧?
用tensorflow深度学习梵高的画并模仿

用tensorflow深度学习梵高的画并模仿




用tensorflow深度学习梵高的画并模仿