Magenta- 机器学习+艺术:音乐

首先明确的是 这次试验我要实现的效果是什么:利用magenta官方提供的用例和训练模型,把我手头的一张照片重绘成 莫奈或者其他艺术家作品的风格。(说的low一点就是:加个滤镜,但原理完全不一样)

这边的绘图是通过机器深度学习实现的,所谓深度学习(Deep Learning)中的 “深度(Deep)” 即意为层数。神经网络的每一层都会对图片特征进行提取,而 “艺术风格” 则是各层提取结果的叠加。

当然,要玩这个东西,首先要是去官网了解详情嘛,magenta github 在github的目录下可以发现它是tensorFlow下的一个项目,根据github上 readme提供的说明,就可以开工搭magenta环境啦。

我这边采用的是 docker 安装方案

docker run -it -p 6006:6006 -v /tmp/magenta:/magenta-data tensorflow/magenta

你本地没有该镜像,所以会网上自动下整个搭载好magenta运行所需要环境的一个系统。

bazel test //magenta/...

可以运行下上面的脚本,所有测试用例通过,确保环境没有问题。好了,环境搞好了,现在开始运行脚本了。

会发现下面的文档变成了style transfer,主要分两块内容training model 和 styling an image,初次尝试,可以跳过training model,在styleing an image中可以下载官网提供的 pre-trained model 。

调用执行

image_stylization_transform \

​ --num_styles=32 \

​ --checkpoint=multistyle-pastiche-generator-varied.ckpt \

​ --input_image=evaluation_images/kk7.jpg \

​ --which_styles=[0,8,16,19,22] \

​ --output_dir=/tmp/image_stylization/output \

​ --output_basename="kk7_styles"

num_styles规定了这个 pre-trained model 提供的绘画风格数量 ,checkpoint是官网下载的 pre-trained model文件,input_image为你自己的原图片,which_styles规定需要产出的 风格索引,两个output就是产出的文件夹和文件名称。

整个过程就这样了,比较简洁,不过有些在使用过程中的tips记一下: