首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Keras:实现梵高风格作画

Keras:实现梵高风格作画

作者头像
伊泽瑞尔
发布于 2022-05-31 20:50:44
发布于 2022-05-31 20:50:44
8740
举报

我梦想着绘画,我画着我的梦想。 ——文森特·威廉·梵高

环境

代码语言:javascript
复制
# 安装一个取名为painting的虚拟环境
conda create -n painting python=3.7

# 切换到painting环境
source activate painting

pip install keras

pip install tensorflow -i https://pypi.douban.com/simple

pip install pillow

代码

从github克隆keras代码:

代码语言:javascript
复制
git clone https://github.com/keras-team/keras.git

cd keras/examples

主要的代码为neural_style_transfer.py文件。

看了一下代码,使用的ImageNet上预训练过的VGG19做的迁移学习。

VGG是Oxford的Visual Geometry Group的组提出的。

VGG有两种结构,分别是VGG16和VGG19,两者并没有本质上的区别,只是网络深度不一样。该网络主要工作是证明了增加网络的深度能够在一定程度上影响网络最终的性能。

画画

代码语言:javascript
复制
python neural_style_transfer.py --iter 15 ~/Desktop/hua.jpeg ~/Desktop/xiangrikui.jpeg ~/Desktop/hua_fangao

其中--iter为指定训练轮数,/Desktop/hua.jpeg为自己需要训练的原始照片,/Desktop/xiangrikui.jpeg为梵高的向日葵,~/Desktop/hua_fangao为结果,注意没有.jpg等后缀。

梵高的向日葵

原始照片

训练过程中的画

第一次迭代

第五次迭代

第十次迭代

第十五次迭代

从上面可以看出来,随着次数的增加,画画风格越来越像梵高。

这边使用的i5、8G的mac电脑用cpu训练15轮35min。

Keras github地址:https://github.com/keras-team/keras

使用TensorFlow作画:https://github.com/lengstrom/fast-style-transfer

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-29,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 环境
  • 代码
  • 画画
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档