深度學習環境搭建起來比較麻煩,特別是 GPU 加速版。既要安裝 Nvidia 的驅動,又要安裝 cuda 和 cuDNN 。本文通過 docker 容器技術搭建基於keras (tensorflow) 的深度學習環境。
Docker 是一種容器技術,將你要運行的任何環境只通過幾行命令就可以搭建完成。而 Docker 中除了用普通的 docker pull 方式直接拉去現成的深度學習鏡像來搭建深學環境外,還可以通過用 Dockerfile 來完成這一任務。
經過筆者的不(jian)懈(chi)努(cai)力(keng),一個完整的經過測試的深度學習 Dockerfile 見以下鏈接:
https://github.com/zhudaoruyi/deep-learning-gpu-env
從 GitHub 上 clone 完后,(記住給個 Star )進入到 Dockerfile 所在的目錄。
Dockerfile 構建鏡像的方法
docker build -t name:tag .
運行該鏡像的方法gpu加速)運行該鏡像的方法(GPU加速)
nvidia-docker run -d -p 8888:8888 --name test -v /home/pzw:/home/workspace 鏡像ID nvidia-docker exec -it 容器ID
保存該鏡像的方法)保存該鏡像的方法
docker save -o 鏡像名稱
保存該容器的方法
docker export -o 容器名稱
nvidia-docker 的安裝
參考 https://github.com/zhudaoruyi/nvidia-docker
注意:安裝 nvidia-docker 之前先安裝好 docker
為了確認 nvidia-docker 是否安裝成功,運行
nvidia-docker run --rm nvidia/cuda nvidia-smi
如果正確輸出了本機的 GPU 信息,則安裝成功。
例如:
+-----------------------------------------------------------------------------+ | NVIDIA-SMI 367.48 Driver Version: 367.48 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 Tesla M40 24GB Off | 0000:02:00.0 Off | 0 | | N/A 33C P0 57W / 250W | 22427MiB / 22939MiB | 0% Default | +-------------------------------+----------------------+----------------------+ | 1 Tesla M40 24GB Off | 0000:82:00.0 Off | 0 | | N/A 37C P0 58W / 250W | 21663MiB / 22939MiB | 0% Default | +-------------------------------+----------------------+---------------------