linux ubuntu安装pytorch(深度学习环境搭建记录,无sudo权限)踩坑全记录

linux ubuntu安装pytorch(深度学习环境搭建记录,无sudo权限)踩坑全记录,第1张

一些牢骚:深度学习没怎么学习几次,搭建环境已经把我搞秃了哈哈哈。


之前在网上找到的搭建环境的步骤,我没有root权限,很多 *** 作都不行(比如运行.run文件,cuda

和cudnn的安装和修改也需要root权限 ,下载的时候也是各种不行,后面发现是路径问题..)对linux不熟悉导致光是安装就耗费了我好多好多天时间...

好不容易环境搭建好了 ,服务器又经常因为高温掉了 ,实在是不好多次麻烦管理员重启...

于是请管理员给我换了个服务器,梅开三度,再次安装.....

以下主要针对无sudo权限的情况...

anaconda安装(无root权限也可)

没有root权限,先弄cuda和cudnn会出问题。


打算用虚拟环境。


所以先安装anaconda。


  • 1、安装anaconda前需要查看自己的Ubuntu版本号..参照这篇帖子:
  • ubuntu:查看ubuntu系统的版本信息_coldice0521的博客-CSDN博客_查看ubuntu版本号
  • 2、在官网:Anaconda | Anaconda Distribution 中找到符合自己版本号的anaconda。


  • 官网找到linux系统的,右键复制下载链接。


  • 在终端用cd+path进入想安装的位置;然后用wget+此下载链接下载 。


  • 下载成功后,刷新服务器页面。


    path中有.sh文件出现。


  • 然后用 bash 命令(不需要root权限)
  • enter后再次向我们确认安装位置。


    因为一开始用cd进入了想要的路径,所以enter即可 。


  • 安装好后,出现anaconda的文件夹。


  • 但在 终端直接输入conda 命令 没有反应。


    如下

  • 所以接下来需要配置环境变量!这一步的目的就是,在终端中输入conda时,能有所反应。


  • 运用bashrc文件添加环境变量。


    这一步,有用 vim命令,也可用gedit命令。


    都可以,它们的区别我去搜了下:

  • Linux下gedit命令及vim的基本 *** 作_S4061222的博客-CSDN博客_gedit命令
  • 我用的是gedit编辑(测试没有root权限也可)
  • gedit ~/.bashrc
    

    输入这行命令后,会出现一个文本框,在最后 一段加上anaconda3的bin文件路径。


    (代码中的***需要替换为你的路径)。


  • #added by Anaconda3 installer
    export PATH="/***/anaconda3/bin:$PATH"  
    #***需要替换为你的路径

     点击文本框的save!!!然后在终端运行以下命令。


    每次修改.bashrc文件后,需要这一行命令加载修改后的设置。


    可以使环境变量生效。


  • source ~/.bashrc
    

    然后在终端输入conda的一些命令也可以生效了。


    比如查看conda环境的安装的包;

    conda list

        能在终端运行conda相关命令,则说明anaconda环境变量配置成功~~

拓展一下 ,和conda相关的一些指令如下(和安装没什么必要关系):

         Conda常用命令整理_CharlotteMen的博客-CSDN博客_conda命令

pytorch安装(无root权限,无法安装cuda的情况)

以下灰色斜体的内容与安装正文无关,是踩坑记录:之前安装的时候踩了一个坑,自以为cuda和cudnn已经安装好了 ,然后直接 conda install torchvision的时候,安装是成功了,但是训练速度非常慢,后面发现安装成cpu版本了。


后面检查发现cuda和cudnn的版本也对不上号。


这里踩过的坑在下面这篇帖子:

解决torch.cuda.is_available()一直返回False的玄学方法之一_凛雨时冽的博客-CSDN博客_cuda.isavailable(后面找到原因是环境的cuda是root用户的,我自己安装的cudatoolkit和cuda版本对应不上,cudnn就没有安装成功,就没有用到GPU进行训练。


)cuda和cudnn安装 好后,一定要用torch.cuda.is_available()检验一下是否成功了(代码详见上面那篇帖子)。


否则辛辛苦苦安装很久,可能最后还是用到的cpu进行训练。


首先是cuda的问题,conda安装的cudatoolkit和nvidia安装的cuda的版本问题,我反正是晕的。


不知道要不要单独去安装cuda~下面这篇文章解释清楚了。


显卡,显卡驱动,nvcc, cuda driver,cudatoolkit,cudnn到底是什么? - 知乎因为之前我装anaconda时,没有单独安装cuda,就可以运行。


之后安装了一次飞桨的框架(paddlepaddle),我以为就不用安装cuda了...结果就把不行!!用飞桨的框架不能用基于conda安装的cuda....NVIDIA的cuda和此cuda是不一样的东西。


详细看下面这篇文章。


(其中涉及到runtime API和driver API的问题)显卡,显卡驱动,nvcc, cuda driver,cudatoolkit,cudnn到底是什么? - 知乎

pytorch的具体安装参考下面第一篇帖子”1”(直接按照这篇安装会有很多问题,以下梳理问题和解决方案 )

1*:

Anaconda环境安装GPU版本Pytorch_moyemoji的博客-CSDN博客_conda安装gpu版pytorch

问题梳理:

1、这篇帖子anaconda是基于root权限的,没有root权限请看我上面的anaconda安装的部分

2、其中创建环境的部分有点问题,参考第2篇(2*)。


Anaconda创建环境、删除环境、激活环境、退出环境_DayDay_Lee的博客-CSDN博客_删除环境
 

无sudo权限运行cuda


3、上面提到的1*这篇文章没有指出cuda安装的问题。


因为输入以下命令时,终端未显示cuda版本;

#以下命令得到runtim API版本
nvcc -V
#以下命令得到driver API版本
nvidia-smi

我以为没有安装cuda,因为没有sudo权限,又无法安装cuda...结果在/usr/local/文件夹中发现已经安装了;

既然安装了cuda后,但终端不显示,就是配置环境变量的问题:

配置环境变量,在终端输入:

cd /home/
gedit  ~/.bashrc 

打开文本框,Ctrl+F搜索"cuda",如果没有搜到,加入如下内容:(或者改变cuda的路径)

##cuda版本见你自己电脑的版本型号,我的是cuda-11.1

export CUDA_HOME=/usr/local/cuda-11.1
export LD_LIBRARY_PATH=/usr/local/cuda-11.1/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-11.1/bin:$PATH

修改好后先保存!!再在终端输入以下代码开始编译~然后再输入nvcc -V(大写)得到驱动版本。


source ~/.bashrc
#以下命令得到runtim API版本
nvcc -V
#以下命令得到driver API版本
nvidia-smi

得到nvcc -V的版本型号后,就可以选择cudatoolkit的型号了~见如下(1*第一篇文章),就可以用conda命令进行安装了!下载<= nvcc -V的cuda版本型号的cudatoolkit,因为cudatoolkit的版本是向下兼容的~(比如运行cuda的版本是11.1,可以下载比11.1更低版本的cudatoolkit比如10.2)

4、去pytorch官网查看 运行版的cuda版本对应的pytorch、torchvision的版本进行下载

进入官网,地址:Start Locally | PyTorch

(根据nvcc -V得到的版本号来,不是nvidia-smi的版本 )

比较慢,可以用清华镜像源;

进入官网,发现只有10.2和11.3,比如我是cuda-11.1,,那点击 图中标蓝色的部分,下载其他版本;

 ctrl+F,搜索cuda 11.1;找到7项;对应不同的torch版本;有pip方式;也有conda方式;

两种都可;

 pip方式对应torch

 conda对应pytorch

提醒一下,有的版本的torchvision需要注意看看自己anaconda3中的python版本!python版本和pytorch或者torch的版本有对应关系!(虽然一般不会有问题)

python版本不能太高!比如0.8.1的对应的torchvision版本就只能对应python<=3.8版本的。


如果是python3.9版本的,需要重新安装python.

截取一部分,详情见这个:https://github.com/pytorch/vision

 如果python版本太高,就需要重新安装python环境;

解决方式很简单。


进入我一开始创建的虚拟环境(输入指令 conda activate ***(创建的虚拟环境的名字 ))

然后直接

conda install python=3.8

如下图:前面的(pytorch_env)是我取的虚拟环境的名字;

 之后再次输入python,版本就降下来来了

版本没问题的话 ,用官网给的命令安装cudatookit、pytorch、torchvision;

官网给的是conda-forge这个库 ,这样可能很慢 。


用清华镜像源替代,速度快到飞起。


 终端输入命令编辑:

gedit  ~/.condarc

打开

然后把用清华镜像源中的以下内容把原来的 覆盖 掉!

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

覆盖之后的样子如下,点击右上角 save

这里贴一下清华镜像源的网站,有兴趣可以点进去了解一下

anaconda | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

参考资料:

https://www.csdn.net/tags/Mtzakg2sNTYxODYtYmxvZwO0O0OO0O0O.html

踩坑记录:一开始,我直接把上面那串代码的conda-forge形式改为

这样不行,显示的结果是The channel is not accessible or is invalid.

像上文所述的编辑condarc即可解决此问题。


测试安装是否成功

安装好后,在终端输入python进入python环境:

python

再在虚拟环境下的终端输入以下代码:

import torch
torch.cuda.is_available()

返回True,即可以用GPU进行训练。


效果如下图:

(一开始就是从这里是False发现自己安装的居然是cpu版本的,之所以安装的是cpu,把cuda的运行版本搞成了驱动版本 ,所以cudatoolkit的版本安装高了,就出问题了。


这一条命令用来检验很重要!

开始发牢骚:总算安装好了 。


GPU的速度实在是太快了....飞一般的感觉...搞了这么久,值了!!感谢我的老师给我换服务器!!!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/568019.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存