OpenCV 4.12.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 > & cfgOptLevel (const int opt_level)
 配置ONNX Runtime的最佳化級別。
 
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 > & cfgSessionOptions (const std::map< std::string, std::string > &options)
 配置ONNX Runtime的會話選項。
 
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 Runtime 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 Runtime 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 Runtime 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 Runtime 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 Runtime 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中定義的輸入數量。包含啟用或停用輸入資料歸一化的布林值。
返回
修改物件的引用。

◆ cfgOptLevel()

template<typename Net >
Params< Net > & cv::gapi::onnx::Params< Net >::cfgOptLevel ( const int opt_level)
inline

配置ONNX Runtime的最佳化級別。

引數
opt_level[最佳化級別]:有效值為0(停用)、1(基本)、2(擴充套件)、99(全部)。請參閱onnxruntime_c_api.h(列舉GraphOptimizationLevel)以獲取所有最佳化級別的完整列表。
返回
修改物件的引用。
此函式的呼叫圖如下

◆ 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右值輸出層的名稱。網路的推理將在這些層上完成。推理結果將使用這些名稱在後處理函式中進行處理。
返回
修改物件的引用。

◆ cfgSessionOptions()

template<typename Net >
Params< Net > & cv::gapi::onnx::Params< Net >::cfgSessionOptions ( const std::map< std::string, std::string > & options)
inline

配置ONNX Runtime的會話選項。

此函式用於透過接受鍵值對對映來為ONNX Runtime會話設定各種會話選項。

引數
options要應用於ONNX Runtime會話的會話選項對映。
返回
修改物件的引用。

◆ 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
保護

此類的文件生成自以下檔案