OpenCV  4.10.0
开源计算机视觉
正在加载...
正在搜索...
没有匹配项
公有成员函数 | 保护成员 | 所有成员列表
cv::gapi::onnx::Params< Net > 类模板参考

#include <opencv2/gapi/infer/onnx.hpp>

cv::gapi::onnx::Params< Net > 的协作图

公有成员函数

 Params (const std::string &model)
 类构造函数。
 
GBackend backend () const
 
Params< Net > & cfgAddExecutionProvider (ep::CoreML &&ep)
 为运行时添加执行提供程序。
 
Params< Net > & cfgAddExecutionProvider (ep::CUDA &&ep)
 为运行时添加执行提供程序。
 
Params< Net > & cfgAddExecutionProvider (ep::DirectML &&ep)
 为运行时添加执行提供程序。
 
Params< Net > & cfgAddExecutionProvider (ep::OpenVINO &&ep)
 为运行时添加执行提供程序。
 
Params< Net > & cfgAddExecutionProvider (ep::TensorRT &&ep)
 为运行时添加执行提供程序。
 
Params< Net > & cfgDisableMemPattern ()
 禁用内存模式优化。
 
Params< Net > & cfgInputLayers (const typename PortCfg< Net >::In &layer_names)
 指定推理的网络输入层名称序列。
 
Params< Net > & cfgMeanStd (const typename PortCfg< Net >::NormCoefs &m, const typename PortCfg< Net >::NormCoefs &s)
 指定用于预处理的均值和标准差。
 
Params< Net > & cfgNormalize (const typename PortCfg< Net >::Normalize &normalizations)
 指定用于预处理的规范化参数。
 
Params< Net > & cfgOutputLayers (const typename PortCfg< Net >::Out &layer_names)
 指定推理的输出层名称序列。
 
Params< Net > & cfgPostProc (const std::vector< cv::GMatDesc > &out_metas, const PostProc &remap_function)
 配置图输出并提供用户的后处理函数。
 
Params< Net > & cfgPostProc (const std::vector< cv::GMatDesc > &out_metas, const PostProc &remap_function, const std::vector< std::string > &names_to_remap)
 
Params< Net > & cfgPostProc (std::vector< cv::GMatDesc > &&out_metas, PostProc &&remap_function)
 
Params< Net > & cfgPostProc (std::vector< cv::GMatDesc > &&out_metas, PostProc &&remap_function, std::vector< std::string > &&names_to_remap)
 
Params< Net > & constInput (const std::string &layer_name, const cv::Mat &data, TraitAs hint=TraitAs::TENSOR)
 设置常量输入。
 
cv::util::any params () const
 
std::string tag () const
 

保护成员

detail::ParamDesc desc
 

详细描述

template<typename Net>
class cv::gapi::onnx::Params< Net >

包含推理参数的描述和用于填充这些参数的函数集。

构造函数和析构函数文档

◆ Params()

template<typename Net >
cv::gapi::onnx::Params< Net >::Params ( const std::string &  model)
inline

类构造函数。

根据模型信息构造 Params,并为其他推理描述参数设置默认值。

参数
model模型路径(.onnx 文件)。

成员函数文档

◆ backend()

template<typename Net >
GBackend cv::gapi::onnx::Params< Net >::backend ( ) const
inline
以下是此函数的调用图

◆ cfgAddExecutionProvider() [1/5]

template<typename Net >
Params< Net > & cv::gapi::onnx::Params< Net >::cfgAddExecutionProvider ( ep::CoreML &&  ep)
inline

为运行时添加执行提供程序。

此函数用于添加 ONNX 运行时 CoreML 执行提供程序选项。

参数
epCoreML 执行提供程序选项。
另请参阅
cv::gapi::onnx::ep::CoreML.
返回值
修改后的对象的引用。

◆ cfgAddExecutionProvider() [2/5]

template<typename Net >
Params< Net > & cv::gapi::onnx::Params< Net >::cfgAddExecutionProvider ( ep::CUDA &&  ep)
inline

为运行时添加执行提供程序。

此函数用于添加 ONNX 运行时 CUDA 执行提供程序选项。

参数
epCUDA 执行提供程序选项。
另请参阅
cv::gapi::onnx::ep::CUDA.
返回值
修改后的对象的引用。

◆ cfgAddExecutionProvider() [3/5]

template<typename Net >
Params< Net > & cv::gapi::onnx::Params< Net >::cfgAddExecutionProvider ( ep::DirectML &&  ep)
inline

为运行时添加执行提供程序。

此函数用于添加 ONNX 运行时 DirectML 执行提供程序选项。

参数
epDirectML 执行提供程序选项。
另请参阅
cv::gapi::onnx::ep::DirectML.
返回值
修改后的对象的引用。

◆ cfgAddExecutionProvider() [4/5]

template<typename Net >
Params< Net > & cv::gapi::onnx::Params< Net >::cfgAddExecutionProvider ( ep::OpenVINO &&  ep)
inline

为运行时添加执行提供程序。

此函数用于添加 ONNX 运行时 OpenVINO 执行提供程序选项。

参数
epOpenVINO 执行提供程序选项。
另请参阅
cv::gapi::onnx::ep::OpenVINO.
返回值
修改后的对象的引用。

◆ cfgAddExecutionProvider() [5/5]

template<typename Net >
Params< Net > & cv::gapi::onnx::Params< Net >::cfgAddExecutionProvider ( ep::TensorRT &&  ep)
inline

为运行时添加执行提供程序。

此函数用于添加 ONNX 运行时 TensorRT 执行提供程序选项。

参数
epTensorRT 执行提供程序选项。
另请参阅
cv::gapi::onnx::ep::TensorRT.
返回值
修改后的对象的引用。

◆ cfgDisableMemPattern()

template<typename Net >
Params< Net > & cv::gapi::onnx::Params< Net >::cfgDisableMemPattern ( )
inline

禁用内存模式优化。

返回值
修改后的对象的引用。

◆ cfgInputLayers()

template<typename Net >
Params< Net > & cv::gapi::onnx::Params< Net >::cfgInputLayers ( const typename PortCfg< Net >::In &  layer_names)
inline

指定推理的网络输入层名称序列。

此函数用于将图输入的数据与网络拓扑的输入层相关联。名称数量必须与网络输入数量匹配。如果网络只有一个输入层,则无需调用它,因为该层会自动与输入相关联,但这并不能阻止您自己这样做。名称计数必须与网络输入数量匹配。

参数
layer_namesstd::array<std::string, N>,其中 N 是在 G_API_NET 中定义的输入数量。包含输入层的名称。
返回值
修改后的对象的引用。

◆ cfgMeanStd()

template<typename Net >
Params< Net > & cv::gapi::onnx::Params< Net >::cfgMeanStd ( const typename PortCfg< Net >::NormCoefs &  m,
const typename PortCfg< Net >::NormCoefs &  s 
)
inline

指定用于预处理的均值和标准差。

此函数用于为输入数据的预处理设置均值和标准差。

参数
mstd::array<cv::Scalar, N>,其中 N 是在 G_API_NET 中定义的输入数量。包含均值。
sstd::array<cv::Scalar, N>,其中 N 是在 G_API_NET 中定义的输入数量。包含标准差值。
返回值
修改后的对象的引用。

◆ cfgNormalize()

template<typename Net >
Params< Net > & cv::gapi::onnx::Params< Net >::cfgNormalize ( const typename PortCfg< Net >::Normalize &  normalizations)
inline

指定用于预处理的规范化参数。

此函数用于为输入数据的预处理设置规范化参数。

参数
normalizationsstd::array<cv::Scalar, N>,其中 N 是在 G_API_NET 中定义的输入数量。包含启用或禁用输入数据规范化的布尔值。
返回值
修改后的对象的引用。

◆ cfgOutputLayers()

template<typename Net >
Params< Net > & cv::gapi::onnx::Params< Net >::cfgOutputLayers ( const typename PortCfg< Net >::Out &  layer_names)
inline

指定推理的输出层名称序列。

此函数用于将图输出的数据与网络拓扑的输出层相关联。如果网络只有一个输出层,则无需调用它,因为该层会自动与输出相关联,但这并不能阻止您自己这样做。名称计数必须与网络输出数量匹配,或者您可以设置自己的输出,但对于这种情况,您还必须使用 cfgPostProc 函数。

参数
layer_namesstd::array<std::string, N>,其中 N 是在 G_API_NET 中定义的输出数量。包含输出层的名称。
返回值
修改后的对象的引用。

◆ cfgPostProc() [1/4]

template<typename Net >
Params< Net > & cv::gapi::onnx::Params< Net >::cfgPostProc ( const std::vector< cv::GMatDesc > &  out_metas,
const PostProc remap_function 
)
inline

配置图输出并提供用户的后处理函数。

当您使用具有动态输出的网络时,此函数很有用。由于我们无法知道推理结果的维度,因此需要提供这些维度以构建图输出。这些维度可能与推理结果不同。因此,您必须提供 PostProc 函数,该函数从推理结果中获取信息,并填充由 out_metas 中的维度构建的输出。

参数
out_metas输出元信息(类型、维度)。
remap_function后处理函数,它有两个参数。第一个是 onnx 结果,第二个是图形输出。这两个参数都是 std::map,包含层名称和 cv::Mat 的对。
返回值
修改后的对象的引用。

◆ cfgPostProc() [2/4]

template<typename Net >
Params< Net > & cv::gapi::onnx::Params< Net >::cfgPostProc ( const std::vector< cv::GMatDesc > &  out_metas,
const PostProc remap_function,
const std::vector< std::string > &  names_to_remap 
)
inline

这是一个重载的成员函数,为了方便提供。它与上面的函数的不同之处仅在于它接受的参数。该函数具有额外的参数 names_to_remap。此参数提供有关将用于推理和后处理函数的输出层的信息。

参数
out_metas输出元信息。
remap_function后处理函数。
names_to_remap输出层的名称。网络的推理将在这些层上进行。推理的结果将使用这些名称在后处理函数中进行处理。
返回值
修改后的对象的引用。

◆ cfgPostProc() [3/4]

template<typename Net >
Params< Net > & cv::gapi::onnx::Params< Net >::cfgPostProc ( std::vector< cv::GMatDesc > &&  out_metas,
PostProc &&  remap_function 
)
inline

这是一个重载的成员函数,为了方便提供。它与上面的函数的不同之处仅在于它接受的参数。带有右值参数的函数。

参数
out_metas右值输出元信息(类型、维度)。
remap_function右值后处理函数,它有两个参数。第一个是 onnx 结果,第二个是图形输出。这两个参数都是 std::map,包含层名称和 cv::Mat 的对。
返回值
修改后的对象的引用。

◆ cfgPostProc() [4/4]

template<typename Net >
Params< Net > & cv::gapi::onnx::Params< Net >::cfgPostProc ( std::vector< cv::GMatDesc > &&  out_metas,
PostProc &&  remap_function,
std::vector< std::string > &&  names_to_remap 
)
inline

这是一个重载的成员函数,为了方便提供。它与上面的函数的不同之处仅在于它接受的参数。带有右值参数和额外参数 names_to_remap 的函数。

参数
out_metas右值输出元信息。
remap_function右值后处理函数。
names_to_remap右值输出层的名称。网络的推理将在这些层上进行。推理的结果将使用这些名称在后处理函数中进行处理。
返回值
修改后的对象的引用。

◆ constInput()

template<typename Net >
Params< Net > & cv::gapi::onnx::Params< Net >::constInput ( const std::string &  layer_name,
const cv::Mat data,
TraitAs  hint = TraitAs::TENSOR 
)
inline

设置常量输入。

该函数用于设置常量输入。此输入必须是准备好的张量,因为在此情况下预处理已禁用。您应该提供将接收提供数据的网络层的名称。

参数
layer_name网络层的名称。
datacv::Mat,其中包含将与网络层关联的数据。
hint输入类型 (TENSOR)。
返回值
修改后的对象的引用。

◆ params()

template<typename Net >
cv::util::any cv::gapi::onnx::Params< Net >::params ( ) const
inline

◆ tag()

template<typename Net >
std::string cv::gapi::onnx::Params< Net >::tag ( ) const
inline

成员数据文档

◆ desc

template<typename Net >
detail::ParamDesc cv::gapi::onnx::Params< Net >::desc
受保护的

此类的文档是从以下文件生成的