| RMVL 2.4.0 Robotic Manipulation and Vision Library

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

分类网络推理类 更多...

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

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

## Public 成员函数
| ClassificationNet (std::string_view model_path, OrtProvider prov=OrtProvider::CPU)
| 创建分类网络对象
Public 成员函数 继承自 rm::OnnxNet
| 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 std::pair< int, float > | cast (const std::any &result)
| 推理结果转换
静态 Public 成员函数 继承自 rm::OnnxNet
static void | printEnvInfo () noexcept
| 打印环境信息

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

## 额外继承的成员函数
Protected 属性 继承自 rm::OnnxNet
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
| 输出名称

## 详细描述

分类网络推理类

注解
  需满足
  - 输入层为 [1, c, h, w]，其中 c 为输入图像的通道数，可以是 1 或者 3，h 为高度，w 为宽度
  - 输出层为 [1, n]，其中 n 为类别数

## 构造及析构函数说明

## ◆ ClassificationNet()

rm::ClassificationNet::ClassificationNet | ( | std::string_view | model_path,
|  | OrtProvider | prov = OrtProvider::CPU )

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

创建分类网络对象

参数

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

## 成员函数说明

## ◆ cast()

std::pair< int, float > rm::ClassificationNet::cast | ( | const std::any & | result | ) |
| inline static

Python:
| rm.ClassificationNet.cast( | res | ) -> | idx, conf

推理结果转换

参数

  [in] | result | 使用 std::any 表示的推理结果

返回
  转换后的推理结果，为 std::pair<int, float> 类型，表示分类结果及其置信度

## ◆ postProcess()

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

后处理

参数

  [in] | output_tensors | 模型的输出 Tensors
  [in] | postop | 无需后处理选项，传入 {} 即可

返回
  用 std::any 表示的分类结果及其置信度，可使用 rm::ClassificationNet::cast 函数对返回类型进行转换

重载 rm::OnnxNet .

## ◆ preProcess()

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

预处理

参数

  [in] | images | 所有输入图像
  [in] | options | 预处理选项，包含各通道的均值和标准差

返回
  模型的输入 Tensors

重载 rm::OnnxNet .