跳转至

句柄创建

创建推理句柄和结果句柄。

Classes

Type Name
struct SaigeHandleConfig
包含推理句柄的配置设置的结构体,这些设置可能影响 GPU 内存和推理时间。

Public Types

Type Name
typedef void * SaigeInferenceHandle
用于管理信息和执行推理的句柄。
typedef void * SaigeInferenceResult
用于管理推理结果的句柄。

Public Attributes

Type Name
constexpr int kProjectTypeCLS = = 0
表示分类项目的常量值。
constexpr int kProjectTypeDET = = 1
表示检测项目的常量值。
constexpr int kProjectTypeSEG = = 2
表示分割项目的常量值。
constexpr int kProjectTypeIAD = = 3
表示异常检测项目的常量值。
constexpr int kProjectTypeOCR = = 4
表示OCR项目的常量值。
constexpr int kProjectTypeIEN = = 5
表示IEN项目的常量值。
constexpr int kProjectTypeROD = = 6

Public Functions

Type Name
int SaigeCreateInferenceHandle (SaigeInferenceHandle * handle, const int projectType, const char * modelFilePath, const int deviceIndex, SaigeHandleConfig * config, const unsigned int flags)
创建一个推理句柄。
int SaigeCreateInferenceResult (SaigeInferenceResult * result)
创建结果句柄。

Macros

Type Name
define SAIGE_SET_BATCH_SIZE 0x01
(CLS, DET, SEG, IAD) 设置推理的批量大小的标志。用于应用批量推理 API 时。
define SAIGE_SET_INSPECTION_SIZE 0x02
(SEG, OCR) 设置用于推理的图像宽度和高度的标志。
define SAIGE_OPTIMIZE_HANDLE 0x04
(Common) 应用优化到推理句柄的标志。应用推理优化可以减少推理时间,但可能会略微改变结果。

Public Types Documentation

SaigeInferenceHandle

用于管理信息和执行推理的句柄。

void * SaigeInferenceHandle;

See also: SaigeCreateInferenceHandle, SaigeDestroyInferenceHandle

SaigeInferenceResult

用于管理推理结果的句柄。

void * SaigeInferenceResult;

See also: SaigeCreateInferenceResult, SaigeDestroyInferenceResult

Public Attributes Documentation

kProjectTypeCLS

表示分类项目的常量值。

constexpr int kProjectTypeCLS;

kProjectTypeDET

表示检测项目的常量值。

constexpr int kProjectTypeDET;

kProjectTypeSEG

表示分割项目的常量值。

constexpr int kProjectTypeSEG;

kProjectTypeIAD

表示异常检测项目的常量值。

constexpr int kProjectTypeIAD;

kProjectTypeOCR

表示OCR项目的常量值。

constexpr int kProjectTypeOCR;

kProjectTypeIEN

表示IEN项目的常量值。

constexpr int kProjectTypeIEN;

kProjectTypeROD

constexpr int kProjectTypeROD;

Public Functions Documentation

SaigeCreateInferenceHandle

创建一个推理句柄。

int SaigeCreateInferenceHandle (
    SaigeInferenceHandle * handle,
    const int projectType,
    const char * modelFilePath,
    const int deviceIndex,
    SaigeHandleConfig * config,
    const unsigned int flags
) 

请确保项目类型和模型文件路径根据预期任务正确设置。如果指定的项目类型与模型文件中的项目信息不匹配,将会发生错误。

Parameters:

  • handle [out] 要使用的推理句柄。
  • projectType 表示项目类型的整数值。
  • modelFilePath 模型文件的路径。
  • deviceIndex 用于推理的设备索引。使用 GPU 的索引(非负整数)表示 GPU,使用 -1 表示 CPU。
  • config 包含推理句柄配置设置的结构。
  • flags 要配置的项目。

Returns:

errorCode 成功时返回 0,发生错误时返回错误代码。

See also: SaigeInferenceHandle, SaigeHandleConfig, SaigeDestroyInferenceResult

SaigeCreateInferenceResult

创建结果句柄。

int SaigeCreateInferenceResult (
    SaigeInferenceResult * result
) 

Parameters:

  • result [out] 要使用的结果句柄。

Returns:

errorCode 成功时返回 0,发生错误时返回错误代码。

See also: SaigeInferenceResult, SaigeDestroyInferenceResult

Macro Definition Documentation

SAIGE_SET_BATCH_SIZE

(CLS, DET, SEG, IAD) 设置推理的批量大小的标志。用于应用批量推理 API 时。

#define SAIGE_SET_BATCH_SIZE 0x01

See also: SaigeHandleConfig::batchSize

SAIGE_SET_INSPECTION_SIZE

(SEG, OCR) 设置用于推理的图像宽度和高度的标志。

#define SAIGE_SET_INSPECTION_SIZE 0x02

See also: SaigeHandleConfig::inspectionSizeWidth, SaigeHandleConfig::inspectionSizeHeight

SAIGE_OPTIMIZE_HANDLE

(Common) 应用优化到推理句柄的标志。应用推理优化可以减少推理时间,但可能会略微改变结果。

#define SAIGE_OPTIMIZE_HANDLE 0x04