【零基础】风格迁移之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, ...
随机推荐
- 听课笔记--DP--最大子矩阵和
最大子矩阵问题 给定一个n*n(0<n<=120)的矩阵, 矩阵内元素有正有负, 请找到此矩阵的内部元素和最大的子矩阵 样例输入: 4 0 -2 -7 0 9 2 -6 2 -4 ...
- js入门之数组
数组是一种数据类型,数组可以存储很多项, 有序,集合 Array 定义: var names = ['zs','ls','ww','zl'] 访问: 用索引或/下标 数组可以存储多种类型的数据 但是一 ...
- 【vue开发】vue指令Vue.directive使用教程
1.指令的注册 指令跟组件一样需要注册才能使用,同样有两种方式,一种是全局注册: ? 1 2 3 4 5 Vue.directive('dirName',function(){ //定义指令 ...
- CSS3自定义滚动条样式方法
该代码收集于网上资源,非原创 /*定义滚动条宽高及背景,宽高分别对应横竖滚动条的尺寸*/ ::-webkit-scrollbar { width: 10px; /*对垂直流动条有效*/ height: ...
- IT基础架构
- Django:总结setting中的配置
一.Django setting配置说明 二.setting配置一览 一.Django setting配置说明 1.基础 DJANGO_SETTING_MODULE环境变量:让settings模块被包 ...
- php+redis一步一步测试秒杀
1.普通的秒杀查库减库存: <?php /** 100个用户同时访问100次会出现超卖 **/ //连接数据库 $dsn = "mysql:host=localhost;dbname= ...
- PaaS容器集群优化之路
1. 性能优化面对的挑战 以下是整个PaaS平台的架构 其中主要包括这些子系统: 微服务治理框架:为应用提供自动注册.发现.治理.隔离.调用分析等一系列分布式/微服务治理能力,屏蔽分布式系统的复杂度. ...
- mybatise 设置全局变量实例
前言 在平时的工作中有时候是需要在配置文件中配置全局变量的,因为这些东西是不会变的,并且每个mapper都传参的话也显得有点繁琐,还好mybatis本身是支持全局变量的,今天工作中用到了,记录一下. ...
- centos6.5下cacti部署说明
一.Cacti简介 1. cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户. ...