AI开发平台MODELARTS-Yolov8基于DevServer适配MindSpore Lite推理指导(6.3.909):步骤五:准备推理环境
步骤五:准备推理环境
- 安装ultralytics,用于转换模型。
pip install ultralytics==8.2.70 numpy==1.23.0 onnxslim==0.1.34
- 获取推理代码。
cd ${container_work_dir} unzip AscendCloud-CV-6.3.909-xxx.zip cd Yolov8/yolov8_infer/mindspore_lite
- 获取yolov8 detection pt模型文件。下载地址:https://github.com/autogyro/yolo-V8
图1 下载yolov8 detection pt模型文件
- pt模型转onnx模型。以转换yolov8n.pt为例,执行如下命令,执行完会在当前目录生成yolov8n.onnx文件。
python pt2onnx.py --pt yolov8n.pt
- onnx模型转mindir格式,执行如下命令,转换完成后会生成yolov8n.mindir文件。
converter_lite --fmk=ONNX --modelFile=yolov8n.onnx --outputFile=yolov8n --inputShape='images:1,3,640,640' --saveType=MINDIR --optimize=ascend_oriented
如果要使用动态batch,使用如下转换命令
converter_lite --fmk=ONNX --modelFile=yolov8n.onnx --outputFile=yolov8n_dy --saveType=MINDIR --optimize=ascend_oriented --configFile=convert_config.ini
配置文件convert_config.ini的内容如下:
[acl_build_options] input_format="ND" input_shape="images:-1,3,640,640" ge.dynamicDims="1;8;16"
其中input_shape中的-1表示设置动态batch,ge.dynamicDims表示支持的batch值,上面的配置表示输入模型shape支持[1,3,640,640],[8,3,640,640],[16,3,640,640]这三种。
关于动态batch配置说明详见:https://www.mindspore.cn/lite/docs/zh-CN/r2.3.0/use/cloud_infer/converter_tool_ascend.html
使用converter_lite转换模型时,如果报E10001: Value [linux] for parameter [--host_env_os] is invalid. Reason: os not supported, support setting are the OS types of opp package。
建议在步骤三:启动容器镜像中通过docker run启动容器时,加上--privileged=true参数。