Keras+Tensorflow+Jupyter 安装在Docker容器中运行

Keras 安装在Docker容器中运行

将Keras放到Docker+Jupyter中运行,不只便于安装、兼容性好、容易迁移,并且能够经过Notebook的浏览器界面远程访问。这里介绍将Keras安装在Docker容器中运行的方法和步骤,经过Jupyter Notebook进行容器服务的Python代码编写,经过web浏览器进行远程访问。html

先获取一个现成的镜像:node

docker pull kaixhin/keras

把这个镜像做为一个容器运行起来:python

docker run -it --name keras -p 8880:8888 -v /***/OpenAI:/Users kaixhin/keras
  • -it 选项启动一个交互式的shell,注意退出时容器实例也会退出。
  • --name 容器的名称,建议取一个本身的名称,若是没有,系统将自动给一个。
  • -p 映射端口,8880为外部访问端口,8888为容器内部端口,不然外面主机访问不到服务。
  • -v 上面的/***/OpenAI为本身的本地目录,映射到容器中访问,用于与宿主机的共享数据存放。

查看容器状态:git

- 查看全部的镜像:docker images
- 查看运行的容器:docker ps
- 查看全部的容器:docker ps -agithub

而后,就能够:web

  • 退出后从新启动容器:docker start keras
  • 保存当前容器到镜像:docker commit keras openthings/keras

安装Jupyter, Web界面

sudo apt-get install vim -y
sudo apt-get update
sudo apt-get upgrade -y

sudo apt-get install python3-pip -y
sudo pip3 install jupyter
ipython3 kernel install

安装Python2内核:

python2 -m pip install ipykernel
python2 -m ipykernel install --user

安装Jupyter扩展

Jupyter已经有不少扩展,能够支持不少种开发语言,查看https://github.com/ipython/ipython/wikidocker

交互界面扩展组件

pip install ipywidgets
jupyter nbextension enable --py widgetsnbextension

安装Scala支持

sudo apt-get install openjdk-7-jre
sudo curl -L -o jupyter-scala https://git.io/vrHhi && chmod +x jupyter-scala && ./jupyter-scala && rm -f jupyter-scala

安装Spark的支持

Spark的Jupyter支持已经发展了多个项目,各有侧重,目前代替Spark Shell的功能已经绰绰有余。shell

#配置Jupyter远程访问apache

jupyter notebook --generate-config

将生成文件:~/.jupyter/jupyter_notebook_config.pyvim

而后,编辑:

vim ~/.jupyter/jupyter_notebook_config.py

按“I”键,进入修改状态,修改成以下:

144: c.NotebookApp.ip = '*'
185: c.NotebookApp.open_browser = False

注意,若是不在局域网使用,须要设置密码,参考Jupyter相应的设置:

按“Esc”、“:”键,输入“wq”,保存,退出vim。

客户端在浏览器运行

** 注意,启动容器时必定要映射端口到宿主机,如前“-p 8880:8888”参数,里面的8888为缺省的Jupyter端口,8880为外面可访问的主机端口。**

GPU/CUDA支持

要在Docker中启用CUDA,建议使用NVidia-docker容器宿主程序。

##下载NVidia官方驱动

NVidia官网下载驱动。默认的Linux使用的开源驱动运行nvidia-docker会有问题。

须要的话,安装Cuda专用支持软件

##安装nvidia-docker

按照https://github.com/NVIDIA/nvidia-docker的说明安装。

# Install nvidia-docker and nvidia-docker-plugin
wget -P /tmp https://github.com/NVIDIA/nvidia-docker/releases/download/v1.0.0-rc.3/nvidia-docker_1.0.0.rc.3-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

##启用CUDA版的Docker容器

启动时应使用CUDA对应的Docker版本

docker pull kaixhin/cuda-keras
nvidia-docker run -it --name keras -p 8880:8888 -v /***/OpenAI:/Users kaixhin/cuda-keras
  • 注意:把上面/***/OpenAI改为本身的宿主机目录,是用来作宿主机存储的。

运行的时候若是出错,多是显卡驱动的缘由。参考http://www.javashuo.com/article/p-hzsztqrc-em.html更新为NVidia的官方驱动后就能够了。

相关文章
相关标签/搜索