OpenCV 4.12.0
開源計算機視覺
載入中...
搜尋中...
無匹配項
cv::gapi::ie::Params< Net > 類模板參考

此結構提供用於填充“OpenVINO Toolkit”模型推理引數的函式。更多...

#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>
類 cv::gapi::ie::Params< Net >

此結構提供用於填充“OpenVINO Toolkit”模型推理引數的函式。

建構函式 & 解構函式文件

◆ 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 Toolkit”載入和編譯。

引數
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 實際上是遠端的,以便透過該上下文操作 blob。

引數
ctx_cfg持有 InferenceEngine::ParamMap 的 cv::util::any 值。
返回
對此引數結構的引用。

◆ cfgContextParams() [2/2]

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

這是一個過載成員函式,為方便起見而提供。它與上述函式的區別僅在於接受的引數。帶有右值引數的函式。

引數
ctx_cfg持有 InferenceEngine::ParamMap 的 cv::util::any 值。
返回
對此引數結構的引用。

◆ 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/index.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

指定模型的輸出精度。

此函式用於設定模型的輸出精度。

引數
precisionOpenCV 格式的精度(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網路層的名稱。
data包含將與網路層關聯的資料的 cv::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
保護

此類的文件是從以下檔案生成的: