不管开发什么都永远离不开环境啊、版本什么的。今天聊聊使用conda创建模型需要的虚拟环境。
事情是这样的,我需要对yolo通用模型脚本使用cuda加速预测。yolo官网中的Ultralytics其实已经提供了cuda加速的能力,但是我使用的是onnxruntime进行模型预测的,原因嘛比较复杂(文章最后说明一下原因),虽然最后没有采用这个方案,简单说就是业务需要,需要自己创建cuda环境。
再说一下我为什么会用到conda,是因为我使用的python有很多个,最后这些python脚本需要打包成exe程序。就会导致依赖混乱打包体积变大。为了不必要的依赖被打包我就使用了conda来管理。
为什么我要写这篇文章呢?是因为公司的模型算法同事突然发现我用竟然用conda创建了cuda环境。先看图片
两个虚拟环境分别查看cdnn的版本。use-onnruntime环境中安装了cuda环境,base没有cuda环境
创建命令:
conda create -n video-str python=3.11 nvidia::cudnn nvidia/label/cuda-12.5.1::cuda-toolkit
需要注意自己的显卡驱动版本来安装对应的cudnn、cuda-toolkit版本。
cudnn、cuda-tookit版本查找进入网站搜cudnn
查找cuda-tookit版本
最后说一下为什么一个前端开发的我会研究这个把。首先说明我的业务需要需求,我使用electron开发一个桌面应用,功能就是对标注数据的预处理(主要都是图片数据)。需要将图片数据使用模型先预测一遍,之前文章我写过在node环境使用onnxruntime-node使用模型预测。为什么我还使用python脚本呢,因为python中提供了很多方法可以处理数据,比如NMS、iou这些的处理,onnxruntime-node中还不支持获取模型中自定义的meta数据。最关键是本来想使用cuda加速的,但是打包出来的体积太大了。