• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

从头配置深度学习环境docker拉取镜像、创建容器、安装python3.6、离线安装指定版本pytorch、通过pycharm使用docker等

武飞扬头像
tales_teller
帮助1

        手头有个项目,需要一个很麻烦的环境,要用服务器的gpu跑深度学习,同时要求python版本为3.6,pytorch版本为1.3.0,这两个版本刚好都被官方途径删除了,只能通过各种奇怪的方式进行安装,踩了不少坑,所以记录一下。希望以后能碰到一些阳间项目,官方安装就可以顺利装完那种。

话不多说,直接开始:

一、选取合适的docker镜像,需要将显卡驱动、cuda版本、pytorchcuda版本等互相对应。

        docker的安装这里就略过了。

1.查看显卡驱动版本

 nvidia-smi

        学新通

         选择的cuda版本低于上图中的cuda版本就行了。

Torchvision与Pytorch匹配的版本安装方法 - 知乎

        离线pytorch的下载地址是:https://download.pytorch.org/whl/torch_stable.html

        综合我的需求,我最终选择了cu100/torch-1.3.0+cu100-cp36-cp36m-linux_x86_64.whl

        cu100表示是使用gpu,且cuda版本为10.0,cp36表示使用python3.6,最后是linux64位操作系统。

        另一个选的是cu100/torchvision-0.4.1+cu100-cp36-cp36m-linux_x86_64.whl

        所以我要拉的镜像应该加载了cuda的10.0版本。这么选是因为我觉得python3.6应该比cuda和cudn这些东西好装。

        从dockerhub上找得到对应的命令。

2.拉取镜像

sudo docker pull nvidia/cuda:10.0-cudnn7-devel-ubuntu14.04

二、创建容器

1.查看镜像:

  1.  
    sudo docker images
  2.  
     
  3.  
    REPOSITORY TAG IMAGE ID CREATED SIZE
  4.  
    nvidia/cuda 10.0-cudnn7-devel-ubuntu14.04 4a2994f8b795 3 years ago 3.12GB

2.创建容器:

sudo docker run -itd --gpus all -p 16535:22 --name [name] -v [/home/workplace]:[/workspace] nvidia/cuda:10.0-cudnn7-devel-ubuntu14.04

        --gpus all 是使用所有的gpu。命令中的[]是实际不需要的,是我特意框出来方便观看的。

3.查看容器:

sudo docker ps -a

        -a参数表示会连没有在运行的容器一起显示。

4.进入容器:

sudo docker exec -it [id] /bin/bash

        [id]替换为在查看容器时查询到的容器id。

5.退出容器:

  1.  
    #-----直接退出 未添加 -d(持久化运行容器) 时 执行此参数 容器会被关闭
  2.  
    exit
  3.  
    # 优雅退出 --- 无论是否添加-d 参数 执行此命令容器都不会被关闭
  4.  
    Ctrl p q

 

三、安装pyhon3.6

        进行了一些网上的安装尝试,但是网上的很多源要么没有维护了,要么装下来没有pip,所以改用miniconda进行安装。

        参考链接:手把手教你如何在Ubuntu下安装Miniconda - 知乎

1.安装miniconda

        先在官网下载miniconda安装包

        Miniconda — conda documentation

        然后上传到服务器,我是使用的finalshell:SSH工具 SSH客户端

        输入命令:

bash Miniconda3-py310_23.1.0-1-Linux-x86_64.sh


        出现Welcome to Minxxxxx代表没问题,然后一直回车,可能会遇到More,依然一直回车,不用担心错过什么。
        直到遇到 Do you accept the license terms?[yes|no]选择yes。
        接着一直回车,到询问是否初始化,并且会添加环境变量,选择yes。

        执行命令刷新环境变量:

source ~/.bashrc

        我这里按照教程是失败的,但是我在重启shell之后命令行前面出现了(base)表明成功了。

2.退出base环境:

conda deactivate

3.关闭自动进入base环境:

conda config --set auto_activate_base false

4.新建3.6环境:

conda create --name [py36] python=3.6

        [py36]是我设定的conda虚拟环境的名字,实际使用命令不需要[]。

        进入新建的环境,名字是py36:

conda activate py36

        这个命令以后会经常用,因为我找不到自动进入自定义虚拟环境的方法【【【【

 5.离线安装torch

        在安装的时候使用清华源,因为虽然是离线安装,但还是会安装需要的包。

  1.  
    pip install torch-1.3.0 cu100-cp36-cp36m-linux_x86_64.whl -i https://pypi.tuna.tsinghua.edu.cn/simple
  2.  
    pip install torchvision-0.4.1 cu100-cp36-cp36m-linux_x86_64.whl -i https://pypi.tuna.tsinghua.edu.cn/simple

 6.安装项目需要的其他包:

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

        我的这个项目的依赖如下所示:

  1.  
    torch==1.3.0
  2.  
    allennlp==0.8.4
  3.  
    python-Levenshtein==0.12.0
  4.  
    transformers==2.2.2
  5.  
    scikit-learn==0.20.0
  6.  
    sentencepiece==0.1.91
  7.  
    overrides==4.1.2

        在安装的时候会报错,因为PyTorch 要求 gcc >= 4.9,是环境里的gcc版本不对。

        尝试升级conda的gcc,升级之后没有反应,弄了半天没有解决,所以换了另一种办法:

        输入命令:

conda install -c conda-forge jsonnet

        好像可以继续了,然后接着报错:

ERROR: Cannot uninstall 'certifi'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
pip install certifi --ignore-installed -i https://pypi.tuna.tsinghua.edu.cn/simple

        最后再运行一下命令确认是不是都装完了

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
  1.  
    import torch
  2.  
    torch.cuda.is_available()

        环境配置就搞定。本来还想再写一篇的,但是看别人有完整的,决定直接引用了。

四、为docker设置ssh以便pycharm使用。

        首先需要给容器的root设置密码,进入容器之后输入命令更改密码:

passwd

        安装ssh,参考链接:https://www.cnblogs.com/zaochajun/p/12029494.html

  1.  
    sudo apt-get update
  2.  
    sudo apt-get install -y openssh-server
sudo apt-get install vim 
vim /etc/ssh/sshd_config

        我这里PermitRootLogin 和 PasswordAuthentication都改了,不然连不上。

        启动容器中的ssh服务:

service ssh restart

        测试一下,退出容器,连接一下试试,127.0.0.1是服务器本机ip,端口是创建容器时输入的:

ssh root@127.0.0.1 -p 16535

五、保存容器为镜像与在pycharm中使用docker。

        至此全部配置完了,将容器保存为新的镜像:

sudo docker commit [容器id] [新镜像name]:[新镜像tag]

        最后说一次,命令中没有括号[],这是为了方便观看。

        专业版的pycharm才可以远程链接,在校生可以免费申请。剩下的设置我就懒得写了,这篇链接写得很清楚:

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhghaceh
系列文章
更多 icon
同类精品
更多 icon
继续加载