AI开发平台MODELARTS-BERT和YOLO等常用小模型适配MindSpore NPU推理指导:Step6 安装插件代码包并编辑

时间:2024-05-17 18:26:06

Step6 安装插件代码包并编辑

模型推理时需要使用适配过昇腾的模型插件包。将获取到的模型插件代码包ascendcloud-aigc-6.3.904-*.tar.gz文件上传到容器的/home/ma-user/目录下并解压。获取路径参见获取软件和镜像
cd /home/ma-user/
tar -zxvf ascendcloud-aigc-6.3.904-*.tar.gz  #解压,包名中的*表示时间戳,请按照实际替换。
cp ascendcloud-aigc-poc-redbook.tar.gz ${model_path}   #${model_path}为mindir文件所在路径
cd ${model_path}
tar -zxvf ascendcloud-aigc-poc-redbook.tar.gz

解压后所得文件如图3所示。

图3 ascendcloud-aigc-poc-redbook解压后文件

编辑gunicorn.conf文件。

vim gunicorn.conf
图4 编辑gunicorn.conf文件
  • 5556与创建容器映射端口号保持一致。
  • workers为服务数,测试多服务时可以根据需要修改此参数的值。

编辑infer_server.py文件。

vim infer_server.py
图5 BERT编辑infer_server.py文件
  • DEVICE_ID:设备ID,与挂载卡保持一致。
  • model_path:为mindir名称。
  • port:与创建容器时端口保持一致。
  • input_data:三个为onnx模型转mindir模型时的输入,此次三个输入全部为4,96,将图上32,256全部换为4,96即可。如果该模型只有一个输入,需将input_data2与input_data3添加注释,并将res = model[(input_data1,input_data2,input_data3])]中的input_data2与input_data3删除,在input_data1中填入相应输入即可。

    此次三个BERT全部为三个输入,CV模型全部为单个输入,如下图为CV模型的输入信息查看示例。

    图6 get_onnx.py查看CV模型的onnx信息

    对于CV模型,需将input_data2与input_data3注释,此onnx模型为固定shape,其转为onnx模型时不能修改其输入,故Inptu_data1中需修改为1,3,640,640,后面np.int32也需修改为np.float32。

编辑jmeter.jmx文件

vim jmeter.jmx
图7 编辑jmeter.jmx文件(1)
  • ThreadGroup.num_threads:为jemter压测的线程数。
  • ThreadGroup.scheduler:将false修改为true,表示限制压测时间。
  • ThreadGroup.duration:设置压测时间,默认时间单位为s,例如需要压测10min,则添加600即可,无需带单位。
图8 编辑jmeter.jmx文件(2)
  • port:与创建容器时端口保持一致
support.huaweicloud.com/bestpractice-modelarts/modelarts_10_3001.html