AI开发平台MODELARTS-BERT和YOLO等常用小模型适配MindSpore NPU推理指导:Step6 安装插件代码包并编辑
Step6 安装插件代码包并编辑
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所示。
编辑gunicorn.conf文件。
vim gunicorn.conf
- 5556与创建容器映射端口号保持一致。
- workers为服务数,测试多服务时可以根据需要修改此参数的值。
编辑infer_server.py文件。
vim 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
- ThreadGroup.num_threads:为jemter压测的线程数。
- ThreadGroup.scheduler:将false修改为true,表示限制压测时间。
- ThreadGroup.duration:设置压测时间,默认时间单位为s,例如需要压测10min,则添加600即可,无需带单位。
- port:与创建容器时端口保持一致