【说明】:利用Ubuntu18.04镜像安装GPU版pytorch,包括anaconda、cuda等;也可利用本教程直接在ubuntu系统安装
一、拉取Ubuntu18.04镜像
1.确保电脑已经安装docker
已安装的可跳过
docker安装网上有很多教程
最简单的方法:小鱼一键安装
2.在docker hub上下载Ubuntu18.04镜像
(1)点击plain下载镜像(网址)
(2)在下载镜像的文件夹下新建dockerfile文件,文件放入以下内容
FROM scratch
ADD ubuntu-bionic-oci-amd64-root.tar.gz /
CMD ["bash"]
如下图所示
3.构建镜像
在上述图片位置打开终端,输入
docker build -f ./dockerfile -t ubuntu18.04:latest .
4.拉取成功
输入 docker images,出现ubuntu18.04的镜像
二、创建容器
1.确保电脑已经安装显卡驱动,以及nvidia-docker
(1)显卡驱动安装: 参考网上教程安装即可
建议利用自带的软件和更新,比较方便
安装成功后,输入 nvidia-smi,即可看到驱动版本
(2)nvidia-docker
安装步骤:网址
按照步骤安装即可,本人已成功安装。里面包含cuda
2.GUI可视化
sudo apt-get install x11-xserver-utils
xhost +
3.创建容器
输入
sudo docker run --gpus all -it -e NVIDIA_DRIVER_CAPABILITIES=all --device=/dev/dri --group-add video --volume=/tmp/.X11-unix:/tmp/.X11-unix --env="DISPLAY=$DISPLAY" --name pytorch -v 文件交互路径:/home:rw ubuntu18.04:latest /bin/bash
填上文件交互路径,我习惯将容器内/home和外部文件进行交互。比如我的路径是:/home/star/use/docker/pytorch/home:/home:rw
进入容器后,可输入nvidia-smi进行检查
三、anaconda安装
1.安装包下载
下载网址
我下的是这一版:Anaconda3-2021.11-Linux-x86_64.sh
2.安装
将安装包复制到交互的文件夹中
输入
bash Anaconda3-2021.11-Linux-x86_64.sh
按回车,出现
输入:yes
输入:回车,默认路径安装
输入:yes
安装成功!
3.配置环境变量
(1)安装vim文本编辑器(本人习惯用这一款)
apt update
apt install vim
(2)配置变量
cd /etc/
vim bash.bashrc
将 export PATH=$PATH:/root/anaconda3/bin 放在文件末尾
source ./bash.bashrc
4.测试
conda info -e
anaconda安装成功!
四、安装pytorch
1.创建虚拟环境
conda create -n pytorch python=3.6
安装成功后,重启容器
docker ps -a # 查询容器id
输入
docker start 容器id
docker exec -it 容器id /bin/bash
激活pytorch虚拟环境
conda activate pytorch
2.安装pytorch
Pytorch官网提供了各种安装方法
我们系统支持的cuda版本没有这么高,我们要去找历史pytorch版本
conda install pytorch==1.10.2 torchvision==0.11.3 torchaudio==0.10.2 cudatoolkit=11.3 -c pytorch
安装完成!
3.测试
五、安装jupyter notebook
apt-get update
apt-get install python-dev
pip3 install jupyter -i https://pypi.tuna.tsinghua.edu.cn/simple/
配置
jupyter notebook --generate-config
ipython
In[1]:from notebook.auth import passwd
In[2]:passwd()
输入密码:
确认密码:
Out[2]:'生成密钥' #保存密钥
In[3]:exit() #推出ipython
vim /root/.jupyter/jupyter_notebook_config.py
c.NotebookApp.password=u'密钥'
c.NotebookApp.allow_remote_access = True
c.NotebookApp.ip='*'
c.NotebookApp.open_browser = False
c.NotebookApp.port = XXXX #端口号
#保存退出
放行linux防火墙:
在容器外运行:
sudo firewall-cmd --zone=public --add-port=XXXX/tcp --permanent
sudo systemctl restart firewalld
注:如果找不到firewall-cmd命令
请输入 sudo apt install firewalld firewall-config
容器内:
apt-get install net-tools
#如果安装失败,可以利用报错链接下载.deb文件,通过dpkg -i命令进行安装
ifconfig
#记住eth0的IP地址
jupyter notebook --allow-root
打开浏览器,输入 IP地址:XXXX(映射的端口号)
输入密码即可
jupyter部分参考:http://t.csdn.cn/0bbdj