深度学习三件套:初探anaconda+cuda+pytorch
系统ubuntu22.04
ros2 humble
1.初探anaconda
1.1 安装
安装过程参照【详细】Ubuntu 下安装 Anaconda
1.2 创建和删除环境
- 创建新环境
c
conda create -n your_env_name python=x.x
- 比如我创建了一个名为"py312"的环境
c
conda create -n py312 python=3.12
如下图:anaconda/envs目录下多了一个py312文件夹,这个文件夹就是py312环境中安装的所有包存放的位置
- conda命令进入py312环境
c
conda activate py312
- 查看新建的py312环境中有什么包
c
conda list
5. 删除已有的虚拟环境
c
conda remove -n your_env_name --all
2. 初探cuda
2.1 根据NVIDIA显卡型号确定对应的显卡驱动版本并安装
安装教程参照Ubuntu 如何根据NVIDIA显卡型号确定对应的显卡驱动版本并安装
c
nvidia-smi #查看GPU信息, 注意:安装完显卡驱动后需要先重启一次电脑
打开终端执行:ubuntu-drivers devices 来看显卡的驱动相关信息。
如果没有显示nvidia相关驱动列表,请检查显卡设置是否完整。
推荐(recommend:建议、推荐)安装nvidia-driver-550,因此我们直接运行指令进行安装:
c
sudo apt install nvidia-driver-550 #安装550驱动
安装完成后终端是这样的:
再次运行nvidia-smi
(重启计算机才会生效!)
上述内容我们主要观察两个点:
- 显卡的驱动版本 (Driver Version)
- 该显卡驱动所支持的CUDA版本上限 (CUDA Version)
2.2 根据显卡驱动版本,安装对应的CUDA版本
以我的显卡做个示例:可以发现,我这里的NVIDIA显卡驱动版本是 550.120 ,这里可以看到本机最高支持 CUDA 12.4,也就是说我这张卡12.4之下的CUDA版本该显卡都可以支持,12.4之上的则不支持。
2.2.1 确定 CUDA Toolkit版本
根据显卡的驱动版本,去NVIDIA官网(往下翻)查看该驱动版本所能支持的CUDA版本:
如下表:
2.2.2 安装 CUDA(安装历史版)
找到你所要下载的版本,我就找CUDA Toolkit 12.4.0,点进去
然后选择自己对应的系统版本的CUDA,并下载(在这里我们推荐用runfile(local)的方式进行下载):
请注意,有的CUDA版本只支持特定版本的linux发行版系统,请进行匹对。
按照网页中给出来的指令依次执行:
python
wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda_12.4.0_550.54.14_linux.run
sudo sh cuda_12.4.0_550.54.14_linux.run
下载页面,下载完成需要大约15分钟。。。
下载完成:然后弹出选择界面,用手指点击键盘的↑ ↓按键。
-
选择
Continue
,然后输入accept
:
-
按回车取消 Driver 的安装,也就是
[ ]
里面没有X
(因为一般已经装好驱动了),然后回车选择Install
:
-
上面一步,选择
Install
后,终端就会跳出选择界面,回到正常终端模式,并且没有任何提示。这是正常现象,等待安装完成即可。安装完成后,会出现如下类似界面:
-
接着我们需要添加CUDA的环境变量,以便于可以任何地方都能启动它(不知道Linux的环境变量知识点可自行搜索),输入以下命令:
csudo gedit ~/.bashrc
在其中添加并保存:
cexport PATH=/usr/local/cuda-12.4/bin:$PATH
保存,关闭即可。
注意,其中的cuda版本选为你要安装的版本,上面命令中的是
cuda-12.4
,请根据实际情况进行更改。 -
接着:
source ~/.bashrc
至此我们安装cuda成功,可以通过以下命令查看cuda信息:
查看CUDA版本信息:
nvcc --version
没有问题的话,一般会输出以下信息:
与没有安装cuda toolkit前对比:
3. 初探pytorch
3.1 pytorch 应该装在哪个python环境里?
c
python --version # 查看当前python的版本
type python3 # 查找python3的位置
在ubuntu系统中的python用python --version
会报错,必须写成python3 --version
从base环境切换到ubuntu系统自带的python环境,用pip list
指令查看安装的包,包含了之前我们安装的ros2相关的所有包了!!如下,例如小乌龟turtlesim,远程键盘teleop-twist-keyboard等等。。。
我决定把pytorch装在系统python里,不知道会不会有区别,先看看效果吧。主要是怕其他环境里另一个pytorch版本的计算效果会更好,到时候还需要两个环境联调,就涉及到在代码中设置python版本的问题,可能会很麻烦。先装在系统的Python里试试。
3.2 正式进入pytorch安装流程。。。。。。
我们打开pytorch的网站,注意这里选择安装cuda12.1是完全没有问题呢,假如你的最新驱动最高能安装的cuda版本只有cuda11.0,那么你只能选择安装cuda10.2。
注意:很多新人下载东西都喜欢下载最新的,但是经验告诉我们。最新的版本往往BUG很多,而且还不够稳定,但是太老的版本又可能有功能缺失等问题,因此我推荐各位小白萌新,装比最新版本低两三个版本的库,pytorch和cuda都是同理。
目前最新版本是v2.5.0,所以我安装的v2.3.1:
我用pip装的:
python
pip install torch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 --index-url https://download.pytorch.org/whl/cu121
装完后进入python3,
c
import torch
torch.cuda.is_available()
验证pytorch是否能用,输出True即为成功,False为失败。
pip list查看系统python环境里装的包,左右对比,比未安装前,发现多出了torch, torchaudio, torchvision的3个包,如下: