Files
AI-on-the-edge-device/code/components/jomjol_tfliteclass/CTfLiteClass.h
michael 4905663933 test1
2026-01-17 02:49:32 +01:00

54 lines
1.2 KiB
C++

#pragma once
#ifndef CTFLITECLASS_H
#define CTFLITECLASS_H
#include "tensorflow/lite/micro/micro_mutable_op_resolver.h"
#include "tensorflow/lite/micro/micro_interpreter.h"
#include "tensorflow/lite/schema/schema_generated.h"
#include "esp_err.h"
#include "esp_log.h"
#include "CImageBasis.h"
class CTfLiteClass
{
protected:
tflite::MicroMutableOpResolver<10> resolver;
const tflite::Model *model;
tflite::MicroInterpreter *interpreter;
TfLiteTensor *output = nullptr;
int kTensorArenaSize;
uint8_t *tensor_arena;
unsigned char *modelfile = NULL;
float *input;
int input_i;
int im_height, im_width, im_channel;
long GetFileSize(std::string filename);
bool ReadFileToModel(std::string filename);
bool MakeStaticResolver(void);
public:
CTfLiteClass();
~CTfLiteClass();
bool LoadModel(std::string filename);
bool MakeAllocate(void);
bool LoadInputImageBasis(CImageBasis *rs);
void Invoke(void);
int GetAnzOutPut(bool silent = true);
int GetOutClassification(int _von = -1, int _bis = -1);
int GetClassFromImageBasis(CImageBasis *rs);
float GetOutputValue(int nr);
void GetInputDimension(bool silent);
int ReadInputDimenstion(int _dim);
};
#endif // CTFLITECLASS_H