智能边缘计算
基于Bitmain TPU部署AI应用
更新时间: 2022-11-30 10:43:00功能说明
助企云边缘一体机SIEB-V303是一款高性能、低功耗边缘计算产品,搭载国产TPU芯片BM1684,INT8算力高达17.6TOPS。Sangforruntime基于BM11684进行适配、兼容、优化,提供解码、前处理、推理、后处理等端到端能力,帮助用户快速进行AI适配和改造。
通过边缘计算平台可以快速将AI应用部署在边缘一体机上,结合终端设备,进行视频智能化分析。
前提条件
1.获取基于BitmainTPU适配的Sangforruntime镜像“sfrt_bm_v1.3.1_v303.tar.gz”。
2.获取基于BitmainTPU部署AI应用的yaml文件“ai-app-bitmain-1.2.yaml”。
3.获取需要部署AI应用的边缘节点的hostname。
操作步骤
1.将“sfrt_bm_v1.3.1_v303.tar.gz”上传到镜像仓库。上传操作请参考“上传容器镜像 ”章节。
17.修改yaml文件中的deployment配置参数,修改容器镜像地址为上传后的镜像地址。
18.修改nodeName字段为部署AI应用的边缘节点的hostname。
19.修改sfrt.ini参数配置,具体参数说明如下表。
字段名 |
字段值 |
备注 |
---|---|---|
uri |
<摄像头rtsp流>:<mqtt topic>[,<摄像头rtsp流>:<mqtt topic>...] |
举例如rtsp://admin:sangfor123@172.23.142.18/LiveMedia/ch1/Media1:tag1/node1/device1 |
drop_frame_interval |
0~25的整数 |
控制获取每路摄像头流的帧间隔,如设置为3表示每3帧取1帧(间隔2帧) |
decoder_type |
不填 |
解码方式,默认使用比特大陆解码芯片解码 |
decoder_out_width |
1920 |
目前需要保持与摄像头输入大小一致 |
decoder_out_height |
1080 |
目前需要保持与摄像头输入大小一致 |
queue_size |
10 |
线程间同步队列大小,不宜设置太大,建议10-30 |
push_method |
push_wait/push |
线程间同步队列已满时的入队方式,push_wait表示队列满时等待入队,push表示删除队头数据并入队 |
algorithm |
yolov5/yolov4/yolov3/safety_hat |
所用算法模型 |
model_type |
onnx |
输入模型的格式,目前仅支持onnx |
model_in_path |
/sfrt/infer_v1.2/sfrt/models/yolov5s_fp32_bs8.bmodel |
用于比特大陆推理的bmodel模型路径 |
preprocessor_method |
resize/letter_box |
yolo系列前处理方式,与算法对应 |
obj_threshold |
0.5 |
算法目标阈值 |
label_file |
/sfrt/infer_v1.2/sfrt/labels/coco_labels.txt |
标签文件地址 |
post_process_method |
YoloV5/YoloV4/YoloV3/YoloV4SafetyHatPostprocessorPlugin |
后处理方法,与algorithm对应 |
nms_threshold |
0.5 |
算法nms阈值 |
sink_type |
console_sink/mqtt_sink |
推理结果的发送方式,console_sink为在控制台显示结果,mqtt_sink是通过mqtt协议发送到服务端 |
sink_ip |
10.113.78.230 |
mqtt服务端ip地址 |
sink_port |
1883 |
mqtt服务端口,默认1883 |
sink_original_img |
true/false |
是否发送原图,true为发送原图,false为发送带检测框的图 |
mqtt_client_id |
client |
mqtt的client id,自定义 |
mqtt_qos |
0/1/2 |
mqtt qos等级 |
log_level |
debug/info/error |
日志等级 |
use_console_log |
true/false |
是否打印到控制台 |
log_path |
/tmp/log/sfrt-log |
日志文件保存地址 |
single_log_size |
10 |
单个日志文件大小,单位M |
log_lifecycle |
10 |
最大日志数量,超过该值时会删除最早日志 |
20.(可选)默认为default命名空间,可以根据需求创建新的命名空间,在新的命名空间下部署AI应用。
21.通过导入yaml文件的方式部署AI应用,选择“导入至此项目”,选择命名空间,上传修改后的yaml文件。
22.等待工作负载运行正常,AI应用部署完毕。