常规模式 下请使用 hbm_infer.hbm_rpc_session
模块。
HbmRpcSession成员方法:__init__
初始化HbmRpcSession对象。
参数 | 说明 |
---|---|
host | 开发板ip地址。 |
local_hbm_path | 本地HBM文件路径。 |
username | 板端用户名,默认值为 "root" 。 |
remote_root | 板端暂存文件的根目录路径,默认值为 "/map/hbm_infer/" 。 |
password | 登录开发板的密码,默认为 "" ,代表无需使用密码。 |
frame_timeout | gRPC 通信的单帧超时时间,以秒为单位,默认值为 90 。 |
server_timeout | 服务端超时时间,以分钟为单位,默认值为 30 ,超时后服务端自动退出并清理 除日志外 的其他文件。 |
with_profile | 是否开启推理各阶段时间统计,默认值为 False 。 |
debug | 是否开启调试模式保留更多日志信息,默认值为 False 。 |
compress_option | 开启 gRPC 压缩功能,可选值有 "IN" 、 "INOUT" 及 "NONE" ,分别代表请求数据帧启用压缩、请求和响应数据帧都启用压缩、不启用压缩,默认值为 "NONE" 。 |
压缩功能是软件处理,因此开启后通常出现推理延时变大的情况,压缩功能优化主要体现在降低网络负载和提高吞吐,并且压缩质量依赖输入输出数据的相关性,对于浮点输入输出一般不建议开启,对于图像输入或者分割输出等可尝试开启。
HbmRpcSession成员方法:get_input_info
获取模型输入信息。
字典形式的模型输入信息描述,具体格式可参考如下示例:
HbmRpcSession成员方法:get_output_info
获取模型输出信息。
字典形式的模型输出信息描述,格式与 get_input_info
返回值一致。
HbmRpcSession成员方法:show_input_output_info
打印模型输入输出信息。
HbmRpcSession成员方法:__call__
执行模型推理。
参数 | 说明 |
---|---|
data | 模型输入,字典类型。 key 为输入张量名称, value 为输入张量,支持 torch.Tensor 和 numpy.ndarray 两种格式。需要注意: 输入数据需要与模型输入信息保持一致(包括名称、数量、形状以及数据元素类型等) 。 |
模型输出,字典类型。 key
为输出张量名称, value
为输出张量,其类型与模型输入保持一致。
HbmRpcSession成员方法:close_server
关闭服务端,清理服务端资源。
HbmRpcSession成员方法:get_profile
获取推理各阶段耗时统计信息,需要 with_profile
参数为 True
,否则报错。返回值为字典类型,其参考格式如下:
HbmRpcSession成员方法:get_profile_last_frame
获取最近一帧推理各阶段耗时统计信息,需要 with_profile
参数为 True
,否则报错。返回值为字典类型,其参考格式如下: