nvidia docker容器不支持中文的解决办法_用docker搭建深度学习实验环境
tensorflow和pytorch官方都維護(hù)了不同版本的docker鏡像。借助docker我們可以方便的搭建起深度學(xué)習(xí)實驗環(huán)境。
但是想要在同一個容器內(nèi)同時擁有tensorflow、pytorch、jupyter notebook 并支持GPU,就需要自己來動手了。
硬件環(huán)境:
華碩b450主板 AMD r7 2700 CPU NVIDIA 2060 RTX顯卡 16G內(nèi)存軟件環(huán)境:
ubuntu 18.10 docker ce 18.09.3 nvidia驅(qū)動:nvidia-driver-418配置思路:
基于tensorflow + gpu + jupyter鏡像,再在容器內(nèi)安裝pytorch即可。
開始動手:
1、到Docker Hub找一個合適的docker鏡像:
就用nightly-gpu-py3-jupyter了, 拉下來
docker pull tensorflow/tensorflow:nightly-gpu-py3-jupyter2、參考tensorflow官方教程。要在docker內(nèi)使用gpu,首先需要在host環(huán)境下安裝nvidia-docker。
官方教程: https://www.tensorflow.org/install/docker
nvidia-docker項目地址:NVIDIA/nvidia-docker
注意:nvidia-docker對系統(tǒng)docker版本的要求極為嚴(yán)格,請仔細(xì)檢查兼容性。
提示:為了不必要的麻煩,我直接重新安裝了nvidia官方推薦的docker版本。(由于nvidia-docker尚不支持ubuntu18.10 Cosmic Cuttlefish,我安裝的docker ce是適配18.04 Bionic Beaver的版本--> Index of linux/ubuntu/dists/bionic/pool/stable/amd64/)
docker安裝教程,請參考:Get Docker CE for Ubuntu
3、如果一切正常,安裝完成nvidia-docker后就可以在docker容器內(nèi)使用gpu了。
測試一下: docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi
注意 --runtime=nvidia是必須的,否則容器內(nèi)檢測不到GPU
4、啟動tensorflow/tensorflow:nightly-gpu-py3-jupyter,就可以擁有一個支持tensorflow+GPU+jupyter notebook的實驗環(huán)境了:
docker run --runtime=nvidia --name tf --rm -it -v /home/helo/data/tf:/tf -p 8888:8888 tensorflow/tensorflow:nightly-gpu-py3-jupyter訪問localhost:8888,輸入token就能進(jìn)入jupyter notebook了
檢查一下GPU是否工作正常:
from tensorflow.python.client import device_lib device_lib.list_local_devices()5、添加pytroch支持
稍微修改一下剛才的docker run命令,讓容器啟動在后臺。
docker run --runtime=nvidia --name tf -dt -v /home/helo/data/tf:/tf -p 8888:8888 tensorflow/tensorflow:nightly-gpu-py3-jupyter使用docker exec命令進(jìn)入容器內(nèi):
docker exec -it tf bash安裝pytorch:
pytorch官方安裝教程:PyTorch
需要檢查一下容器內(nèi)python和cuda的版本:
python --version nvcc --version根據(jù)pytorch官方提示完成安裝
6、檢測pytorch是否安裝成功(可能需要重啟容器)
import torch if torch.cuda.is_available():device = torch.device("cuda") # a CUDA device objecty = torch.ones_like(x, device=device) # directly create a tensor on GPUx = xto photography and illustration competition(device) # or just use strings ``.to("cuda")``z = x + yprint(z)print(Denise and Gary Zimmerman's Home On The Web("cpu", torch.double))至此,基于docker的深度學(xué)習(xí)實驗環(huán)境就配置完成了。記得docker commit一下。
補充:也可以在jupyter內(nèi)的Terminal上完成pytorch安裝
https://cloud.docker.com/repository/docker/roughwin/ml
總結(jié)
以上是生活随笔為你收集整理的nvidia docker容器不支持中文的解决办法_用docker搭建深度学习实验环境的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql check exist_my
- 下一篇: python中pos()_python中