OpenCV  4.10.0
开源计算机视觉
加载中...
搜索中...
无匹配项
公共成员函数 | 受保护的属性 | 所有成员列表
cv::gapi::ie::Params< Net > 类模板参考

此结构提供了用于填充“OpenVINO 工具包”模型的推理参数的函数。 更多...

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

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

公共成员函数

 Params (const std::string &model, const std::string &device)
 
 Params (const std::string &model, const std::string &weights, const std::string &device)
 类构造函数。
 
GBackend backend () const
 
Params< Net > & cfgBatchSize (const size_t size)
 指定推理批次大小。
 
ParamscfgContextParams (const cv::util::any &ctx_cfg)
 指定 InferenceEngine 中 RemoteContext 的配置。
 
ParamscfgContextParams (cv::util::any &&ctx_cfg)
 
Params< Net > & cfgInferMode (InferMode mode)
 指定将用于运行推理的 api。
 
Params< Net > & cfgInputLayers (const typename PortCfg< Net >::In &layer_names)
 指定推理的网络输入层名称序列。
 
Params< Net > & cfgInputLayout (detail::AttrMap< std::string > layout_map)
 
Params< Net > & cfgInputLayout (std::string layout)
 指定模型的输入布局。
 
Params< Net > & cfgInputReshape (const std::map< std::string, std::vector< std::size_t > > &reshape_table)
 指定网络输入的新输入形状。
 
Params< Net > & cfgInputReshape (const std::string &layer_name, const std::vector< size_t > &layer_dims)
 
Params< Net > & cfgInputReshape (const std::unordered_set< std::string > &layer_names)
 
Params< Net > & cfgInputReshape (std::map< std::string, std::vector< std::size_t > > &&reshape_table)
 
Params< Net > & cfgInputReshape (std::string &&layer_name, std::vector< size_t > &&layer_dims)
 
Params< Net > & cfgInputReshape (std::unordered_set< std::string > &&layer_names)
 
ParamscfgNumRequests (size_t nireq)
 指定异步推理请求的数量。
 
Params< Net > & cfgOutputLayers (const typename PortCfg< Net >::Out &layer_names)
 指定推理的网络输出层名称序列。
 
Params< Net > & cfgOutputLayout (detail::AttrMap< std::string > layout_map)
 
Params< Net > & cfgOutputLayout (std::string layout)
 指定模型的输出布局。
 
Params< Net > & cfgOutputPrecision (detail::ParamDesc::PrecisionMapT precision_map)
 
Params< Net > & cfgOutputPrecision (detail::ParamDesc::PrecisionT precision)
 指定模型的输出精度。
 
Params< Net > & cfgPreprocessingParams (const cv::gapi::wip::onevpl::Device &device, const cv::gapi::wip::onevpl::Context &ctx)
 
Params< Net > & cfgResize (detail::AttrMap< int > interpolation)
 
Params< Net > & cfgResize (int interpolation)
 指定调整大小插值算法。
 
Params< Net > & constInput (const std::string &layer_name, const cv::Mat &data, TraitAs hint=TraitAs::TENSOR)
 指定一个常量输入。
 
cv::util::any params () const
 
ParamspluginConfig (const IEConfig &cfg)
 指定 OpenVINO 插件配置。
 
ParamspluginConfig (IEConfig &&cfg)
 
std::string tag () const
 

受保护的属性

detail::ParamDesc desc
 

详细描述

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

此结构提供了用于填充“OpenVINO 工具包”模型的推理参数的函数。

构造函数和析构函数文档

◆ Params() [1/2]

template<typename Net >
cv::gapi::ie::Params< Net >::Params ( const std::string &  model,
const std::string &  weights,
const std::string &  device 
)
inline

类构造函数。

根据模型信息构造 Params,并为其他推理描述参数指定默认值。模型使用“OpenVINO 工具包”加载和编译。

参数
model拓扑 IR 的路径(.xml 文件)。
weights权重的路径(.bin 文件)。
device要使用的目标设备。

◆ Params() [2/2]

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

这是一个重载的成员函数,为了方便提供。它与上面的函数的不同之处仅在于它接受的参数。使用此构造函数处理预编译的网络。模型从预编译的 blob 导入。

参数
model模型路径。
device要使用的目标设备。

成员函数文档

◆ backend()

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

◆ cfgBatchSize()

template<typename Net >
Params< Net > & cv::gapi::ie::Params< Net >::cfgBatchSize ( const size_t  size)
inline

指定推理批次大小。

该函数用于指定推理批次大小。有关更多信息,请遵循 https://docs.openvinotoolkit.org/latest/classInferenceEngine_1_1CNNNetwork.html#a8e9d19270a48aab50cb5b1c43eecb8e9

参数
size将要使用的批次大小。
返回值
对该参数结构的引用。
以下是此函数的调用图

◆ cfgContextParams() [1/2]

template<typename Net >
Params & cv::gapi::ie::Params< Net >::cfgContextParams ( const cv::util::any ctx_cfg)
inline

指定 InferenceEngine 中 RemoteContext 的配置。

当配置 RemoteContext 时,后端使用该上下文导入网络。它还期望 cv::MediaFrames 实际上是远程的,以便通过该上下文操作 blobs。

参数
ctx_cfgcv::util::any 值,其中包含 InferenceEngine::ParamMap。
返回值
对该参数结构的引用。

◆ cfgContextParams() [2/2]

template<typename Net >
Params & cv::gapi::ie::Params< Net >::cfgContextParams ( cv::util::any &&  ctx_cfg)
inline

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

参数
ctx_cfgcv::util::any 值,其中包含 InferenceEngine::ParamMap。
返回值
对该参数结构的引用。

◆ cfgInferMode()

template<typename Net >
Params< Net > & cv::gapi::ie::Params< Net >::cfgInferMode ( InferMode  mode)
inline

指定将用于运行推理的 api。

该函数用于指定 OpenVINO 推理的模式。OpenVINO 有两种选择来运行推理

  1. 异步(使用 StartAsync:https://docs.openvino.ai/latest/classInferenceEngine_1_1InferRequest.html#doxid-class-inference-engine-1-1-infer-request-1a405293e8423d82a5b45f642a3bef0d24)
  2. 同步(使用 Infer:https://docs.openvino.ai/latest/classInferenceEngine_1_1InferRequest.html#doxid-class-inference-engine-1-1-infer-request-1a3391ce30894abde730523e9ca9371ce8)默认情况下使用异步模式。
参数
mode将要使用的推理模式。
返回值
对该参数结构的引用。

◆ cfgInputLayers()

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

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

该函数用于将 cv::gapi::infer<> 输入与模型输入相关联。名称数量必须与 G_API_NET() 中定义的网络输入数量匹配。如果网络只有一个输入层,则无需手动指定名称。

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

◆ cfgInputLayout() [1/2]

template<typename Net >
Params< Net > & cv::gapi::ie::Params< Net >::cfgInputLayout ( detail::AttrMap< std::string >  layout_map)
inline

这是一个重载的成员函数,为了方便起见。它与上面的函数的不同之处仅在于它接受的参数不同。

参数
layout_map键值对的映射:对应输入层的名称及其布局,以字符串形式表示 ("NCHW"、"NHWC" 等)
返回值
对该参数结构的引用。

◆ cfgInputLayout() [2/2]

template<typename Net >
Params< Net > & cv::gapi::ie::Params< Net >::cfgInputLayout ( std::string  layout)
inline

指定模型的输入布局。

该函数用于为模型设置输入布局。

参数
layout布局以字符串形式表示 ("NCHW"、"NHWC" 等),将应用于所有输入层。
返回值
对该参数结构的引用。

◆ cfgInputReshape() [1/6]

template<typename Net >
Params< Net > & cv::gapi::ie::Params< Net >::cfgInputReshape ( const std::map< std::string, std::vector< std::size_t > > &  reshape_table)
inline

指定网络输入的新输入形状。

该函数用于为网络输入指定新的输入形状。有关更多信息,请遵循 https://docs.openvinotoolkit.org/latest/classInferenceEngine_1_1networkNetwork.html

参数
reshape_table键值对的映射:对应数据的名称及其维度。
返回值
对该参数结构的引用。

◆ cfgInputReshape() [2/6]

template<typename Net >
Params< Net > & cv::gapi::ie::Params< Net >::cfgInputReshape ( const std::string &  layer_name,
const std::vector< size_t > &  layer_dims 
)
inline

这是一个重载的成员函数,为了方便起见。它与上面的函数的不同之处仅在于它接受的参数不同。

参数
layer_name层的名称。
layer_dims该层的新的维度。
返回值
对该参数结构的引用。

◆ cfgInputReshape() [3/6]

template<typename Net >
Params< Net > & cv::gapi::ie::Params< Net >::cfgInputReshape ( const std::unordered_set< std::string > &  layer_names)
inline

这是一个重载的成员函数,为了方便起见。它与上面的函数的不同之处仅在于它接受的参数不同。

参数
layer_names将用于网络重塑的网络层名称集。
返回值
对该参数结构的引用。

◆ cfgInputReshape() [4/6]

template<typename Net >
Params< Net > & cv::gapi::ie::Params< Net >::cfgInputReshape ( std::map< std::string, std::vector< std::size_t > > &&  reshape_table)
inline

这是一个重载的成员函数,为了方便起见。它与上面的函数的不同之处仅在于它接受的参数不同。

◆ cfgInputReshape() [5/6]

template<typename Net >
Params< Net > & cv::gapi::ie::Params< Net >::cfgInputReshape ( std::string &&  layer_name,
std::vector< size_t > &&  layer_dims 
)
inline

这是一个重载的成员函数,为了方便起见。它与上面的函数的不同之处仅在于它接受的参数不同。

◆ cfgInputReshape() [6/6]

template<typename Net >
Params< Net > & cv::gapi::ie::Params< Net >::cfgInputReshape ( std::unordered_set< std::string > &&  layer_names)
inline

这是一个重载的成员函数,为了方便起见。它与上面的函数的不同之处仅在于它接受的参数不同。

参数
layer_names选定层的右值集将自动重塑其输入图像大小。
返回值
对该参数结构的引用。

◆ cfgNumRequests()

template<typename Net >
Params & cv::gapi::ie::Params< Net >::cfgNumRequests ( size_t  nireq)
inline

指定异步推理请求的数量。

参数
nireq推理异步请求的数量。
返回值
对该参数结构的引用。

◆ cfgOutputLayers()

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

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

该函数用于将 cv::gapi::infer<> 输出与模型输出关联。名称的数量必须与在 G_API_NET() 中定义的网络输出数量匹配。如果网络只有一个输出层,则无需手动指定名称。

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

◆ cfgOutputLayout() [1/2]

template<typename Net >
Params< Net > & cv::gapi::ie::Params< Net >::cfgOutputLayout ( detail::AttrMap< std::string >  layout_map)
inline

这是一个重载的成员函数,为了方便起见。它与上面的函数的不同之处仅在于它接受的参数不同。

参数
layout_map键值对的映射:对应输出层的名称及其布局,以字符串形式表示 ("NCHW"、"NHWC" 等)
返回值
对该参数结构的引用。

◆ cfgOutputLayout() [2/2]

template<typename Net >
Params< Net > & cv::gapi::ie::Params< Net >::cfgOutputLayout ( std::string  layout)
inline

指定模型的输出布局。

该函数用于为模型设置输出布局。

参数
layout布局以字符串形式表示 ("NCHW"、"NHWC" 等),将应用于所有输出层。
返回值
对该参数结构的引用。

◆ cfgOutputPrecision() [1/2]

template<typename Net >
Params< Net > & cv::gapi::ie::Params< Net >::cfgOutputPrecision ( detail::ParamDesc::PrecisionMapT  precision_map)
inline

这是一个重载的成员函数,为了方便起见。它与上面的函数的不同之处仅在于它接受的参数不同。

参数
precision_map键值对的映射:对应输出层的名称及其精度,以 OpenCV 格式表示 (CV_8U、CV_32F 等)
返回值
对该参数结构的引用。

◆ cfgOutputPrecision() [2/2]

template<typename Net >
Params< Net > & cv::gapi::ie::Params< Net >::cfgOutputPrecision ( detail::ParamDesc::PrecisionT  precision)
inline

指定模型的输出精度。

该函数用于为模型设置输出精度。

参数
precision精度以 OpenCV 格式表示 (CV_8U、CV_32F 等),将应用于所有输出层。
返回值
对该参数结构的引用。

◆ cfgPreprocessingParams()

template<typename Net >
Params< Net > & cv::gapi::ie::Params< Net >::cfgPreprocessingParams ( const cv::gapi::wip::onevpl::Device device,
const cv::gapi::wip::onevpl::Context ctx 
)
inline
以下是此函数的调用图

◆ cfgResize() [1/2]

template<typename Net >
Params< Net > & cv::gapi::ie::Params< Net >::cfgResize ( detail::AttrMap< int >  interpolation)
inline

这是一个重载的成员函数,为了方便起见。它与上面的函数的不同之处仅在于它接受的参数不同。

参数
interpolation键值对的映射:对应输入层的名称及其调整大小算法。
返回值
对该参数结构的引用。

◆ cfgResize() [2/2]

template<typename Net >
Params< Net > & cv::gapi::ie::Params< Net >::cfgResize ( int  interpolation)
inline

指定调整大小插值算法。

该函数用于为输入层配置调整大小预处理。

参数
interpolation调整大小插值算法。支持的算法:INTER_LINEARINTER_AREA
返回值
对该参数结构的引用。

◆ constInput()

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

指定一个常量输入。

该函数用于设置常量输入。如果此输入的类型为 TENSOR,则此输入必须是经过预处理的张量。需要提供将接收提供数据的网络层的名称。

参数
layer_name网络层的名称。
datacv::Mat,包含将与网络层关联的数据。
hint输入类型
另请参阅
cv::gapi::ie::TraitAs.
返回值
对该参数结构的引用。

◆ params()

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

◆ pluginConfig() [1/2]

template<typename Net >
Params & cv::gapi::ie::Params< Net >::pluginConfig ( const IEConfig cfg)
inline

指定 OpenVINO 插件配置。

该函数用于设置 OpenVINO 插件的配置。某些参数对于每个插件可能有所不同。请遵循 https://docs.openvinotoolkit.org/latest/index.html 以检查有关特定插件的信息。

参数
cfg键值对的映射:(配置参数名称,配置参数值)。
返回值
对该参数结构的引用。

◆ pluginConfig() [2/2]

template<typename Net >
Params & cv::gapi::ie::Params< Net >::pluginConfig ( IEConfig &&  cfg)
inline

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

参数
cfg键值对的右值映射:(配置参数名称,配置参数值)。
返回值
对该参数结构的引用。

◆ tag()

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

成员数据文档

◆ desc

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

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