极简keras:实现神经网络风格迁移(neural style)
前言
前段时间谷歌放出一个神经网络风格迁移的代码,看起来酷酷的,现在有人写了keras的代码,就在keras的例子中。今天我们就来跑一下它,反正运行一行代码搞定 。keras是一个非常简单的深度学习库。如果你不知道怎么安装它,我将简单的介绍一下。
先放上来一张经过梵高风格迁移后的天安门的图片和中国风水画版本的天安门。
梵高图像,待学习的风格图像
天安门图像
梵高版天安门(这个只迭代了15次,如果迭代次数更多,会更好看的)
向日葵图片
向日葵风格天安门
下面接收一下如何执行这个简单的代码
1.框架安装
1.1安装anaconda(若你已安装或者不想安装,跳过)
anaconda是一个python集成库,集成了上百个常用的python模块,安装anaconda后,你就可以一劳永逸的免安装各种python库。安装anaconda非常简单,从官网下载对应你系统版本的anaconda,例如我用的ubuntu,64位。下载后,
bash Anaconda2-4.2.0-Linux-x86_64.sh
然后各种下一步就可以了,最后它会问你用不用把它加入环境变量,这里最后选yes,然后执行
source ~/.bashrc
更新环境变量,以后你使用的python解释器就是anaconda里面的了,不再是系统自带的了。
1.2安装keras(若已经安装,跳过)
这一步直接选择pip install keras就可以了,安装keras过程中会自动安装theano,keras是一个基于tensorflow或者theano运行的,但是默认是基于tensorflow,所以你打开终端,在python里面import keras一下,如果提示没有tensorflow,那你编辑一下~/.keras/keras.json文件,把里面的"backend":"tensorflow"改为"backend":"theano"就可以了。如果你想安装tensorflow,也很简单,也是一条命令搞定,具体看这篇博客把。ubuntu +"backend":"tensorflow" cuda8.0 + tensorflow最简单的安装方式
2. 代码跑起来
2.1 从github上下载keras。地址在这里 keras github
2.2定位到你下载的keras的examples文件夹,里面的neural_style_transfer.py就是我们要跑的代码,运行很简单的
python neural_style_transfer.py 第一个参数-你的基图像路径 第二个参数-你的风格图像路径 第三个参数-你要保存的生产图片路径加名称(注意不需要有.jpg后缀)
例如在我这
python neural_style_transfer.py '/home/xxx/Documents/Test/tiananmen.png' '/home/xxx/Documents/Test/fangao.jpg' '/home/xxx/Documents/Test/tiananmen_fangao'
帅气的大威少
寄上大威少的梵高风格
其实它是每次迭代逐渐逼近这个风格的,下面展示了第0,3,5,9,12,14次迭代的梵高风格的天-安-门图片
第1次迭代
第3次迭代
第6次迭代
第9次迭代
第12次迭代
第14次迭代