1、PyTorch训练YOLOv11—环境搭建篇—Windows系统
一点提醒
如果是GeForce GTX 1050(算力61)等算力一般的显卡,不建议安装较新版本的软件,否则可能在onnx转engine时提示Unsupported SM: 0x601等错误,这个是TensorRT版本过高导致的。
重新安装低版本的TensorRT 8.6.1时,又提示tensorrt-bindings 8.6.1无法安装,一查看到下图结果,最高到python3.11版本,而安装的软件基本都是python3.12版本的。
再降python版本到3.10时,之前装过的软件都要降,白忙了,弯路走的不小。
以上是GeForce GTX 1050硬件趟过得大坑,注意!!!
当然,算力较高的可以直接装较新版本的软件是没有问题的。以下内容是基于GeForce RTX 4080硬件安装的,一路无任何错误提示,很顺利。
查询算力,参考https://developer.nvidia.cn/cuda-gpus#collapseOne
再次提醒,重点关注TensorRT版本以及python版本。
1、Miniconda
conda能管理不同的开发编译环境,互不干涉影响。
Anaconda和Miniconda是conda的工具,前者带界面(大而全),后者只有命令行窗口(小而精)。建议安装Miniconda
1.1 安装Miniconda
下载 Download Anaconda Distribution | Anaconda(打开的网页,往下滑就能看到Miniconda),按照下图安装,其他默认。
默认的源其实也都能下载成功,如果想更换源,参考anaconda | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
安装完之后,会默认创建一个base虚拟环境。
【其他】
如何创建、切换、退出虚拟环境,参考如下指令,此篇只用base虚拟环境。
conda -V # 查看版本(V是大写) conda create -n env_name python=3.9 # 创建python虚拟环境(指定python版本) conda create -n env_name2 --clone env_name1 # 克隆虚拟环境 conda create -n env_name python=3.9 包名=x.x # 创建虚拟环境并安装指定的第三方库 conda activate env_name # 切换/激活虚拟环境,Linux系统前面要加source conda deactivate # 退出虚拟环境 conda config --show # 查看虚拟环境默认位置 conda install 包名=version # 在base环境中安装包 conda install -n env_name 包名 # 在指定虚拟环境安装包 activate env_name # 激活虚拟环境,Linux系统前面要加source conda remove -n env_name --all # 移除虚拟环境及所有包 conda remove env_name 包名 # 移除指定虚拟环境中的某个包 conda env list # 查看虚拟环境列表 conda list # 查看base环境包列表
虚拟环境也可以迁移到其他环境
导出源环境 conda env export -n 源环境名 > environment.yaml
创建新环境 conda env create -n 新环境名 -f environment.yaml
【参考】【想要了解Anaconda介绍、安装配置及使用,看这篇文章就够了】-CSDN博客
2、查看当前驱动支持的cuda版本
nvidia-smi
可以看出最高支持cuda12.6
3、PyTorch
特别说明,在安装之前,注意各个库的版本关系。
训练和部署推理会用到PyTorch、CUDA、cuDNN、ONNX Runtime(pt转onnx或engine时会用到,同时我也使用此框架来进行部署推理)、TensorRT,因此需要特别注意安装的版本。
PyTorch、CUDA版本对应关系参考 PyTorch
ONNX Runtime、CUDA、cuDNN版本对应关系参考 NVIDIA - CUDA | onnxruntime ,其中有一句说明 PyTorch 2.4 or later used cuDNN 9.x
ONNX Runtime、TensorRT、CUDA版本对应关系参考 NVIDIA - TensorRT | onnxruntime
综合上述3个链接,我使用的版本以及下载地址如下。由于我想在conda虚拟环境中安装,因此下载地址仅供参考。
PyTorch 2.4.x,CUDA12.x版本,依官网命令行下载。
cuDNN 9.x,下载 cuDNN 9.4.0 Downloads | NVIDIA Developer
CUDA 12.x,下载 CUDA Toolkit 12.4 Update 1 Downloads | NVIDIA 开发者
TensorRT 10.2,下载 TensorRT Download | NVIDIA Developer,GA版本是稳定版。
ONNX Runtime 1.19.x,下载 Releases · microsoft/onnxruntime (github.com),用带 gpu 的
3.1 conda安装以上环境
3.1.1 conda安装python
先查看安装了没
conda list python
若没安装,查询有哪些python版本
conda search python
安装python 3.12.4(PyTorch官网提示python版本>3.8)
conda install python=3.12.4
3.1.2 conda安装PyTorch
将Pytorch官网命令,粘贴到conda终端
conda install pytorch torchvision torchaudio pytorch-cuda=12.4 -c pytorch -c nvidia
CUDA也会被自动安装,因此不需要再安装CUDA了。
安装好后,查看下PyTorch版本
conda list pytorch
查看下CUDA版本
conda list cuda
3.1.3 conda安装cuDNN
上文中 PyTorch 2.4 or later used cuDNN 9.x,因此安装9版本的,搜索下
conda search cudnn --info
上文中已经安装的cuda-version是12.6,满足依赖需求。因此安装cudnn9.1.1.17
conda install cudnn=9.1.1.17
3.1.4 pip安装ONNX Runtime
conda没有搜到1.19.x版本,因此使用pip安装。但是pip search命令已经失效,因此安装
pip install pip-search
搜索onnxruntime-gpu 1.19 版本
pip_search onnxruntime-gpu 1.19
找到了1.19.2,安装
pip install onnxruntime-gpu==1.19.2
3.1.5 pip安装TensorRT
conda没有搜到tensorrt 10.2版本,因此使用pip安装。pip搜索
pip_search tensorrt 10.2
搜到了10.4.0,估计pip只展示搜索到的最新版本,直接装10.2
pip install tensorrt==10.2
至此,所有环境安装完毕。整体查看下
conda list