安装按pytorch的image,内心有着诸多疑问:
- 实例化一个image为container,在容器内安装tensorflow,将改进后的container保存为新的image,在新的机器上能运行tensorflow吗?(答案是可以的,cuda,python,tensorflow都可以直接装入镜像内)
新环境配置流程如下:
在container中配置了一系列的环境,其实比较认真的同学可以直接将大部分内容写入dockerfile,然后在生成image的时候就配置好,这里没有认真研习dockerfile,直接在container中装了,随后commit成image供调用。
创建container
nvidia-docker run --privileged=true -it --name test4 -e PYTHONIOENCODING=utf-8 -p 7778:8888 yxnd150150/pytorch:version2 /bin/bash
-e PYTHONIOENCODING=utf-8
nvidia-docker run --name test2 -p 8888:8888 -it yxnd150150/pytorch:version1
将修改过的container保存为image,参考网页
更新软件列表apt-get update
进入容器nvidia-docker exec -it test1 /bin/bash
安装vimapt-get install vim
设置阿里镜像源可以加速下载
安装python3.5apt-get install python3-pip python3-dev
(弃用)安装python3.5apt-get python3
注意启动python脚本要用python3
(弃用)安装pipapt-get install python3-pip
升级pippip install --upgrade pip
设置pip国内镜像源加速下载
(弃用)安装tensorflow1.6pip install tensorflow-gpu==1.6
安装tensorflow1.6pip install tensorflow-gpu==1.6
安装torchvision 0.21 pip install torchvision==0.2.1
安装pytorch1.01pip install torch==1.0.1 -f https://download.pytorch.org/whl/cu90/stable # CUDA 9.0 build
安装pycharm 用于调试sudo snap install [pycharm-professional|pycharm-community] --classic
(ssh问题,失败了,在docker中安装pycharm这种操作google了一下也没有见到,讲道理使用docker是用来部署产品的,调试应该在测试环境完成,所以这里跳过,先用jupyter notebook作为简单的文本浏览工具)
jupyter notebook 秘钥参考本文生成:‘sha1:d2ac5apt660dafb:abd701ea1aab28096309da04118674750f295184’
启动jupyter notebookjupyter notebook --allow-root --no-browser --ip=0.0.0.0
如有需要添加环境变量的话,参考该网址添加需要的lib库中的文件为环境变量
更改docker下编码方式为utf-8(否则运行带有中文的python脚本或用python读取带有中文字符的文本会报错:'ascii' codec can't encode charactersordinal not in range(128)
)
用到的命令
从本地拷贝文件到容器中docker cp 1.txt test1:/root
用到的网页
pytorch通过pip安装指令
cudnn安装(解压复制的那一套流程),记得制作链接此外,还有官网的教程
本来准备用deepo里面的dockerfile从头制作image,后来还是直接用了nvidia官方的image,dockerfile在此(虽然是有cudnn的,但是检查时没发现,所以自己重新装了cudnn7.03)
报错
apt-get install libglib2.0-dev
windows 使用fq代理的话,会导致连不上远程的jupyter notebook
后续
部署到其他ubuntu系统时,有些之前未出现的报错,记录供参考:
- 使用命令
nvidia-smi
时,出现“NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
解决办法参考网址 – 大概意思就是说cuda10适配410, cuda9适配394。 - 安装nvidia-docker2时报错"nvidia-docker install failure because of packages unmet problem on Ubuntu 16.04", 我的是因为docker-ce没有安装好,参考该网址更新了一下源,然后安装了docker-ce,最后重新安装nvidia-docker2就ok了