#ifndef _MODEL_PROCESS_H_ #define _MODEL_PROCESS_H_ #include #include #include "utils.h" #include "acl/acl.h" class ModelProcess { public: ModelProcess(); ~ModelProcess(); int LoadModelFromFileWithMem(const char *modelPath); void Unload(); int CreateDesc(); void DestroyDesc(); aclmdlDesc* GetmodelDesc() { return modelDesc_;}; int CreateOutput(vector>& dims); void DestroyOutput(); int CreateInput(void *input, size_t inputsize); int CreateInputV2(void *input, size_t inputsize); int AddInputBuff(void *input, size_t inputsize); int GetInputDims(vector>& dims); void DestroyInput(); void DestroyInputV2(); int Execute(); int Execute(int batchsize); aclmdlDataset *GetModelOutputData(); private: bool loadFlag_; // model load flag uint32_t modelId_; void *modelMemPtr_; size_t modelMemSize_; void *modelWeightPtr_; size_t modelWeightSize_; aclmdlDesc *modelDesc_; aclmdlDataset *output_; aclmdlDataset *input_; }; #endif