利用neural-style生成和目标图像风格一致的图片(win10一周年更新版可用)

几天前在知乎发现了个问题很有趣:如何评价德国计算机神经网络科学家发表的这篇可以让电脑模仿任何画家的风格作画的论文?

里面附带了一张图:点击查看~(点击后拉到最下面可以放大)

然后我在问题里发现有人已经集成好了,发到了github上面:

https://github.com/jcjohnson/neural-style

怀着不嫌麻烦的精神,为了满足自己的好奇心,开始了这几天的折腾

先是看到这货不支持windows,于是我找到了几个Python版本。。。然而。。也没法运行在windows上。。

后来我想到了,win10一周年更新版好像自带了一个Ubuntu子系统来着(微软大法好

下面讲讲怎么运行这玩意

0x00、打开linux的bash命令行:

你可以:

  1. 直接在linux系统里跑(直接跳过这一段

  2. 在win10一周年更新版中运行(仅限专业版,家庭版貌似没有这个功能)之前疏忽,其实是有的)

开启win10bash方法:

  1. 右击开始菜单-控制面板

  2. 点击“程序”那一栏下面的“卸载程序”

  3. 点击左边栏的“启用或关闭windows功能”

  4. 拉到最下面,选上“适用于linux的windows子系统”(如果没有这一项,说明你的系统不是win10专业版或没进行上一周年更新升级)

5.重启之后,按win+r(windows徽标键+R键)呼出运行窗口,输入“cmd”,然后回车。

这时可能要设置密码和用户名,自己设置吧。

最后在输入框内输入“bash”,并且回车,即可开启bash。

0x01、将源换为国内源:

首先取得root权限,这样方便,如果不想这样的话,可能会权限不足,只要命令前面加一句“sudo”即可:

sudo su
#然后输入密码回车

为了下载软件快点,所以把源还为国内的

输入指令:

sudo vi /etc/apt/sources.list

按一下“INSERT”键,删掉原有的所有文字,换上你要用的源,具体的列表可以见此(点击查看),由于我在学校,所以用的是中国科学技术大学更新服务器的源,如下:

deb http://debian.ustc.edu.cn/ubuntu/ trusty main multiverse restricted universe
deb http://debian.ustc.edu.cn/ubuntu/ trusty-backports main multiverse restricted universe
deb http://debian.ustc.edu.cn/ubuntu/ trusty-proposed main multiverse restricted universe
deb http://debian.ustc.edu.cn/ubuntu/ trusty-security main multiverse restricted universe
deb http://debian.ustc.edu.cn/ubuntu/ trusty-updates main multiverse restricted universe
deb-src http://debian.ustc.edu.cn/ubuntu/ trusty main multiverse restricted universe
deb-src http://debian.ustc.edu.cn/ubuntu/ trusty-backports main multiverse restricted universe
deb-src http://debian.ustc.edu.cn/ubuntu/ trusty-proposed main multiverse restricted universe
deb-src http://debian.ustc.edu.cn/ubuntu/ trusty-security main multiverse restricted universe
deb-src http://debian.ustc.edu.cn/ubuntu/ trusty-updates main multiverse restricted universe

复制之后按右键即可粘贴,输入完毕后按“ESC”然后输入“:wq”回车即可保存。

0x02、安装torch7运行库:

依次运行如下命令:

cd ~/
curl -s https://raw.githubusercontent.com/torch/ezinstall/master/install-deps | bash
git clone https://github.com/torch/distro.git ~/torch --recursive
cd ~/torch; ./install.sh

下载过程可能较长,可以喝杯茶冷精一下Σヽ(゚Д ゚; )ノ

然后一小时过去了

设置环境变量,运行如下命令:

source ~/.bashrc

0x03、安装loadcaffe运行库:

输入命令安装必要的包:

sudo apt-get install libprotobuf-dev protobuf-compiler

由于更换了国内源,速度应该是很快的,如果速度只有一秒十几k,请更换源再试

输入指令安装loadcaffe:

luarocks install loadcaffe

这个下载过程也可能较长,可以再喝杯茶冷精一下Σヽ(゚Д ゚; )ノ

然后又一个小时过去了

0x04、下载最后的大boss:

依次运行命令:

cd /mnt/e/test/    # 这里指“E:\test”文件夹,根据自己的需要改吧
git clone https://github.com/jcjohnson/neural-style.git
#上面从github下载比较慢的可以试试我fork到国内的源:
#https://git.oschina.net/chenxuuu/neural-styleneural-style.git
cd neural-style

这个下载过程也可能较长,可以再再喝杯茶冷精一下Σヽ(゚Д ゚; )ノ

然后又一个小时过去了

运行如下命令下载最后需要的大头。几百M,很大,我是直接用qq旋风下载的然后复制进去的2333

sh models/download_models.sh

这个下载过程也可能较长,可以再再再再再再喝杯茶冷精一下Σヽ(゚Д ゚; )ノ

然后又一天过去了

做完这些事之后运行下面的命令测试一下能不能运行:

th neural_style.lua -gpu -1 -print_iter 1

如果显示如下图所示的东西就说明可以运行:

0x05、来运行吧!:

先切换到软件文件夹下(自己看着改吧!路径不一定和我的一样)

cd /mnt/e/test/neural-style

把图片也扔到这个文件夹下面~(必须jpg格式)

运行命令!(CPU燃烧吧!)

th neural_style.lua -style_image the_scream.jpg -content_image in.jpg -gpu -1
#命令解释:th neural_style.lua -style_image 风格图片 -content_image 想处理的图片 -gpu -1 ←win10自带的不支持cuda,所以就让CPU累着吧2333

生成结果很好啊:

选择的图:

风格图:

生成结果:

另外生成的时候会每运行10%放出一张预览图,下面的就是:

最后,小彩蛋:

13 Comments

  1. Google Chrome 53.0.2785.143 Google Chrome 53.0.2785.143 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36

    为什么我的CPU占用量只有百分之几呢,内存占用量倒是有百分之80+,运行了好长时间,程序都没有反应,也没有看到有进度提识,几个小时过去了,也还没有处理完图片……~~~~

    1. Google Chrome 55.0.2859.0 Google Chrome 55.0.2859.0 Windows 10 x64 Edition Windows 10 x64 Edition
      Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2859.0 Safari/537.36

      没遇到过诶。。。不知道问题原因。。

      1. Google Chrome 52.0.2743.116 Google Chrome 52.0.2743.116 Windows 7 x64 Edition Windows 7 x64 Edition
        Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36

        后来更换了一种算法,总算是可以了!!!

      2. Google Chrome 54.0.2840.71 Google Chrome 54.0.2840.71 Windows 7 x64 Edition Windows 7 x64 Edition
        Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36

        还是发现一个问题,只有当CPU和内存的占用率在80%以上,而磁盘占用率在20%左右的时候,才能有图片输出……
        当CPU的占用率在20%左右,而磁盘的占用率在90%以上的时候,是没有图片会输出的……

        1. Google Chrome 57.0.2950.5 Google Chrome 57.0.2950.5 Windows 10 x64 Edition Windows 10 x64 Edition
          Mozilla/5.0 (Windows NT 10.0.14393; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2950.5 Safari/537.36

          你这只是电脑问题吧。。。

  2. Google Chrome 51.0.2704.103 Google Chrome 51.0.2704.103 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36

    囧,进入bash,获得权限后,右键没办法粘贴,ctrl+shift+v也不行

    1. Google Chrome 55.0.2882.4 Google Chrome 55.0.2882.4 Windows 10 x64 Edition Windows 10 x64 Edition
      Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2882.4 Safari/537.36

      试试powershell?

      1. Google Chrome 51.0.2704.103 Google Chrome 51.0.2704.103 Windows 10 x64 Edition Windows 10 x64 Edition
        Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36

        powershell没问题了,现在就是git clone那一直卡住不动

        1. Google Chrome 55.0.2883.9 Google Chrome 55.0.2883.9 Windows 10 x64 Edition Windows 10 x64 Edition
          Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.9 Safari/537.36

          2333这个只能怪网络了
          git的话你可以试试我fork到国内的:
          https://git.oschina.net/chenxuuu/neural-styleneural-style.git

  3. Google Chrome 45.0.2454.101 Google Chrome 45.0.2454.101 Windows XP Windows XP
    Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36

    测试的时候输出killed怎么破?

    1. Google Chrome 59.0.3053.3 Google Chrome 59.0.3053.3 Windows 10 x64 Edition Windows 10 x64 Edition
      Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3053.3 Safari/537.36

      不太清楚,你可以看看报错说明
      然后上github发个issue问问
      记得用英语问

      1. Google Chrome 45.0.2454.101 Google Chrome 45.0.2454.101 Windows 10 Windows 10
        Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36

        用的是banwagong的VPS

        1. Google Chrome 60.0.3080.5 Google Chrome 60.0.3080.5 Windows 10 x64 Edition Windows 10 x64 Edition
          Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3080.5 Safari/537.36

          呃。。。还是实机操作吧。。搬瓦工超售严重

晨旭进行回复 取消回复

电子邮件地址不会被公开。 必填项已用*标注