RMVL  2.5.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)
 创建分类网络对象
std::pair< int, float > inference (const std::vector< cv::Mat > &images, const std::vector< float > &means, const std::vector< float > &stds)
 执行分类网络推理
Public 成员函数 继承自 rm::OnnxNet
void printModelInfo () noexcept
 打印模型信息

额外继承的成员函数

静态 Public 成员函数 继承自 rm::OnnxNet
static void printEnvInfo () noexcept
 打印环境信息
Protected 成员函数 继承自 rm::OnnxNet
 OnnxNet (std::string_view model_path, OrtProvider prov)
 创建 OnnxNet 对象
std::vector< Ort::Value > run (const std::vector< Ort::Value > &input_tensors)
 执行 ONNX Runtime 推理
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 )
Python:
rm.ClassificationNet(model_path, prov) -> <ClassificationNet object>

创建分类网络对象

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

成员函数说明

◆ inference()

std::pair< int, float > rm::ClassificationNet::inference ( const std::vector< cv::Mat > & images,
const std::vector< float > & means,
const std::vector< float > & stds )

执行分类网络推理

参数
[in]images所有输入图像
[in]means各通道的均值
[in]stds各通道的标准差
返回
分类结果及其置信度