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的官方驅動後就能夠了。

相關文章
相關標籤/搜索