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

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

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

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

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

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

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

目录

anaconda安装(无root权限也可)

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

无sudo权限运行cuda

测试安装是否成功

补充:后续在新的linux服务器安装,出现新的问题


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的速度实在是太快了....飞一般的感觉...搞了这么久,值了!!感谢我的老师给我换服务器!!!





补充:后续在新的linux服务器安装,出现新的一些问题

时隔3年,我在新的服务器装,torch.cuda.is_available()一直返回False

之前都返回True....现在的新的服务器(版本更高),却返回False

原因是,从官方源下载的时候,conda install pytorch给我下载cpu版本了!

详细参考这篇:

conda安装GPU版pytorch,结果却是cpu版本[找到问题根源,从容解决]_为什么conda安装pytorch版本不对-CSDN博客

真的是,简而言之:下载的时候,conda自动下载了cpu版本。要解决这个问题,需要保证下载的网站(官方源or清华源)提供了,需要下载的版本。


中途安装着:说磁盘空间不够了:用以下命令查看usr1文件夹里的大小...(du -h --max-depth=2 /home )

du -h --max-depth=1 /home/usr1
##du -h --max-depth=2 /home #会显示 /home 下两级子目录的大小。

清除了一些文件后,查询可知,再安装出现了问题:

  1. 有时候,Anaconda 的缓存可能会导致问题。可以尝试清理缓存并重新安装包:

复制

conda clean --all

这将清理 Anaconda 的缓存,包括下载的包文件和临时文件。

然后,再安装:
(确保了清华源有pytorch torchvision torchaudio cudatoolkit对应的版本)

conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ 
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ 
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ 
conda install cudatoolkit=11.8 -c http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/linux-64/ 
conda install pytorch==2.2.0 torchvision==0.17.0 torchaudio==2.2.0 cudatoolkit=11.8 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/linux-64/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值