docker-torch-rnn

浏览: 1870

docker-torch-rnn的方式

1.  Installation of Docker     参考https://yeasy.gitbooks.io/docker_practice/content/install/ubuntu.html#使用脚本自动安装

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。可打包应用及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,实现虚拟化。完全使用沙箱机制,相互间不会有任何接口(类似 iPhone 的 app),容器性能开销极低。

Docker的优点:

  • 1、简化程序:
    改变了虚拟化方式,可直接将自己的成果放入Docker中进行管理。方便快捷。

  • 2、简化部署:
    如 Docker 镜像中包含了运行环境和配置,所以 Docker 可以简化部署多种应用实例工作。比如 Web 应用、后台应用、数据库应用、大数据应用比如 Hadoop 集群、消息队列等等都可以打包成一个镜像部署。

  • 3、节省开支:
    云计算时代无需配置高额的硬件,Docker 与云结合,让云空间得到更充分的利用。不仅解决了硬件管理的问题,也改变了虚拟化的方式。

下条命令是官方的Ubuntu 和 Debian简化套装脚本。执行这个命令后,脚本就会自动的将一切准备工作做好,并且把 Docker 安装在系统中。

sudo curl -sSL https://get.docker.com/ | sh

因墙的下载出错,可用阿里云的安装脚本

sudo curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -

2. Installation of nvidia-docker

因为GPU属于特定的厂商产品,需要特定的driverDocker本身并不支持GPU。以前如果要在Docker中使用GPU,就需要在container中安装主机上使用GPUdriver,然后把主机上的GPU设备(例如:/dev/nvidia0)映射到container中。所以这样的Docker image并不具备可移植性。

Nvidia-docker项目就是为了解决这个问题,它让Docker image不需要知道底层GPU的相关信息,而是通过启动containermount设备和驱动文件来实现的。

# Install nvidia-docker and nvidia-docker-plugin
wget -P /tmp https://github.com/NVIDIA/nvidia-docker/releases/download/v1.0.1/nvidia-docker_1.0.1-1_amd64.deb
sudo dpkg -i /tmp/nvidia-docker*.deb && rm /tmp/nvidia-docker*.deb
# Test nvidia-smi
nvidia-docker run --rm nvidia/cuda nvidia-smi

3. Start bash in the container

CPU only:

sudo docker run --rm -ti crisbal/torch-rnn:base bash

CUDA:

sudo nvidia-docker run --rm -ti crisbal/torch-rnn:cuda7.5 bash

会时间较长下载newer image for crisbal/torch-rnn:cuda7.5

4. Preprocess the sample data

python scripts/preprocess.py --input_txt data/tiny-shakespeare.txt --output_h5 data/tiny-shakespeare.h5 --output_json data/tiny-shakespeare.json

5. Train

th train.lua \
-input_h5 data/tiny-shakespeare.h5 \
-input_json data/tiny-shakespeare.json

6. Sample

th sample.lua -checkpoint cv/checkpoint_10000.t7 -length 2000

Own data

1. 把主机的数据拷贝到容器

sudo docker cp test.txt adf2db03ef9c:/root/torch-rnn/
推荐 0
本文由 safa 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册