2.7环境配置篇

经验:

众所周知,配环境是非常令人痛苦(快乐)的过程,习惯了就好。
配环境要看别人的文章,因为你不熟悉流程,找文章也要找到适合的,别人的电脑、系统、架构、版本跟你的又不是一模一样,你按着别人的文章来有可能出错。所以,我们看文章配置环境看的是大概流程,而不是复制粘贴别人的。

配环境不是复制粘贴,要理解操作、命令是干什么的,你需要什么版本......这并不容易的,而且,安装的依赖、库 大多是从外网下的,很慢,容易失败,所以,需要懂得科学上网。

配环境前,需要明确:

1.系统版本

你用的是什么系统,什么版本:windows10,windows11 , ubuntu18,ubuntu20 , centos, mac
2.芯片架构:   

x86架构 , arm架构 , RISC-V架构                 
3.安装依赖的顺序  

比如安装yolo环境python库的顺序:numpy->torch->yolo
4.每个依赖的最低版本要求  

先确定编程语言的最低版本,比如yolo环境中:>=python3.6 ,在确定其他库的最低版本,比如 opencv大于等于4.5版本

需要安装什么环境,官方文档应该列有硬件要求和最低版本要求
5.确认系统是否自带有需要的库和依赖,是否需要更新依赖的版本

比如英伟达的jetson nano自带有opencv,你总不能不清不楚的直接安装高版本的opencv进去吧,旧的还没有删除,这样直接出大问题。

......

只要是有关英伟达显卡的环境,一定不能直接复制安装,先确认电脑显卡驱动是否最新、cuda和cudnn的版本是否最新,安装对应的适配版本,版本可以向下兼容
哪怕是python的第三方库,上网找该库是否支持GPU版本,指定该版本。比如pip3 install onnxruntime-gpu 

实战

来,咱们安装一下yolov8环境和TensorRT环境:

确定电脑资源,我的是:英伟达P4000显卡,windows10 系统,cuda12.2    

查看cuda版本:终端输入nvidia-smi 命令查看显卡驱动版本和cuda版本,检查显卡驱动是否要更新。然后,用命令 nvcc --version   查看cuda版本。如果两个命令显示的cuda版本不一样,说明你的cuda版本旧了,需要安装最新的版本。
(10 封私信 / 82 条消息) 英伟达驱动版本 、CUDA 和 cuDnn 之间版本的关系是怎样的? - 知乎 (zhihu.com)

看下面文章,根据自己的情况安装对应的cuda和cudnn版本

Cuda和cuDNN安装教程(超级详细)-CSDN博客

如果是更新安装,需要把旧版本的环境变量给删了。

1.安装yolov8环境

  如果下载的速度慢,在windows中为终端设置代理:终端代理

直接下载yolov8源码:ultralytics

 打开源码文件pyproject.toml看看,里面有需要的库的最低版本要求。

进入源码文件pyproject.toml所在的目录,在python的虚拟环境输入命令安装:

pip3 install -e .

pip3 install ultralytics

pip3 install yolo

pip3 list

 此时你会看到有torch和torchviosn,不过yolov8默认安装的是CPU版本的,我们需要安装GPU版本的。

安装GPU版本的torch和torchvision:

官网复制命令安装:PyTorch

 注意:选择的torch版本要跟你CUDA版本最接近的版本且低于该版本,假如你的cuda版本是11.9,你不要安装高于cuda11.9的torch,你可以安装cuda11.0的torch,一般来讲,版本是向下兼容的。

安装torch和torchvision的版本必须对应: G版本对应。 不过官方的安装命令已经帮你自动适配torch torchvision torchaudio 三个的版本,你只需要指定cuda版本就行

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

pip list 查看torch版本是否有 -cu11
导入torch验证是否安装成功: print(torch.version.cuda)

2.安装TensorRT环境

pip3 install onnx
pip3 install onnx-simplifier

要注意onnxruntime-gpu, cuda, cudnn三者的版本要对应:  NVIDIA - CUDA | onnxruntime

pip3 install onnxruntime-gpu==1.17.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

安装pycuda之前必须要安装 visual studio 软件,因为需要用到它的构建工具,尽量指定版本,不指定默认安装最新版本,不用复制我的,自己找对应版本

pip3  install pycuda==2024.1  -i https://pypi.tuna.tsinghua.edu.cn/simple

  安装tensorrt可以直接安装库,但不建议

pip install tensorrt-cu12(不建议)

看这篇文章,下载tensorrt源码,找到对应的版本安装

TensorRT(一)Windows+Anaconda配置TensorRT环境 (Python版 )_conda tensorrt-CSDN博客 

TensorRT安装部署指南(Windows10) - 知乎 (zhihu.com)

安装完毕后,执行命令把.onnx转成 .engine

trtexec --onnx=model.onnx --saveEngine=model.engine

如果遇到Error[1]: Unsupported SM: 0x601并导出失败,可能是tensorrt的版本不对,比如我的cuda12.2在官方那里对应的版本是tensorrt10,但是导出失败,我换成tensorrt8.6版本后就行了,就是说配环境很神奇,我不干了。

tensorrt官方的python推理代码在目录下面:

你的路径\TensorRT-8.6.1.6\samples\python\detectron2\infer.py

跑官方代码,懂得怎么推理,就可以了。

英伟达jetson nano 配环境

这才是真正的配环境,看这位老兄的经历:

miivii域控制器(Xavier)实现TensorRT加速后的Ultra-Fast-Lane-Detection项目_build tensorrt on xavier-CSDN博客

windows文件移动到ubuntu时注意符号不兼容的问题 

jetson nano ,ubuntu18 ,

我也不想在这里写了,后面再续....... 

Docker解千愁

如果你嫌配环境太麻烦了,你就去学docker,它能救你一命

什么是Docker?看这一篇干货文章就够了! - 知乎 (zhihu.com)

 尚硅谷Docker实战教程(docker教程天花板)_哔哩哔哩_bilibili

最后

作为IT行业的人员,配环境只是基础的,而学框架才是主要目的。我们每学一个框架,总要看官方文档,总要下载官方源码的。官方文档里有框架的原理,也有配环境的基础教程,这两部分要重点关注的,而官方源码里有代码的示例教程,我们不要忘了框架的根在哪。比如我们学yolo框架,我们先找到官方的文档看看,如果全是英文看不懂就借助翻译软件,也可以上网搜别人总结出的文章,然后下载官方源码,按照官方文档配环境,最后跑一下官方示例,深入了解官方给的代码。

未来的路很长,当你配环境遇到问题时,静下心来,自己定位问题、解决问题,少一些负面的情绪,不懂的就多学,多问,多配环境,我相信,在配环境的压力下,你会成长的很快、很快。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT小艺

如果文章对你有用,请我喝咖啡吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值