常规模式 下请使用 hbm_infer.hbm_rpc_session 模块。
HbmRpcSession成员方法:__init__
初始化HbmRpcSession对象。
| 参数 | 说明 |
|---|---|
host | 开发板ip地址。 |
local_hbm_path | 本地HBM文件路径。 |
username | 板端用户名,默认值为 "root" 。 |
password | 登录开发板的密码,默认为 None ,代表无需使用密码。 |
ssh_port | SSH目标端口号,默认值为 22 。 |
remote_root | 板端暂存文件的根目录路径,默认值为 "/map/hbm_infer/" 。 |
frame_timeout | gRPC 通信的单帧超时时间,以秒为单位,默认值为 90 。 |
server_timeout | 服务端超时时间,以分钟为单位,默认值为 5 ,超时后服务端自动退出并清理 除日志外 的其他文件。 |
with_profile | 是否开启推理各阶段时间统计,默认值为 False 。 |
debug | 是否开启调试模式保留更多日志信息,默认值为 False 。 |
compress_option | 开启 gRPC 压缩功能,可选值有 "IN" 、 "INOUT" 及 "NONE" ,分别代表请求数据帧启用压缩、请求和响应数据帧都启用压缩、不启用压缩,默认值为 "NONE" 。 |
core_id | 指定推理使用的BPU核心ID,0代表CORE_0,1代表CORE_1,...,-1代表CORE_ANY,默认值为-1。可通过列表指定多个核心。 |
remote_environment | 配置板端环境变量,字典类型,键为环境变量名称,值为环境变量取值,默认值为空字典。 |
压缩功能是软件处理,因此开启后通常出现推理延时变大的情况,压缩功能优化主要体现在降低网络负载和提高吞吐,并且压缩质量依赖输入输出数据的相关性,对于浮点输入输出一般不建议开启,对于图像输入或者分割输出等可尝试开启。
HbmRpcSession成员方法:get_model_names
获取当前Session中模型名称列表。
模型名称列表。
HbmRpcSession成员方法:get_input_info
获取模型输入信息。
| 参数 | 说明 |
|---|---|
model_name | 模型名称。对于多模型Session,必须指定 model_name 。 |
字典形式的模型输入信息描述,具体格式可参考如下示例:
HbmRpcSession成员方法:get_output_info
获取模型输出信息。
| 参数 | 说明 |
|---|---|
model_name | 模型名称。对于多模型Session,必须指定 model_name 。 |
字典形式的模型输出信息描述,格式与 get_input_info 返回值一致。
HbmRpcSession成员方法:show_input_output_info
打印模型输入输出信息。
| 参数 | 说明 |
|---|---|
model_name | 模型名称。对于多模型Session,必须指定 model_name 。 |
HbmRpcSession成员方法:__call__
执行模型推理。
| 参数 | 说明 |
|---|---|
data | 模型输入,字典类型。 key 为输入张量名称, value 为输入张量,支持 torch.Tensor 、 numpy.ndarray 及 HTensor 三种格式。需要注意:
|
output_config | 详细介绍可参考传输优化章节内容。 |
model_name | 模型名称。对于多模型Session,必须指定 model_name 。 |
模型输出,字典类型。 key 为输出张量名称, value 为输出张量,其类型与模型输入保持一致。
HbmRpcSession成员方法:close_server
关闭服务端,清理服务端资源。
需要显式调用close_server接口以保证板端进程及存储等资源被正确释放。
HbmRpcSession成员方法:get_profile
获取推理各阶段耗时统计信息,需要 with_profile 参数为 True 。
| 参数 | 说明 |
|---|---|
model_name | 模型名称。对于多模型Session,必须指定 model_name 。 |
推理各阶段耗时统计信息,字典类型,其参考格式如下:
HbmRpcSession成员方法:get_profile_last_frame
获取最近一帧推理各阶段耗时统计信息,需要 with_profile 参数为 True 。
| 参数 | 说明 |
|---|---|
model_name | 模型名称。对于多模型Session,必须指定 model_name 。 |
最近一帧推理各阶段耗时统计信息,字典类型,其参考格式如下: