智能边缘计算

帮助中心 / 边缘计算服务 / 智能边缘计算 / 操作指南 / AI应用管理 / 基于Nvidia AGX部署AI应用 /

基于Nvidia AGX部署AI应用

更新时间: 2022-11-30 10:43:00

功能说明

助企云边缘一体机SIEB-V502搭载NVIDIA Jetson Xavier AGX核心模块,以30W的低功耗提供高达32Tops的实时推理能力。Sangforruntime基于该核心模块进行适配、兼容,提供解码、前处理、推理、后处理等端到端能力,帮助用户快速进行AI适配和改造。

通过边缘计算平台可以快速将AI应用部署在边缘一体机上,结合终端设备,进行视频智能化分析。

前提条件

1.获取基于Nvidia适配的Sangforruntime镜像“sangfor-ai-sfrt_v5.6_v502.tar.gz”。

2.获取基于Nvidia部署AI应用的yaml文件“ai-app-nvidia-5.6.yaml”。

3.获取需要部署AI应用的边缘节点的hostname。

操作步骤

1.将“sangfor-ai-sfrt_v5.6_v502.tar.gz”上传到镜像仓库。上传操作请参考“上传容器镜像 ”章节。

11.修改yaml文件中的deployment配置参数,修改容器镜像地址为上传后的镜像地址。

12.修改nodeName字段为部署AI应用的边缘节点的hostname。

13.修改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
nvv4l2h264/nvv4l2h265
解码方式,依据摄像头编码方式决定,暂不支持不同编码混合使用
decoder_out_width
如1920
解码输出的图像宽度,与输入图像相比rescale比例不超过16
decoder_out_height
如1080
解码输出的图像高度,与输入图像相比rescale比例不超过16
queue_size
10
线程间同步队列大小,不宜设置太大,建议10-30
push_method
push_wait/push
线程间同步队列已满时的入队方式,push_wait表示队列满时等待入队,push表示删除队头数据并入队
drop
true/false
控制解码器是否丢帧的开关,程序推理速度正常时drop不起作用。在处理速度不足时true表示主动丢帧以保证程序稳定,false不会主动丢帧,但可能导致内存溢出。
algorithm
yolov5/yolov4/yolov3/safety_hat
所用算法模型
model_type
onnx
输入模型的格式,目前仅支持onnx
model_in_path
/sangfor/sfrt/models/yolov5s_bs8.onnx
目前仅支持onnx模型,onnx文件路径
engine_out_path
/sangfor/sfrt/engines/yolov5s_bs8_fp16.trt
将onnx等模型转化为英伟达推理引擎trt,该字段为trt保存路径
workspace_size
512
模型转换空间大小,视边缘产品实际显存可增加
precision
fp16/fp32
转换模型精度
preprocessor_method
resize/letter_box
yolo系列前处理方式,与算法对应
engine_load_path
/sangfor/sfrt/engines/yolov5s_bs8_fp16.trt
项目推理加载的trt模型,实际运行时会优先检查这一项是否存在,若不存在才会进行onnx到trt模型的转换
obj_threshold
0.5
算法目标阈值
label_file
/sangfor/sfrt/profile/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
最大日志数量,超过该值时会删除最早日志

14.(可选)默认为default命名空间,可以根据需求创建新的命名空间,在新的命名空间下部署AI应用。

15.通过导入yaml文件的方式部署AI应用,选择“导入至此项目”,选择命名空间,上传修改后的yaml文件。

16.等待工作负载运行正常,AI应用部署完毕。