# python api sample
## 介绍
`main.py`是行业SDK流程编排python api的sample,该sample主要实现了从sample.pipeline中读取pipeline创建推理stream,然后读取一张图片送到stream进行推理,获取推理结构后把结果打印出来,最后销毁stream。
## 配置
请确保pipeline所需要的yolov3和resnet50模型文件在`../models/yolov3`和`../models/resnet50`中存在,模型获取方法可参考《mxVision用户指南》->使用命令行开发->样例介绍->C++运行步骤章节的模型获取方法。
run.sh脚本中LD_LIBRARY_PATH设置了ACL动态库链接路径为/usr/local/Ascend/ascend-toolkit/latest/acllib/lib64,如果实际环境中路径不一致,需要替换为实际的目录。
准备一张图片(jpeg)进行推理,图片需要重命名为test.jpg并放在当前目录下。
## 运行
```bash
bash run.sh
```
## 运行
```bash
bash run.sh
```
## 更换pipeline
在`../pipeline`文件夹中,还提供了一系列的pipeline文件,用户可根据需求更改main.py中指定的pipeline路径进行测试。在测试前请确保pipeline中需要的模型已在`../models/[model_name]`中存在,模型获取方法可参考《mxVision用户指南》->使用命令行开发->样例介绍->C++运行步骤章节的步骤1。
## 更换输入图片
在sample中更换测试图片的方法:在`python`目录下放入测试图片(jpeg),并在main_xxx.py中更换指定测试图片的名字(默认为test.jpg)
## 更换视频流
在sample中更换视频流路径的方法:将所有对应pipeline中的“rtspUrl”字段值替换为可用的 rtsp 流源地址(目前只支持264格式的rtsp流,例:"rtsp://xxx.xxx.xxx.xxx:xxx/input.264", 其中xxx.xxx.xxx.xxx:xxx为ip和端口号
## 可供测试的pipeline以及涉及的模型和插件
* `BertMultiPorts.pipeline` : 输入插件, 串流插件,bert模型
* `FasterRcnn.pipeline` : 媒体数据处理插件,fastercrnn模型
* `Sample.pipeline` : 分类模型后处理插件,resnet50模型
* `SampleOsd.pipeline` : 屏幕显示(OSD)相关插件,串流插件
* `SampleOsdVideo2Channels.pipeline` :屏幕显示(OSD)相关插件,yolov3模型,resnet50模型
* `SamplePlugin.pipeline` :分类模型后处理插件,resnet50模型
* `SplitterNms.pipeline` :过滤分块后重叠区域重复目标插件,目标检测模型后处理插件,yolov3模型
* `KeyPointPostProcessor.pipeline` : 姿态检测模型后处理插件,openpose模型
* `SemanticSegPostProcessor.pipeline` : 语义分割模型后处理插件,unet模型
* `TextGenerationPostProcessor.pipeline` :文本生成模型后处理插件,crnn模型
* `SampleImageNormalize.pipeline` :图像归一化处理插件,语义分割模型后处理插件,deeplabv3ms模型
* `SampleOpencvCenterCrop.pipeline` :裁剪图片中心图片插件,deeplabv3pytorch模型
* `SampleObjectSelector.pipeline` :多级推理选择过滤插件,ssdmobilenetv1模型
* `VideoObjectDetection.pipeline` :视频流插件,媒体数据处理插件,yolov3模型
* `SampleMotsimplesortv2.pipeline` :视频流插件,媒体数据处理插件,多目标路径记录插件,yolov3模型
* `SampleSkipframe.pipeline` :视频流插件,媒体数据处理插件,跳帧插件,yolov3模型
* `SampleNmsoverLapedroiv2.pipeline` :过滤分块后重叠区域重复目标v2插件
* `SampleMotsimplesortv2.pipeline` :多目标路径记录v2插件, yolov3模型
## 支持
如果使用过程中遇到问题,请联系华为技术支持。
评论0