AI模型部署全流程
本文章是新手导出AI模型的全流程指导。从Ananconda搭建基础Pytorch环境到GitHub下载模型,使用Pycharm导出onnx通用模型格式,VS code远程连接jetson nano b01进行相应的Tensor RT引擎优化。
软件:Anaconda ;Pycharm ;CMake ;Visual Studio code;MotaXterm;
技术栈:Linux ;C++ ;Python ;ONNX ;Tensor RT ; 神经网络 ;
软件下载从对应官网安装。//VS code若要在jetson nano上使用最新版本不支持,需下载1.85.1版本,因为官方配置的环境不兼容最新版本。
Anaconda
首先环境配置是重中之重,这点一旦出错很费时间。首先配置最简单的Pytorch环境,安装完Anaconda(创建后每个环境独立存在,互不影响,针对不同的需求可快捷切换//不同的模型支持的环境不一样,避免冲突),打开黑色的Prompt进入终端。
执行conda create -n 自定义环境名 python=指定版本 -y //创建一个环境用来安装所需库,这也是隔离操作的基础。
conda activate 自定义环境名 //进入环境(最前面括号内为所在环境),在此环境下才能为其配置相关库
conda install 库名 //在进入环境后安装所需python库,如安装过慢可使用国内清华源
conda config --set show_channel_urls yes && conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main && conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r && conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2 && conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge && conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch && conda config --set default_channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main && conda config --set ssl_verify false
conda deactivate //退出环境
conda remove -n 自定义环境名 --all //删除不需要的环境
所需库自行配置,这里不再赘述。 //创建的环境可在Anaconda路径下的envs文件夹内找到。
Pycharm
使用Pycharm连接到配置好的环境,打开Pycharm后点击左上角新建项目
选择自定义环境,找到自己的conda环境,点击创建
如果要为当前项目切换环境,点击右下角的python版本处,一步步跟着操作
这样Python端的配置就好了,接下来从GitHub上下载一个库进行ONNX导出教学,这里不再赘述了,直接把链接放在这里了https://github.com/linxi868/yolov8_learn,打开后点击绿色按钮,选择Dowenload ZIP,后续跟上面Pycharm操作一致打开压缩包,配置环境。在GitHub上有详细的ONNX导出教学。 //如GitHub打开过慢,可安装Watt Toolkit免费进行加速 。
Tensor RT版本配置
需注意所用TRT的版本和CUDA版本需对应可用,否则会频繁报错,且怎么都解决不了。从官网进行下载,jetson nano官方配置最新环境自带的是CUDA10.2.1和Tensor RT 8.2.1。 //如在自己电脑上进行编译,安装后需配置系统环境变量,以便系统识别对应路径。
VS code配置
打开VScode点击左侧四个方块的扩展,安装:Chinese CMake C++ Remote--SSH 插件
//需安装完CMake,这些插件CMake是相当于anaconda进行环境配置,Chinese是中文翻译(可选),Remote--SSH 是远程连接的基础,C++是编写代码工具,显示报错。
点击左下角绿色按钮,点击搜索框的连接到主机,输入相应的账号和密码,对应的IP地址
//如在自己电脑上进行编译可忽略
IP地址可在win+R,输入cmd,输入arp -a查看所有IP地址。 //需先用网线连接到jetson
