当前位置: 首页 > news >正文

在Docker中运行tensorflow版的neural style

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

在Docker中运行tensorflow版的neural style 博客分类: 深度学习

## 概览

相关的代码都在Github上,请参见我的Github,https://github.com/lijingpeng/neural-style
敬请多多关注哈~~~

## Docker镜像构建

Dockerfile如下:

FROM tensorflow/tensorflow:latest

RUN echo deb http://mirrors.aliyun.com/ubuntu trusty universe >> /etc/apt/sources.list
RUN echo deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse >> /etc/apt/sources.list
RUN echo deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse >> /etc/apt/sources.list
RUN echo deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse >> /etc/apt/sources.list
RUN echo deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse >> /etc/apt/sources.list
RUN echo deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse >> /etc/apt/sources.list
RUN echo deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse >> /etc/apt/sources.list
RUN echo deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse >> /etc/apt/sources.list
RUN echo deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse >> /etc/apt/sources.list
RUN echo deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse >> /etc/apt/sources.list
RUN echo deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse >> /etc/apt/sources.list
RUN apt-get update

# clone code
RUN apt-get install -y --no-install-recommends git
RUN git clone https://github.com/anishathalye/neural-style.git

# install pillow and its dependences
RUN apt-get install -y libffi-dev libssl-dev libtiff5-dev libjpeg8-dev zlib1g-dev \
    libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk
RUN pip install --trusted-host pypi.douban.com -i http://pypi.douban.com/simple/ -U pip
RUN pip install --trusted-host pypi.douban.com -i http://pypi.douban.com/simple/ -U Pillow
# RUN pip install --trusted-host pypi.douban.com -i http://pypi.douban.com/simple/ -U pyopenssl ndg-httpsclient pyasn1

# Too slow, use docker volume instead
# RUN apt-get install -y wget
# RUN wget http://www.vlfeat.org/matconvnet/models/beta16/imagenet-vgg-verydeep-19.mat
# RUN mv imagenet-vgg-verydeep-19.mat neural-style

CMD ["/run_jupyter.sh"]

复制这段代码,创建名为Dockerfile的文件,然后执行:

docker build -t docker_neural_style .

注意:

  1. 本镜像的构建基于Tensorflow官方,请放心使用
  2. 依赖已经训练好的网络:imagenet-vgg-verydeep-19.mat,这个文件有500M多,下载站点在国外,不建议在Docker构建过程中直接下载,可以使用下载工具比如迅雷下载到本地,然后把文件映射到容器中就可以了。

## 下载已经训练好的深度网络

wget http://www.vlfeat.org/matconvnet/models/beta16/imagenet-vgg-verydeep-19.mat

假设该文件保存在 /Users/you/ 目录下

## 在Docker中执行

docker run -it -p 8888:8888 -v /Users/you:/notebooks/neural-style-mat docker_neural_style /bin/bash

注意:这条命令将/Users/you/映射到容器中的/notebooks/neural-style-mat并启动容器。

python neural_style.py --content examples/1-content.jpg --styles examples/1-style.jpg --output examples/myoutput.jpg --network ../neural-style-mat/imagenet-vgg-verydeep-19.mat

执行neural_style脚本。
需要注意的是Tensorflow不支持L-BFGS, 并且由Tensorflow的实现比Torch慢三倍左右。在笔者的MacBook Pro上,纯CPU跑梵高风格画作迭代1000轮要耗时6个小时左右。鉴于此,有条件的直接上GPU吧。

 

http://www.cnblogs.com/lijingpeng/p/6009476.html

转载于:https://my.oschina.net/xiaominmin/blog/1597078

相关文章:

  • Zookeeper开源客户端框架Curator简介
  • 使用httpclient、htmlcleaner 、xpath 采集新浪微博3G站点数据
  • Redis Cluster(Redis 3.X)设计要点
  • 一张图看懂阿里云网络产品【四】NAT网关
  • redis入门学习
  • 最长k可重区间集问题
  • Android中的消息机制
  • Python爬虫入门之Urllib库的基本使用
  • SAML(Security assertion markUp language) 安全断言标记语言
  • Windows 系统变量
  • python学习笔记(四):函数
  • [THUWC 2017]在美妙的数学王国中畅游
  • Spring框架之我见(三)——IOC、AOP
  • 敏捷公关
  • js操作时间(持续更新)
  • ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • canvas 高仿 Apple Watch 表盘
  • Java多线程(4):使用线程池执行定时任务
  • java中具有继承关系的类及其对象初始化顺序
  • Spring Cloud(3) - 服务治理: Spring Cloud Eureka
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • Spring技术内幕笔记(2):Spring MVC 与 Web
  • 分享几个不错的工具
  • 构造函数(constructor)与原型链(prototype)关系
  • 跳前端坑前,先看看这个!!
  • 小程序button引导用户授权
  • 译米田引理
  • 怎么把视频里的音乐提取出来
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • #pragma pack(1)
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • $.ajax()方法详解
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (26)4.7 字符函数和字符串函数
  • (C++17) std算法之执行策略 execution
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
  • .net Signalr 使用笔记
  • .NET 服务 ServiceController
  • .NET 使用配置文件
  • .NET开发不可不知、不可不用的辅助类(一)
  • .NET框架
  • .Net下C#针对Excel开发控件汇总(ClosedXML,EPPlus,NPOI)
  • .pub是什么文件_Rust 模块和文件 - 「译」
  • @Controller和@RestController的区别?
  • @html.ActionLink的几种参数格式
  • [.NET 即时通信SignalR] 认识SignalR (一)
  • [1127]图形打印 sdutOJ
  • [2]十道算法题【Java实现】
  • [20190401]关于semtimedop函数调用.txt
  • [AIGC] 如何建立和优化你的工作流?
  • [Android Pro] AndroidX重构和映射
  • [Android 数据通信] android cmwap接入点