ubuntu20配置深度学习环境

目录

系统环境

ubuntu20,安装了ros noetic。

参考博客主要有:

  1. https://github.com/afeng616/Build-Cozy-Ubuntu-Environment/blob/master/documents/07-深度学习开发环境.md
  2. https://blog.csdn.net/weixin_46414430/article/details/129266433

安装anaconda

文件的安装

直接在清华镜像上下载。

我直接下载最新版本,Anaconda3-2024.02-1-Linux-x86_64.sh

在下载的地方,敲命令安装:

bash 复制代码
bash Anaconda3-2024.02-1-Linux-x86_64.sh

然后按回车,接下来就有很多条款部分,直接按q跳出

会出现下面的画面,输入yes后按回车。

接着就是设置安装位置,这里我选择默认安装地址。按完回车后就是等待安装的过程。

最后安装完后,会有选项:需不需要初始化,我们填yes,需要初始化。

anaconda环境配置

安装完后,还需要配置conda,使得conda这个指令能用在任何地方,像python,code这种一样。

主要是去修改~/.bashrc文件。

bash 复制代码
gedit ~/.bashrc

然后在最后面一行添加anaconda的bin目录,就是前面安装的时候设置的目录。

bash 复制代码
export PATH="/home/xz/anaconda3/bin:$PATH"

最后就是source这个文件来生效

bash 复制代码
source ~/.bashrc

这是在终端输入conda,显示一系列帮助信息就说明conda安装成功。

(PS):如果不想新开的终端就在base环境中的话,可以进行设置:

bash 复制代码
conda config --set auto_activate_base false

anaconda换中科大源

bash 复制代码
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/
conda config --set show_channel_urls yes
conda config --show channels

常用的anaconda命令

bash 复制代码
# 创建环境
conda create -n xxx python=3.8
# 激活环境
conda activate xxx
# 删除环境
conda remove -n xxx --all
# 查看目前已有的环境
conda env list

安装显卡驱动

最简单方便的方法就是直接在软件更新的附加驱动上直接安装,装完重启即可,如果去安装官网的驱动,操作难度大,可能系统桌面都进不去,反正我之前在ubuntu18系统上安装过一次,但是进不去系统桌面,最后卸载了好不容易才能进系统桌面,所以还是推荐软件更新去安装显卡驱动的方法。

这里我是安装了535,看其他博客说不要安装server后缀和open后缀的就行,然后重启。

检查是否成功安装,只需要在终端输入nvidia-smi,显示出具体显卡信息即可。

安装CUDA

安装前的准备:卸载之前残留的CUDA,保证安装前的环境干净

bash 复制代码
sudo apt-get --purge remove "*cuda*" "*cublas*" "*cufft*" "*cufile*" "*curand*" \
 "*cusolver*" "*cusparse*" "*gds-tools*" "*npp*" "*nvjpeg*" "nsight*" 
sudo apt-get autoremove
  1. 这个主要是看显卡版本去安装,由上面nvidia-smi显示的信息,看到显卡是3090,可以安装最高版本的是CUDA12.2. (我的笔记本显卡3050,同样也是支持最高版本CUDA12.2)

    这里我参考这篇博客:https://blog.csdn.net/weixin_46414430/article/details/129266433。安装CUDA11.6.0.

  2. 下载CUDA文件,下载地址:https://developer.nvidia.com/cuda-toolkit-archive。选择11.6.0版本

  3. 瞄的,中文英伟达网站没有CUDA的历史版本,在外网下CUDA11.6.0又容易到99%的时候失败!!!WTF

    实了4,5次,还是失败,最后用浏览器来下载,直接把这个http地址输入到谷歌浏览器中,即可通过浏览器下载,下完了也不会报错。

  4. 安装cuda11.6之前先安装一些依赖的库文件

bash 复制代码
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
  1. 用下载好的文件来进行安装。
bash 复制代码
sudo sh cuda_11.6.0_510.39.01_linux.run

在选择continue后,在相应位置上填上accept

注意这个时候需要把这个cuda安装包的驱动取消,按空格取消安装(因为前面已经安装了一个),取消后选择install即可

最后安装完,报了一个警报,说没安装这个510驱动,这里没所谓。

  1. 配置CUDA的环境

可以在usr/local下看到两个文件夹:cuda-11.6和cuda,cuda其实是安装的时候自动创建的软链接,连接到11.6上

打开~/.bashrc文件

bash 复制代码
sudo gedit ~/.bashrc

然后在配置anaconda路径前面加上:(其他博客有说最好是把anaconda的路径放在.bashrc的最末尾)

bash 复制代码
export PATH=$PATH:/usr/local/cuda/bin  
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64  
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/lib64

然后source一下

bash 复制代码
source ~/.bashrc
  1. 验证是否安装成功
    随便新开一个终端,输入:
bash 复制代码
nvcc --version

显示cuda版本是11.6说明安装成功。

下载cudnn

下载的链接:https://developer.nvidia.com/rdp/cudnn-archive

推荐中文链接:https://developer.nvidia.cn/rdp/cudnn-archive

这里我选择的是cudnn8.4.1 for cuda 11.x的tar版本

垃圾英伟达还要登陆才能下,又浪费快半个小时!!!!!

  1. 下载完后进行解压:并且将对应的库和头文件移到cuda目录中
bash 复制代码
tar -xvf cudnn-linux-x86_64-8.x.x.x_cudaX.Y-archive.tar.xz

sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include 

sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64 

sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
  1. 检查cudnn
bash 复制代码
cat /usr/local/cuda-11.6/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

安装pytorch

不知道为什么,前面conda配置的源好像连接不上,所以在安装前先换下conda的源。

更换conda源

  1. 先恢复默认源
bash 复制代码
conda config --remove-key channels
  1. 添加清华镜像源
bash 复制代码
#添加镜像源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2

#显示检索路径
conda config --set show_channel_urls yes

#显示镜像通道
conda config --show channels

选择对应的pytorch版本进行安装

pytorch历史版本的链接:pytorch

这里选择的pytorch版本为v1.12.0。它这边在Linux and Window这里支持CUDA 11.6版本。所以我们选择它。

从链接中找到对应CUDA11.6版本的conda安装命令

  1. 创建一个anaconda环境
bash 复制代码
conda create -n nerf-pytorch python=3.8
  1. 进入anaconda环境
bash 复制代码
conda activate nerf-pytorch
  1. 安装pytorch(从官网复制下来的指令)。安装的时候需要注意,因为conda配置了清华源,最好把翻墙的关了,不然有可能下载的时候出问题,出问题了也别慌,重复下面的命令即可。
bash 复制代码
conda install pytorch==1.12.0 torchvision==0.13.0 torchaudio==0.12.0 cudatoolkit=11.6 -c pytorch -c conda-forge

上面是通过conda来安装,但是实际装完后,运行脚本训练的时候,会报错,可能是安装了非GPU的pytorch,看到一片博客说最好还是用pip来安装

bash 复制代码
pip install torch==1.12.0+cu116 torchvision==0.13.0+cu116 torchaudio==0.12.0 --extra-index-url https://download.pytorch.org/whl/cu116

注意:最好还是通过pip来安装,能够保证装的是GPU的pytorch。反正我的情况是用conda装,跑训练报错,用pip装,就可以正常跑训练。

最后成功安装

  1. 检查pytorch是否成功
    在终端输入python,然后import pytorch的包,如果正确找到pytorch的包应该就没问题
相关推荐
GOTXX1 小时前
基于Opencv的图像处理软件
图像处理·人工智能·深度学习·opencv·卷积神经网络
糖豆豆今天也要努力鸭2 小时前
torch.__version__的torch版本和conda list的torch版本不一致
linux·pytorch·python·深度学习·conda·torch
何大春2 小时前
【弱监督语义分割】Self-supervised Image-specific Prototype Exploration for WSSS 论文阅读
论文阅读·人工智能·python·深度学习·论文笔记·原型模式
Suyuoa2 小时前
附录2-pytorch yolov5目标检测
python·深度学习·yolo
余生H3 小时前
transformer.js(三):底层架构及性能优化指南
javascript·深度学习·架构·transformer
罗小罗同学4 小时前
医工交叉入门书籍分享:Transformer模型在机器学习领域的应用|个人观点·24-11-22
深度学习·机器学习·transformer
孤独且没人爱的纸鹤4 小时前
【深度学习】:从人工神经网络的基础原理到循环神经网络的先进技术,跨越智能算法的关键发展阶段及其未来趋势,探索技术进步与应用挑战
人工智能·python·深度学习·机器学习·ai
阿_旭4 小时前
TensorFlow构建CNN卷积神经网络模型的基本步骤:数据处理、模型构建、模型训练
人工智能·深度学习·cnn·tensorflow
羊小猪~~4 小时前
tensorflow案例7--数据增强与测试集, 训练集, 验证集的构建
人工智能·python·深度学习·机器学习·cnn·tensorflow·neo4j
极客代码4 小时前
【Python TensorFlow】进阶指南(续篇三)
开发语言·人工智能·python·深度学习·tensorflow