AI开发平台MODELARTS-Yolov8基于DevServer适配MindSpore Lite推理指导(6.3.909):步骤五:准备推理环境

时间:2025-02-20 08:32:14

步骤五:准备推理环境

  1. 安装ultralytics,用于转换模型。
    pip install ultralytics==8.2.70 numpy==1.23.0 onnxslim==0.1.34
  2. 获取推理代码。
    cd ${container_work_dir}
    unzip AscendCloud-CV-6.3.909-xxx.zip
    cd Yolov8/yolov8_infer/mindspore_lite
  3. 获取yolov8 detection pt模型文件。下载地址:https://github.com/autogyro/yolo-V8
    图1 下载yolov8 detection pt模型文件
  4. pt模型转onnx模型。以转换yolov8n.pt为例,执行如下命令,执行完会在当前目录生成yolov8n.onnx文件。
    python pt2onnx.py --pt yolov8n.pt
  5. 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参数。

support.huaweicloud.com/bestpractice-modelarts/modelarts_aigc_yolov8infer_9091.html