RMVL  1.4.0-dev
Robotic Manipulation and Vision Library
载入中...
搜索中...
未找到

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

#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)
 推理
 

静态 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 或者 3h 为高度,w 为宽度
  • 输出层为 [1, n],其中 n 为类别数

构造及析构函数说明

◆ ClassificationNet()

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

创建分类网络对象

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

成员函数说明

◆ cast()

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

推理结果转换

参数
[in]result使用 std::any 表示的推理结果
返回
转换后的推理结果,为 std::pair<int, float> 类型,表示分类结果及其置信度

◆ postProcess()

std::any rm::ClassificationNet::postProcess ( const std::vector< Ort::Value > & output_tensors,
const PostprocessOptions & postop )
overrideprivatevirtual

后处理

参数
[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 )
overrideprivatevirtual

预处理

参数
[in]images所有输入图像
[in]options预处理选项,包含各通道的均值和标准差
返回
模型的输入 Tensors

实现了 rm::OnnxNet.


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