style-transfer
这个主要是利用caffe+model+code直接实现任意风格的转换。
最后实现需借助
- 一张风格图片
- 待转换风格的目标图片
- 训练模型
# coding
>>>python style.py -s <style_image> -c <content_image> -m <model_name> -g 0
优势:
- 可以实现任意风格的转换
- 可拓展性强
缺点:
- 耗时长(真的很长,如果用CPU的话)
fast-neural-style-tensorflow
风格快速迁移转换
顾名思义,这个比前者能够更快的进行风格转换,速度因机器而异,不过效率比前者确确实实提高了很多倍
最后实现需借助
- 一个训练好的风格模型
- 待转换的风格图片
# coding
>>> python eval.py --model_file <path of ckpt-done> --image_file <path of image>
优势:
- 速度相对来说很快
- 环境搭建相对来说更容易
缺点:
- 可拓展性更弱
- 只能转换固定几种风格
- 训练新风格模型时间长(比前者生成时间更长)
style-transfer的实现
环境介绍
Ubuntu16.04 + CPU + python2.7 + caffe
搭建caffe环境
介绍
Caffe是一个清晰而高效的深度学习框架。Caffe是纯粹的C++/CUDA架构,支持命令行、Python和MATLAB接口;可以在CPU和GPU直接无缝切换。
优势:
- 上手快:模型与相应优化都是以文本形式而非代码形式给出。
Caffe给出了模型的定义、最优化设置以及预训练的权重,方便立即上手。
- 速度快:能够运行最棒的模型与海量的数据。
Caffe与cuDNN结合使用,测试AlexNet模型,在K40上处理每张图片只需要1.17ms.
- 模块化:方便扩展到新的任务和设置上。
可以使用Caffe提供的各层类型来定义自己的模型。
- 开放性:公开的代码和参考模型用于再现。
- 社区好:可以通过BSD-2参与开发与讨论。
安装依赖
# caffe 依赖
>>>sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
>>>sudo apt-get install --no-install-recommends libboost-all-dev
>>>sudo apt-get install libatlas-base-dev
>>>sudo apt-get install libhdf5-serial-dev
# Python 依赖
>>>sudo apt-get install python-dev
>>>sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
安装caffe(可利用virtualenv新建一个纯净环境)
# 我们需要将caffe的源码下载下来,所以需要git
>>>sudo apt-get install git
# 下载代码
>>>git clone https://github.com/BVLC/caffe.git
# 下载完成后,进入caffe文件夹
>>>cd caffe
# 安装caffe的python依赖
>>>for req in $(cat requirements.txt); do pip install $req; done
配置caffe