注:原项目名叫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. http协议与soap协议之间的区别

    http是标准超文本传输协议.使用对参数进行编码并将参数作为键值对传递,还使用关联的请求语义.每个协议都包含一系列HTTP请求标头及其他一些信息,定义客户端向服务器请求哪些内容,服务器用一系列HTTP ...

  2. sql复杂的子查询,横向合并结果集

    第一个查询的结果集 select * from( select c.msName,a.msId,c.msPrice, c.msPrice*COUNT(a.msId) as totalMoney,sum ...

  3. Spark学习笔记1——第一个Spark程序:单词数统计

    Spark学习笔记1--第一个Spark程序:单词数统计 笔记摘抄自 [美] Holden Karau 等著的<Spark快速大数据分析> 添加依赖 通过 Maven 添加 Spark-c ...

  4. django 常用 详解

    Django 1 django框架介绍 是一个开源框架,2005年发布,采用Python语言编写的,早期时主要做新闻和内容管理的网站 Django本身提供了非常强大的后台管理系统 看中文说明文档 百度 ...

  5. Linux命令——gzip、zcat、bzip2、bzcat、tar

    参考:Linux命令——ar 为什么文件要压缩? 当文件过大时,无论是本地做备份,复制都很麻烦,而且还浪费磁盘空间.如果用网络传输,大文件无疑会浪费大量宝贵带宽.文件压缩技术可以有效解决这个问题,但是 ...

  6. 什么是领域模型(domain model)?贫血模型(anaemic domain model)和充血模型(rich domain model)有什么区别

    领域模型是领域内的概念类或现实世界中对象的可视化表示,又称为概念模型或分析对象模型,它专注于分析问题领域本身,发掘重要的业务领域概念,并建立业务领域概念之间的关系. 贫血模型是指使用的领域对象中只有s ...

  7. CentOS 7 根目录分区扩容

    查看现有磁盘信息,可以看出根分区有96G [root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mappe ...

  8. The "web.xml" is called web application deployment descriptor

    3.3  Configure the Application Deployment Descriptor - "web.xml" A web user invokes a serv ...

  9. [原创]VSCode debug jest的配置

    重拾JS的路从修改JS源码开始,修改JS源码从源码自带的test code开始.源码的test code使用了jtest框架,从test code刚好可以看到要修改部分的 多种传值方式,以及函数输出结 ...

  10. Python+request 将获取的url和接口响应时间(timeout)写入到Excel中《八》

    使用场景: 在工作中,常见某个功能的查询,当查询关联表特别多时,开发写的SQL语句等等问题导致响应时间较慢,那么作为测试需要将每个接口的响应时间进行测试,对同个接口多次执行,并将测试结果写入到exce ...