配置开发环境 Docker安装和Setup
- 深度学习框架:
- Tensorflow(Google), MXNet(Amazon), Caffe, Torch ...
Tensorflow 安装
pip install tensorflow
安装非常容易
Docker 一站式环境
容器化技术的实现。简单来说是个轻量级虚拟环境。 使用Docker的话本地不需要安装Python, Jupyter notebook, tensorflow, etc. Docker将一切所需打包好了。
docker -v
查看版本
docker run tensorflow/tensorflow
以tensorflow这个image为模板构建容器
docker run -it tensorflow/tensorflow
在用Jupyter Notebook时可在命令行与容器里的参数一些交互
docker run -it -p 8888:8888 tensorflow/tensorflow
容器内部会在8888端口开一个服务。如果不映射的话,主机默认是无法访问的;因为容器与主机是隔离的。通过-p
参数可以将服务映射到主机,通过主机可以访问。
docker ps
看服务进程状态
docker ps -a
可以看到目前不在运行的服务
docker start -i container_id
恢复服务
docker rm container_id
删除容器
docker stop container_id
停止容器
需将本地的目录映射到容器
docker run -it -p 8888:8888 -v ~/Documents/Study/DeepLearning101-002:/tensorflow tensorflow/tensorflow
冒号前是本地路径,冒号后是容器路径
出现的问题,可以通过在新建的Python notebook中以!ls /tensorflow
可以查看主机的文件,却没有办法在Host中显示文件
在Issues中参考了yiiina同学的问题,用下面的方式重新映射,可以解决了。
docker run -it -p 8888:8888 -v ~/Documents/Study/DeepLearning101-002:/notebooks/DeepLearning101-002 tensorflow/tensorflow
Docker image w/ Python3
参考kidult00同学的分享
Steps
docker run tensorflow/tensorflow:latest-py3
可以(安装并)打开 Python3 环境 2.docker run -it -p 8888:8888 -v ~/Documents/Study/DeepLearning101-002:/notebooks/DeepLearning101-002 tensorflow/tensorflow:latest-py3
既可以在Python3环境下使用使用
docker rename practical_carson py2/py3
命令重命名两个环境,方便下次使用
Docker高级(relatively)
常见的一个误区,是不断用 docker run
重新建立 container。这样会消耗一些硬盘资源,长时间之后,在 docker ps -a
中会看到大量停止的 container。正确的方法应该是用 docker start -i container_id
来『启动』之前停止的 container。
用下面的命令可以清理掉所有处于终止状态的容器 docker container prune
容器变镜像
Docker 提供了一个命令,可以把自己当前运行的某个容器,变成一个新的镜像。
docker commit container_id image_name~
注意要先 stop 这个 container,才能 commit 为一个 image。
docker commit 4c2b9c69b589 my_image
docker images
删除本地镜像
docker rmi [选项] <镜像1> [<镜像2> ...]
注意是rmi
不是 rm
(删除容器)
bash启动
docker run -it -p 8888:8888 -p 6006:6006 -v ~/Documents/Study/DeepLearning101-002:/notebooks/DeepLearning101-002 my_image /bin/bash
tensorboard
!tensorboard --logdir="/tensorflow/tf" reload_interval=1 -- port 6006
另开一个Jupyter notebook 运行上述命令
Change Logs
- 2017.10.14 创建
- 2017.10.15 更新tensorflow本地目录映射
- 2017.10.25 更新Python3环境
- 2017.11.11 更新停止
docker
命令 - 2017.11.29 更新Docker高级
- 2017.12.02 更新tensorboard命令