注:原项目名叫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的安装和使用的更多相关文章

  1. 【c++】零基础的自修课 01-开发工具的安装(code::blocks)

    1/开发工具的下载地址: ·(选用 visual studio开发工具,有区分mac和windows版本)https://visualstudio.microsoft.com/zh-hans/down ...

  2. 零基础学习java------40---------Maven(maven的概念,安装,maven在eclipse中使用),springboot(spring整合springmvc(注解),spring整合mybatis(常见的配置文件)),前端页面(bootstrap软件)

    一 maven 1. Maven的相关概念 1.1 项目开发中遇到的问题 (1)都是同样的代码,为什么在我的机器上可以编译执行,而在他的机器上就不行? (2)为什么在我的机器上可以正常打包,而配置管理 ...

  3. 辛巴学院-Unity-剑英陪你零基础学c#系列(四)函数和封装

    辛巴学院:正大光明的不务正业. 国庆长假结束了,我的心情是这样的: 你总是起不早,起不早独自一个人沉睡到天亮你无怨无悔的梦着那副本我知道你根本就不想上班你总是起不早,起不早放假总是短暂,上班太难请个病 ...

  4. UI设计师零基础入门到精通精品视频教程【155课高清完整版】

    [福吧资源网分享]课程是非常完整的,也是非常零基础的,适合任何学员,有需要的可以下载看看!课程目录:第1章 Adobe Photoshop CS6课时1 Adobe Photoshop CS6入门基础 ...

  5. 如何零基础开始自学Python编程

    转载——原作者:赛门喵 链接:https://www.zhihu.com/question/29138020/answer/141170242 0. 明确目标 我是真正零基础开始学Python的,从一 ...

  6. 零基础入门微信小程序开发

    注:本文来源于:<零基础入门微信小程序开发> 课程介绍 本达人课是一个系列入门教程,目标是从 0 开始带领读者上手实战,课程以微信小程序的核心概念作为主线,介绍配置文件.页面样式文件.Ja ...

  7. 普通程序员转型AI免费教程整合,零基础也可自学

    普通程序员转型AI免费教程整合,零基础也可自学 本文告诉通过什么样的顺序进行学习以及在哪儿可以找到他们.可以通过自学的方式掌握机器学习科学家的基础技能,并在论文.工作甚至日常生活中快速应用. 可以先看 ...

  8. 『cs231n』通过代码理解风格迁移

    『cs231n』卷积神经网络的可视化应用 文件目录 vgg16.py import os import numpy as np import tensorflow as tf from downloa ...

  9. Photoshop零基础教程集锦,助你快速进阶为大佬,轻松、任性!!!

    现今,对于Web或App UI设计师而言,除了不断学习专业知识,提升设计技能.掌握一款得心应手的设计工具(例如设计师们常用的图像处理工具PhotoShop,矢量图绘制工具AI, 图形视频处理工具AE, ...

随机推荐

  1. Go part 5 结构体,方法与接收器

    结构体 结构体定义 结构体的定义只是一种内存布局的描述(相当于是一个模板),只有当结构体实例化时,才会真正分配内存空间 结构体是一种复合的基本类型,通过关键字 type 定义为 自定义 类型后,使结构 ...

  2. IE6图片透明问题

    网上很多解决IE6下png透明问题的方案,但是经本人实践,有的时候有用,有的时候并不能解决自己的问题.当是后者的时候,想到另外一种办法,就是当在IE6.IE7下使用gif图片,自己在测试的时候,如果g ...

  3. vue学习(4)-组件的创建,父子组件传值,$refs

    模块化:代码逻辑 组件化:UI 组件的创建:1.

  4. 干货,阿里P8浅谈对java线程池的理解(面试必备)

    线程池的概念 线程池由任务队列和工作线程组成,它可以重用线程来避免线程创建的开销,在任务过多时通过排队避免创建过多线程来减少系统资源消耗和竞争,确保任务有序完成:ThreadPoolExecutor ...

  5. MySQL详细知识点总结

    1 Windows服务 -- 启动MySQL net start mysql -- 创建Windows服务 sc create mysql binPath= mysqld_bin_path(注意:等号 ...

  6. 《浏览器工作原理与实践》<08>调用栈:为什么JavaScript代码会出现栈溢出?

    在上篇文章中,我们讲到了,当一段代码被执行时,JavaScript 引擎先会对其进行编译,并创建执行上下文.但是并没有明确说明到底什么样的代码才算符合规范. 那么接下来我们就来明确下,哪些情况下代码才 ...

  7. ubuntu系统---ubuntu16.04 + virtualenv + py2.7 + tf1.5.0 + keras2.2.4 + opencv2.4.9 +Numpy1.14

    ubuntu16.04 + virtualenv + py2.7 + tf1.5.0 + keras2.2.4 + opencv2.4.9 +Numpy1.14 @https://www.liaoxu ...

  8. Ubuntu系统---安装English版本之后的一些工作

                                                                      Ubuntu系统---安装English版本之后的一些工作 安装完U ...

  9. 02-命令篇——基础命令&常用命令

    基础命令 docker 启动与停止 启动docker systemctl start docker 停止docker systemctl stop docker 重启docker systemctl ...

  10. 顺序表Vector

    程序中会使用数据结构:例如:顺序表.链表.二叉树: 数据结构在底层中本质上只有两种:数据之间挨着和不挨着:   1.关于Vector