在Docker中运行torch版的neural style
相关的代码都在Github上,请参见我的Github,https://github.com/lijingpeng/deep-learning-notes
敬请多多关注哈~~~
在Docker中运行torch版的neural style
TensorFlow neural-style, TensorFlow版本的实现比Torch版本的实现要慢很多,因此本文介绍如何运行torch版本的neural style。为了避免搭建环境时候解决各种烦人的依赖问题,这里依然使用Docker环境,Dockerfile来自这里. 环境搭建可以参考这里
torch版本的neural style来自于jcjohnson-neural-style,支持CPU和GPU,依赖torch7和loadcaffe,Docker环境中已经安装好了这些依赖。
下载训练好的VGG网络
首先clone代码:
https://github.com/jcjohnson/neural-style
neural style需要训练好的VGG网络结果,这里需要提前下载好:
sh models/download_models.sh
需要加载以下两个文件:
VGG_ILSVRC_19_layers.caffemodel
VGG_ILSVRC_19_layers_deploy.prototxt
caffemodel文件比较大,建议使用下载工具下载到本地。
在Docker中运行
第一步:运行Docker
由于VGG训练结果文件、图片文件等都存放到了本地电脑上,因此我们在启动docker时需要把这些文件映射到Docker中
docker run -it -p 8888:8888 -p 6006:6006 -v /Users/frank:/root/sharedfolder floydhub/dl-docker-load:cpu
我这里直接把用户主文件夹映射进去了,实际可以根据自己文件的存放位置来调整。
第二步:进入neural style代码的目录
假设clone下来的代码存放到了/Users/frank/Downloads/neural-style下,则:
cd ~/sharedfolder/Downloads/neural-style
第三步:执行
th neural_style.lua -style_image examples/inputs/starry_night.jpg -content_image ~/sharedfolder/Downloads/content.png -output_image ~/sharedfolder/Downloads/nn_out.png -model_file ~/sharedfolder/Downloads/VGG_ILSVRC_19_layers.caffemodel -proto_file ~/sharedfolder/Downloads/VGG_ILSVRC_19_layers_deploy.prototxt -gpu -1 -optimizer adam -num_iterations 800 -print_iter 1
- -style_image 表示风格图片文件位置
- -content_image 表示内容图片的位置,也就是你想要改变风格的文件
- -output_image 表示输出文件位置
- -model_file 表示下载好的caffemodel文件
- -proto_file caffemodel模型的配置文件
- -gpu -1 -1表示不采用GPU,使用CPU版本
- -optimizer adam 优化方式选择adam,速度较快,但是结果一般没有L-BFGS好
- -num_iterations 迭代次数
- -print_iter 1 每一轮迭代都要在控制台上显示一次结果
更多参数设置请参考:neural-style
接下来就是漫长的等待了,如果使用CPU的话这个等待时间将会非常长...
最后在-output_image的指定位置查看模型的数据结果。需要注意的是请不要把模型的数据结果输出到Docker的内部文件夹中,因为一旦Docker执行过程中崩溃或者关闭,你的所有内容将会被丢弃。因此一定要把结果放到映射好的宿主机文件夹中。
在Docker中运行torch版的neural style的更多相关文章
- 在Docker中运行EOS(MAC版)
在Docker中运行EOS(MAC版) 在Docker中也可以简单快速的构建EOS.IO.笔者在Mac平台下参考官方文档躺了一次河.记录如下: 安装依赖 Docker 版本 17.05或者更高 tes ...
- 在docker中运行jenkins实现代码自动发布到测试服务器
在docker中运行jenkins 用的镜像是apline版:lts-alpine,并设置正确的时区. docker run --name jenkins_master -d \ -p 8081:80 ...
- 如何让传统ASP.NET网站在Docker中运行
本文主要描述如何让传统ASP.NET网站在Docker中运行,侧重Docker image 搭建. 使用条件: Docker for windows 用户切换到Windows 容器模式 Windows ...
- 在docker中运行ASP.NET Core Web API应用程序
本文是一篇指导快速演练的文章,将介绍在docker中运行一个ASP.NET Core Web API应用程序的基本步骤,在介绍的过程中,也会对docker的使用进行一些简单的描述.对于.NET Cor ...
- .NET Core Web 应用部署到 Docker 中运行
环境介绍 : 虚拟机:VirtualBox 5.1.6 系 统:Ubuntu 16.04.1 LTS 系统准备完成后可以使用 sudo apt-get udpate 和 sudo apt-get up ...
- docker中运行ASP.NET Core Web API
在docker中运行ASP.NET Core Web API应用程序 本文是一篇指导快速演练的文章,将介绍在docker中运行一个ASP.NET Core Web API应用程序的基本步骤,在介绍的过 ...
- ASP.NET Core 网站在Docker中运行
Docker作为新一代的虚拟化方式,未来肯定会得到广泛的应用,传统虚拟机的部署方式要保证开发环境.测试环境.UAT环境.生产环境的依赖一致性,需要大量的运维人力,使用Docker我们可以实现一次部署, ...
- 在Docker中运行纸壳CMS并配置使用MySql
纸壳CMS是基于ASP.Net Core开发的可视化内容管理系统,可以跨平台部署,可以在容器中运行.接下来看看如何在docker中运行纸壳CMS. GitHub:https://github.com/ ...
- 在docker中运行elasticsearch时go程序无法连接到节点
错误信息: panic: no active connection found: no Elasticsearch node available 在docker中运行es时,默认启动sniffing ...
随机推荐
- JavaScript 中的事件设计
1. 事件绑定的几种方式 主要介绍一下 最常用的事件设计 其他就稍微带过. 直接在代码里面添加onclick指定函数名字. B) 在JS代码中通过dom元素的onclick等属性 这种做法this表 ...
- jQuery制作焦点图(轮播图)
焦点图(轮播图) 案例 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...
- iptables 实现centos内网机器访问外网
环境:一台带外网和内网的机器,另一台只有内网,默认不能上网.两台机器都是centos系统带外网机器的外网ip为 123.221.20.11, 内网ip为 192.168.15.100内网机器的内网ip ...
- MVC5移除不常用Nuget命令
---移除JQuery.* 和bootstartp Uninstall-Package bootstrap Uninstall-Package Microsoft.jQuery.Unobtrusive ...
- JavaScript操作剪贴板(转)
IE是第一个支持与剪贴板相关的事件,以及通过JavaScript访问剪贴板数据的浏览器.IE的实现成为了某种标准,不仅Safari 2.Chrome和Firefox 3也都支持类似的事件和剪贴板(Op ...
- Solr导入数据库数据
接Solr-4.10.2与Tomcat整合.1.在solrconfig.xml中添加数据导入节点,solrconfig.xml路径为D:\solr\data\solr\collection1\conf ...
- hdu4296 贪心
E - 贪心 Crawling in process... Crawling failed Time Limit:2000MS Memory Limit:32768KB 64bit I ...
- C++中string类的基本用法
#include <iostream> #include <set> using namespace std; int main() { string line; getlin ...
- jquery 1.9 之后toggle不能用的问题
今天用到toggle这个方法,发现不是自己想要的效果,之前有用过好多次,一直都没有问题. 网上查了原因,才知道是版本的问题,jquery1.9之后toggle取消了.那么如果想要继续用toggle的这 ...
- irms模拟数据生成及数据分析
一.数据准备 1.每天生成随机一个文本,每小时向文本中追加2次数据,每次10万条 随机数据生成: 2,32 * * * * bash /mnt/jediael/irms/signalGenerat ...