| RMVL 2.3.0 Robotic Manipulation and Vision Library

载入中...
搜索中...
未找到
Public 成员函数 | 静态 Public 成员函数 | Protected 属性 | Private 成员函数 | 所有成员列表
rm::OnnxNet类 参考
机器学习与深度学习支持库 » onnxruntime 多态部署库

ONNX-Runtime (Ort) 部署库基类 [14] 更多...

`#include <rmvl/ml/ort.h>`

类 rm::OnnxNet 继承关系图:
rm::OnnxNet 的协作图:

## Public 成员函数
| OnnxNet (std::string_view model_path, OrtProvider prov)
| 创建 OnnxNet 对象
void | printModelInfo () noexcept
| 打印模型信息
std::any | inference (const std::vector< cv::Mat > &images, const PreprocessOptions &preop, const PostprocessOptions &postop)
| 推理
virtual | ~OnnxNet ()=default

## 静态 Public 成员函数
static void | printEnvInfo () noexcept
| 打印环境信息

## Protected 属性
Ort::MemoryInfo | _memory_info
| 内存分配信息
Ort::Env | _env
| 环境配置
Ort::SessionOptions | _session_options
| 会话选项
std::unique_ptr< Ort::Session > | _session
| 会话
std::vector< const char * > | _inames
| 输入名称
std::vector< const char * > | _onames
| 输出名称

## Private 成员函数
virtual std::vector< Ort::Value > | preProcess (const std::vector< cv::Mat > &images, const PreprocessOptions &preop)
| 预处理
virtual std::any | postProcess (const std::vector< Ort::Value > &output_tensors, const PostprocessOptions &postop)
| 后处理

## 详细描述

ONNX-Runtime (Ort) 部署库基类 [14]

## 构造及析构函数说明

## ◆ OnnxNet()

rm::OnnxNet::OnnxNet | ( | std::string_view | model_path,
|  | OrtProvider | prov )

Python:
| rm.OnnxNet( | model_path, prov | ) -> | <OnnxNet object>

创建 OnnxNet 对象

参数

  [in] | model_path | 模型路径，如果该路径不存在，则程序将因错误而退出
  [in] | prov | Ort 提供者

## ◆ ~OnnxNet()

virtual rm::OnnxNet::~OnnxNet | ( |  | ) |
| virtual default

函数调用图:

## 成员函数说明

## ◆ inference()

std::any rm::OnnxNet::inference | ( | const std::vector< cv::Mat > & | images,
|  | const PreprocessOptions & | preop,
|  | const PostprocessOptions & | postop )

Python:
| rm.OnnxNet.inference( | images, preop, postop | ) -> | res

推理

参数

  [in] | images | 所有输入图像
  [in] | preop | 预处理选项，不同网络有不同的预处理选项
  [in] | postop | 后处理选项，不同网络有不同的后处理选项

返回
  使用 `std::any` 表示的所有推理结果，需要根据具体的网络进行解析

注解
  可使用 `<class-type>::cast` 函数对返回类型进行转换

函数调用图:

## ◆ postProcess()

virtual std::any rm::OnnxNet::postProcess | ( | const std::vector< Ort::Value > & | output_tensors,
|  | const PostprocessOptions & | postop )
| private virtual

后处理

参数

  [in] | output_tensors | 模型的输出 Tensors
  [in] | postop | 后处理选项，不同网络有不同的后处理选项

返回
  使用 `std::any` 表示的所有推理结果，需要根据具体的网络进行解析

被 rm::ClassificationNet 重载.

函数调用图:

## ◆ preProcess()

virtual std::vector< Ort::Value > rm::OnnxNet::preProcess | ( | const std::vector< cv::Mat > & | images,
|  | const PreprocessOptions & | preop )
| private virtual

预处理

参数

  [in] | images | 所有输入图像
  [in] | preop | 预处理选项，不同网络有不同的预处理选项

返回
  模型的输入 Tensors

被 rm::ClassificationNet 重载.

函数调用图:

## ◆ printEnvInfo()

static void rm::OnnxNet::printEnvInfo | ( |  | ) |
| static noexcept

Python:
| rm.OnnxNet.printEnvInfo( |  | ) -> | None

打印环境信息

## ◆ printModelInfo()

void rm::OnnxNet::printModelInfo | ( |  | ) |
| noexcept

Python:
| rm.OnnxNet.printModelInfo( |  | ) -> | None

打印模型信息

函数调用图:

## 类成员变量说明

## ◆ _env

Ort::Env rm::OnnxNet::_env
| protected

环境配置

## ◆ _inames

std::vector<const char *> rm::OnnxNet::_inames
| protected

输入名称

## ◆ _memory_info

Ort::MemoryInfo rm::OnnxNet::_memory_info
| protected

内存分配信息

## ◆ _onames

std::vector<const char *> rm::OnnxNet::_onames
| protected

输出名称

## ◆ _session

std::unique_ptr<Ort::Session> rm::OnnxNet::_session
| protected

会话

## ◆ _session_options

Ort::SessionOptions rm::OnnxNet::_session_options
| protected

会话选项

该类的文档由以下文件生成:

- rmvl/ml/ort.h