Docker对于在Linux下快速建立深度学习的工作环境很有帮助,参考一些文章,2小时安装完成。

0.预备

GCC,Python, CUDA等需要提前安装好。

CUDA上次安装Kaldi时我已经安装好了,是9.1版本。

1. 安装docker[1]

$ sudo apt-get remove docker docker-engine docker.io
$ sudo apt-get update
$ sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
$ sudo apt-get update

如果在 production 系統上安裝 docker 最好選擇固定版本,不然就直接用 latest (optional but recommanded)

$ apt-cache madison docker-cedocker-ce | 17.09.0~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packagesdocker-ce | 17.06.2~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packagesdocker-ce | 17.06.1~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packagesdocker-ce | 17.06.0~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packagesdocker-ce | 17.03.2~ce-0~ubuntu-xenial | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packagesdocker-ce | 17.03.1~ce-0~ubuntu-xenial | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packagesdocker-ce | 17.03.0~ce-0~ubuntu-xenial | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
$ sudo apt-get install docker-ce=17.09.0~ce-0~ubuntu

直接安裝 latest (fast in dev environment)

$ sudo apt-get install -y docker-ce

post installation

$ sudo groupadd docker
$ sudo usermod -aG docker $USER

重新登入測試能不能不用 sudo 執行 docker

$ docker run hello-world
$ sudo systemctl enable docker

若要移除

$ sudo apt-get purge docker-ce
$ sudo rm -rf /var/lib/docker

2. 安装 nvidia-docker


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

然后在执行下面这句,默认用nvdia-docker替代docker命令:

echo 'alias docker=nvidia-docker' >> ~/.bashrc
bash

3.下载使用TensorFlow镜像
从国内的阿里云Pull images拉取镜像:

sudo docker pull ubuntu # 获取 ubuntu 官方镜像
sudo docker pull registry.cn-hangzhou.aliyuncs.com/denverdino/tensorflow

查看当前镜像列表:

$ sudo docker images

基于某个镜像新建一个容器,并运行bash工具(镜像可以用IMAGE ID表示):

sudo docker run  -i -t registry.cn-hangzhou.aliyuncs.com/denverdino/tensorflow /bin/bash

在另一个终端窗口,查看容器:
sudo docker ps # 查看当前运行的容器, ps -a 列出当前系统所有的容器

sunfoot@sunfoot-BigBoy:~$ sudo docker exec -it 6665676662b1 /bin/bash
[sudo] sunfoot 的密码:
Error: No such container: 6665676662b1
sunfoot@sunfoot-BigBoy:~$ sudo docker ps
CONTAINER ID        IMAGE                                                     COMMAND             CREATED             STATUS              PORTS                NAMES
be332eead58b        registry.cn-hangzhou.aliyuncs.com/denverdino/tensorflow   "/bin/bash"         2 minutes ago       Up 2 minutes        6006/tcp, 8888/tcp   dreamy_lamport
sunfoot@sunfoot-BigBoy:~$ sudo docker exec -it be332eead58b /bin/bash

运行 TensorFlow,在Docker容器中打开一个 python 终端

$ python>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print sess.run(hello)
Hello, TensorFlow!
>>> a = tf.constant(10)
>>> b = tf.constant(32)
>>> print sess.run(a+b)
42

4. NotebookApp下运行Mnist数据集+TF[3]

5. 如何在容器与主机间共享文件

从Docker容器内拷贝文件到主机上,这里bf1bdfb8d32c是容器ID号。

docker cp bf1bdfb8d32c:notebooks/1_hello_tensorflow.ipynb  /home/sunfoot/Work/tmp

从主机拷贝文件到容器

用-v挂载主机数据卷到容器内 ,这里db2de2a7c410是IMAGE ID。

docker run -it -v /home/sunfoot/Work/tmp:/mnt db2de2a7c410 /bin/bash
在容器内拷贝
cp /mnt/sourcefile /path/to/destfile  

6. TF用GPU运行

可看到49b48d227d6e image是支持GPU的。

sunfoot@sunfoot-BigBoy:~$ docker image ls -a
REPOSITORY                                                TAG                 IMAGE ID            CREATED             SIZE
nvidia/cuda                                            latest              04a9ce0dec6d        3 months ago        1.96GB
tensorflow/tensorflow                             latest-gpu      49b48d227d6e        3 months ago        3.1GB
ubuntu                                                    latest             735f80812f90        3 months ago        83.5MB
hello-world                                             latest              2cb0d9787c4d        4 months ago        1.85kB
registry.cn-hangzhou.aliyuncs.com/denverdino/tensorflow   latest              db2de2a7c410        7 months ago        1.27GB

所以运行docker run -it -v /home/sunfoot/Work/tmp:/mnt 49b48d227d6e   /bin/bash

然后运行python tf_test_2.py, 这个脚本里是使用GPU的,如下.运行成功。

import tensorflow as tf

with tf.device("/gpu:0"):
  matrix1 = tf.constant([[3., 3.]])
  matrix2 = tf.constant([[2.],[2.]])
  product = tf.matmul(matrix1, matrix2)
  sess = tf.Session()
  result = sess.run(product)
  print result
  sess.close()

参考:

[1] https://wyde.github.io/2017/11/08/How-to-Install-Docker-CE-on-Ubuntu-16-04-and-Fedora-26/

[2] https://wyde.github.io/2017/11/09/How-to-Install-Tensorflow-using-Docker-on-Ubuntu-16-04/ 
[3] https://blog.csdn.net/baobei0112/article/details/79025309

[4] https://yeasy.gitbooks.io/docker_practice/content/container/run.html

Ubuntu+Docker+Tensorflow+GPU安装相关推荐

  1. 【tensorflow】tensorflow -gpu安装及jupyter环境更改

    tensorflow -gpu安装 首先,安装Anoconda 1. 官网下载点我: 2.安装 点击 python 3.6 version自动下载x64版,下载好之后,然后安装. 如图,打上勾之后,一 ...

  2. Windows Tensorflow GPU安装

    GPU资源对神经网络模型的训练很重要,应充分利用电脑的显卡资源,加快模型的训练速度.这里是本人安装tensorflow-gpu的过程,记录了安装的步骤以及在每个步骤中参考的资料以及所遇到的坑. 大体步 ...

  3. ubuntu下TensorFlow的安装

    众所周知,tensorflow是Google分布式机器学习框架,不仅本身集成好了很多机器学习算法的接口,也为机器学习和深度学习提供了框架平台.但就目前来看基于Ubuntu的tensorflow开发可以 ...

  4. vmware + ubuntu + docker+ tensorflow

     A. 在vmware里安装ubuntu,login登录后桌面空白的问题. 查了很多资料,各种折腾.最后是通过 virtual machine settings -->hardware -- ...

  5. 【AI实战】深度学习基础环境搭建(Ubuntu + anaconda + tensorflow + GPU + PyCharm)

    为方便日常的深度学习模型开发与测试,本人在自己笔记本上搭建一个深度学习的基础环境,便于学习AI使用.本人使用的笔记本配置是CPU为8代i5,显卡为GTX1060,内存为8G,基本上可满足日常的AI研究 ...

  6. ubuntu16.04+GTX1060+ CUDA9.0+CUDANN7.0 tensorflow(GPU)安装,实测有效,安装包我放在云盘中,直接下载使用。

    最近在运行一些 semantic segmentation 的代码,好多都是GPU版本的,自己就安装一下,记录一下,开始错了好多次,最后参考了一些文章,发现这个版本问题很重要,我用的是一下版本cuda ...

  7. tensorflow gpu安装_tensorflow-gpu安装配置

    1 介绍 目前,主流版本是tensorflow-gpu 1.12.0,线上安装这个版本,和这个版本搭配的cuda是9.0版本,cudnn版本是7.0.5. 2 cuda和cudnn安装 cuda驱动地 ...

  8. Tensorflow+gpu安装

    1.方法很简单:在安装好anaconda的前提下,直接用命令conda install tensorflow-gpu==1.4.1即可,其中1.4.1是版本号,可修改. 2.conda安装包如果没有指 ...

  9. Ubuntu 20.04 安装Tensorflow GPU版本 (GTX-1060显卡)

    Ubuntu 20.04 安装Tensorflow GPU版本 (GTX-1060显卡) 参考: https://cyfeng.science/2020/05/02/ubuntu-install-nv ...

最新文章

  1. 流媒体服务器之rtp协议,rtcp协议,rtsp协议,sdp协议,sip协议简析
  2. 【项目管理】绩效域-工件裁剪对照(工件维度)
  3. mongoDB3.4主从复制实现(第一种情况亲测)
  4. c++ dll继续使用然后强制删除dll文件_Windows 10系统安全风险,近300个系统执行文件容易遭受劫持攻击...
  5. python super用法
  6. 解决RM删除没有释放空间问题
  7. C语言 输出重复序列的序号,如何在FASTA序列中找到反向重复模式?
  8. py文件输出结果_24python中编码格式和文件操作
  9. ajax-form表单快速传递参数
  10. require('module') 是什么?
  11. 关于 Google“博客搜索”Ping 服务应用编程接口(API)
  12. xp系统下如何安装windows phone 7的软件xap文件
  13. 可视化大屏|2022年最值得推荐的10款可视化软件
  14. 安卓课设:翻译君APP(附开源地址)
  15. 云服务器搭建kms服务器-vol版本
  16. python人脸比对算法_人脸比对算法-人脸比较(1:N)
  17. matlab水汽通量,降水成因诊断分析水汽通量水汽通量散度可降水量.pptx
  18. xlsx 导出导入excel,xlsx-style 修改excel样式
  19. 【Shecan Notes】从二叉树出发浅谈风险中性定价
  20. 4G网络数据传输流程 四

热门文章

  1. 今天发现的好几个PP文字,不敢独享,gaga
  2. 大数据开发笔记(十):Hbase列存储数据库总结
  3. 数据分析过程注意事项
  4. 大数据可视化的重要性体现在哪里
  5. Python:pip下载库后导入Pycharm的方法
  6. s5原生android 5.0,三星Galaxy S5/S4吃上原生安卓5.0棒棒糖
  7. java redis pubsub_如何从Java中的生菜RedisPubSubListener获取消息?
  8. python编辑器使用技巧大全_markdown编辑器常用功能汇总
  9. python 保存dataframe_在python2中将dataframe保存到CSV
  10. TextRank算法