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

 

posted @ 2024-09-29 17:18  夕西行  阅读(1201)  评论(0编辑  收藏  举报