注:原项目名叫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. RGB转YUV 各种库的性能比较

    分辨率   1920*1080 平台  : X64  Windows  VS2015 测试  BGR24-->YUV420 trans_scale: 4.14 ms (自己写得)libyuv  ...

  2. Linux学习笔记:cut命令

    基础 功能:文件内容查看,显示行中指定部分,删除文件中指定字段.cut 命令用于显示每行从开头算起 a - b 的文字. 语法: cut [-bn] [file.txt] cut [-c] [file ...

  3. 一线互联网常见的Java面试题,你颤抖了吗程序员

    跳槽不算频繁,但参加过不少面试(电话面试.face to face面试),面过大/小公司.互联网/传统软件公司,面糊过(眼高手低,缺乏实战经验,挂掉),也面过人,所幸未因失败而气馁,在此过程中不断查缺 ...

  4. Apache Maven setting.xml

    <?xml version="1.0" encoding="UTF-8"?> <!-- Licensed to the Apache Soft ...

  5. mysql 创建用户并授权数据库

    create user test identified by ‘password’:password  你要创建的用户对应的密码 grant all on database.*  to  test;  ...

  6. 单元测试框架之unittest(五)

    一.摘要 单元测试里很重要的一个部分就是断言,unittest为我们提供了很多断言方法,断言方法分为三类,一种是用来断言被测试的方法的,另一种是测试是否抛正确异常的,第三种是用来断言日志是否包含应有信 ...

  7. AutoMapper 的简单使用

    var config = new MapperConfiguration( cfg => cfg.CreateMap<SYS_Menu, MenuTreeNode>() .ForMe ...

  8. 如何python循环中删除字典元素

    //下面这行就是在循环中遍历删除字典元素的方法! for i in list(dictheme2.keys()): if dictheme2[i]<self.countFortheme: dic ...

  9. linux实操_shell流程控制

    if判断: 基本语法: if [ 条件判断式 ] then 程序 elif [ 条件判断式 ] then 程序 fi 实例:请编写一个shell程序,如果输入的参数,大于60,则输出“及格了”,如果小 ...

  10. CentOS7.x安装Wiki.js知识库

    近期有个需求,搭建一个知识管理系统,所以就找了几个可作为知识管理的软件,最终定位到wiki.js,之所以选择这个,是看中了它的易部署性,该项目是在2016年12月推出了第一个版本,算是比较新的项目了, ...