49 lines
2.1 KiB
C
49 lines
2.1 KiB
C
![]() |
#ifndef _DNNINFER_H_
|
|||
|
#define _DNNINFER_H_
|
|||
|
|
|||
|
#include <stdio.h>
|
|||
|
#include "DnnDefine.h"
|
|||
|
|
|||
|
#ifdef __cplusplus
|
|||
|
extern "C" {
|
|||
|
#endif /* __cplusplus */
|
|||
|
//<2F><>ʼ<EFBFBD><CABC>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>־
|
|||
|
void DnnInfer_InitGlobalLog();
|
|||
|
//<2F>ر<EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>־
|
|||
|
void DnnInfer_UnInitGlobalLog();
|
|||
|
//ֱ<>Ӵ<EFBFBD><D3B4>ļ<EFBFBD><C4BC><EFBFBD>ȡmodel<65><6C>Ϣ
|
|||
|
bool DnnInfer_GetInferParamFormModelFile(const char* pstrFileName, InferenceParameterEx* pInferParam);
|
|||
|
//ֱ<><D6B1><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
bool DnnInfer_SetInferParamToModelFile(const char* pStrFileName, InferenceParameterEx* pInferParam);
|
|||
|
//<2F><>ȡ<EFBFBD>豸<EFBFBD><E8B1B8>Ϣ
|
|||
|
bool DnnInfer_GetDeviceInfo(GpuDeviceInfo* pGpuDeviceInfo);
|
|||
|
|
|||
|
//<2F><>ʼ<EFBFBD><CABC>ѵ<EFBFBD><D1B5>,<2C><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>train<69><6E><EFBFBD><EFBFBD>,infermode 0: cpu 1:gpu
|
|||
|
void* DnnInfer_Init(const char* pstrFileName,int iBatchSize,int iInferMode, int iDeviceIndex = 0);
|
|||
|
bool DnnInfer_InitV2(DnnInferInfo* pDnnInferInfo, void** pInferObject, YYErrorMsg* pYyErrorMsg);
|
|||
|
bool DnnInfer_GetInputInfo(void* pObject,int* piWidth, int* piHeight, int* piChannel, int* piBatchSize,int* piClassNum);
|
|||
|
//<2F><>ȡģ<C8A1><C4A3><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD>=0<><30><EFBFBD><EFBFBD>λ=1<><31><EFBFBD>ָ<EFBFBD>=2,<2C>ն<EFBFBD><D5B6><EFBFBD>=-1<><31>
|
|||
|
int DnnInfer_GetModelType(void* pObject);
|
|||
|
//<2F>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
const char* DnnInfer_GetErrorString(void* pObject);
|
|||
|
//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
bool DnnInfer_Cls_InferDatum(void* pObject, Datum* pInputDatum, Datum* pOutputDatum);
|
|||
|
bool DnnInfer_Cls_Infer(void* pObject, Datum* pInputDatum,int* iLabelArray, float* fpProbalityArray);
|
|||
|
//Ĭ<><C4AC><EFBFBD><EFBFBD><EFBFBD>Ŷ<EFBFBD><C5B6><EFBFBD>ֵ0.4<EFBFBD><EFBFBD>nms<EFBFBD><EFBFBD>ֵ0.6
|
|||
|
bool DnnInfer_Det_Infer(void* pObject, Datum* pInputDatum, DetResult* pDetResult, int iInArraySize, int& iUseArraySize);
|
|||
|
//ʹ<><CAB9><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŷ<EFBFBD><C5B6><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>nms<6D><73>ֵ
|
|||
|
bool DnnInfer_Det_InferV2(void* pObject, Datum* pInputDatum, DetResult* pDetResult, int iInArraySize, int& iUseArraySize, float scoreTheshold, float nmsTheshold);
|
|||
|
|
|||
|
//<2F><>ʼ<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
bool DnnInfer_Seg_Infer(void* pObject, Datum* pInputDatum, Datum* pOutputDatum);
|
|||
|
bool DnnInfer_Seg_InferV2(void* pObject, Datum* pInputDatum, Datum* pOutputLabel, Datum* pOutputProb);
|
|||
|
bool DnnInfer_Seg_InferV3(void* pObject, Datum* pInputDatum, SegResult* segResult);
|
|||
|
|
|||
|
void DnnInfer_Close(void* pObject);
|
|||
|
bool DnnInfer_GetLabelName(void* pObject, char* pstrLabelNames, int iLabelIndex);
|
|||
|
int DnnInfer_GetClassNum(void* pObject);
|
|||
|
#ifdef __cplusplus
|
|||
|
}
|
|||
|
#endif /* __cplusplus */
|
|||
|
#endif
|