【零基础】风格迁移之deep-painterly-harmonization的安装和使用
注:原项目名叫deep-painterly-harmonization,这里我缩写下称呼其为“DPH”
注:原项目GIT链接:https://github.com/luanfujun/deep-painterly-harmonization
DPH是深度学习中的一个应用方向,被称为风格迁移,即将A图的风格迁移到B图,DPH的作者在风格迁移的基础上实现了将B图无缝嵌入A图,示例如下图所示:

我们就不讨论具体技术细节了,这里简单地写一个安装和使用教程给大家。
坑描述:
1)一定要用物理机,而且是N卡
2)从系统到环境都必须使用指定版本
3)github下载速度巨慢
坑解决:
上面三个问题曾经让我非常崩溃,首先我电脑不是N卡的,于是上阿里云租了所谓的“GPU”物理机,但是有理由相信此物理机还不够物理,后来机缘巧合之下晓得了还有个“极客云”这样的平台,非常简单就解决了上述的所有问题。这里做个广告,使用下面链接注册极客云,充值后咱俩都有推广红包拿:
http://www.jikecloud.net/register.html?iid=HNU8Zh39FgM2ITarpX9-Dw==
使用极客云的好处在哪里呢?
1)不需要自己去买个N卡
2)可租的服务器配置都很高
3)价格相当之便宜
4)所有深度学习需要的运行环境都已经准备好了!不需要自己去安装!或者头疼版本!100万个好评啊!
这里我建议大家就去极客云租一个来测试,如果效果满意再去买N卡解决环境安装问题,所以这里直接以极客云的环境开始。
如果不使用极客云的预装环境,那你可以试试按极客云预装框架的版本来安装各模块。
正式开始:
1、主机配置
我在极客云租的主机配置如下,一定要注意预装框架:

2、下载deep-painterly-harmonization
你可以选择上github下载,但是models文件大概有600多M,国内因为某些原因下载速度极慢,所以我把完整的包放到百度云供大家下载了,文末附下载链接。
3、将deep-painterly-harmonization.zip放到服务器任意位置并使用下面的命令解压
#unzip deep-painterly-harmonization.zip
4、安装Octave(MATLAB的替代品)
#apt install software-properties-common
#apt-add-repository ppa:octave/stable
#apt-get update
#apt-get install octave
5、安装loadcaffe
#luarocks install loadcaffe
6、编译deep-painterly-harmonization
进入deep-painterly-harmonization目录
#vi makefile
将PREFIX=XXX,修改为:PREFIX=/root/torch/install(torch的安装目录)
#make clean
#make
至此,DPH就编译好了
如何使用:
在deep-painterly-harmonization目录中有个data目录,里面放的就是你要处理的原文件了,作者已经放了一些示例在里面。需要注意的是c_mask和c_mask_dilated,实际上你只需要在Photoshop中将c_mask中白色部分外扩10个像素(具体看你图片多大吧)就是c_mask_dilated。
其次需要注意的是别把wikiart_output.txt删了,里面写的是图片输出的一些配置,你可以打开看看,用的时候可以对应修改修改。
在deep-painterly-harmonization目录中有个resluts目录,里面放的就是处理结果了。
在deep-painterly-harmonization目录中执行#python gen_all.py就自动开始处理data目录中的图片了。
赶紧试试吧!
其他:
关注公众号“零基础爱学习”回复“DPH”就能获取deep-painterly-harmonization.zip完整包了,有将近700M吧,比直接从GIT上下载要快些。更多零基础深度学习的文章请继续关注“零基础爱学习”。

【零基础】风格迁移之deep-painterly-harmonization的安装和使用的更多相关文章
- 【c++】零基础的自修课 01-开发工具的安装(code::blocks)
1/开发工具的下载地址: ·(选用 visual studio开发工具,有区分mac和windows版本)https://visualstudio.microsoft.com/zh-hans/down ...
- 零基础学习java------40---------Maven(maven的概念,安装,maven在eclipse中使用),springboot(spring整合springmvc(注解),spring整合mybatis(常见的配置文件)),前端页面(bootstrap软件)
一 maven 1. Maven的相关概念 1.1 项目开发中遇到的问题 (1)都是同样的代码,为什么在我的机器上可以编译执行,而在他的机器上就不行? (2)为什么在我的机器上可以正常打包,而配置管理 ...
- 辛巴学院-Unity-剑英陪你零基础学c#系列(四)函数和封装
辛巴学院:正大光明的不务正业. 国庆长假结束了,我的心情是这样的: 你总是起不早,起不早独自一个人沉睡到天亮你无怨无悔的梦着那副本我知道你根本就不想上班你总是起不早,起不早放假总是短暂,上班太难请个病 ...
- UI设计师零基础入门到精通精品视频教程【155课高清完整版】
[福吧资源网分享]课程是非常完整的,也是非常零基础的,适合任何学员,有需要的可以下载看看!课程目录:第1章 Adobe Photoshop CS6课时1 Adobe Photoshop CS6入门基础 ...
- 如何零基础开始自学Python编程
转载——原作者:赛门喵 链接:https://www.zhihu.com/question/29138020/answer/141170242 0. 明确目标 我是真正零基础开始学Python的,从一 ...
- 零基础入门微信小程序开发
注:本文来源于:<零基础入门微信小程序开发> 课程介绍 本达人课是一个系列入门教程,目标是从 0 开始带领读者上手实战,课程以微信小程序的核心概念作为主线,介绍配置文件.页面样式文件.Ja ...
- 普通程序员转型AI免费教程整合,零基础也可自学
普通程序员转型AI免费教程整合,零基础也可自学 本文告诉通过什么样的顺序进行学习以及在哪儿可以找到他们.可以通过自学的方式掌握机器学习科学家的基础技能,并在论文.工作甚至日常生活中快速应用. 可以先看 ...
- 『cs231n』通过代码理解风格迁移
『cs231n』卷积神经网络的可视化应用 文件目录 vgg16.py import os import numpy as np import tensorflow as tf from downloa ...
- Photoshop零基础教程集锦,助你快速进阶为大佬,轻松、任性!!!
现今,对于Web或App UI设计师而言,除了不断学习专业知识,提升设计技能.掌握一款得心应手的设计工具(例如设计师们常用的图像处理工具PhotoShop,矢量图绘制工具AI, 图形视频处理工具AE, ...
随机推荐
- H5各种头部meta标签功能大全
<!DOCTYPE html> H5标准声明,使用 HTML5 doctype,不区分大小写 <head lang=”en”> 标准的 lang 属性写法 <meta ...
- Java 面向对象(五)抽象
一.抽象概述 1.由来 父类中的方法,被它的子类们重写,子类各自的实现都不尽相同.那么父类的方法声明和方法主体,只有声明还有意义,而方法主体则没有存在的意义了. 我们把没有方法主体的方法称为抽象方法. ...
- Reeds-Shepp曲线和Dubins曲线
转载:https://www.cnblogs.com/huyanan/articles/6243694.html 什么是Reeds-Shepp曲线? 想象你下班开车回家,到了小区后想把车停 ...
- Linux网络管理——路由配置文件、DNS配置文件、hosts文件
路由配置文件 route命令添加的路由表,重启网络服务或者重启系统之后就全都失效了.可以创建针对网卡的路由配置文件,这样在重启网络服务 或者 重启系统的时候就会加载针对某个网卡的配置文件. CONFI ...
- (13)input输入函数
(1)input 等待用户动态输入一个值,注意得到的值是一个字符串类型 提示用户输入用户名和密码: 如果用户名是admin , 并且密码是000 , 提示用户恭喜你,登陆成功 否则提示用户名或密码错误 ...
- idou老师教你学Istio11 : 如何用Istio实现流量熔断
在之前的最佳实践中,已经带大家通过一系列的实践任务领略了Istio的无穷魅力.今天,将向大家介绍如何用Istio实现流量熔断. 熔断机制是创建弹性微服务应用程序的重要模式.熔断可以帮助您自由控制故障影 ...
- Paper Reading:Mask RCNN
Mask RCNN 论文:Mask R-CNN 发表时间:2018 发表作者:(Facebook AI Research)Kaiming He, Georgia Gkioxari, Piotr Dol ...
- 数组方法push() pop() shift() unshift() splice() sort() reverse() contact()浅拷贝 slice()原数组拷贝
push() pop() shift() unshift() splice() sort() reverse() 参考资料:https://wangdoc.com/javascript/stdlib/ ...
- linux实操_shell运算符
1."$((运算式))"或"[运算式]" 2.expr m + n 注意:expr运算符要有空格 3.expr m - n 4.expr \*,/,/% 乘,除 ...
- httprunnermanager环境搭建 -----转
转发自 https://www.cnblogs.com/tiechui2015/p/10017801.html 感谢大神 1,开源代码下载 这里的git下载地址是:https://github.c ...