fix(tflite): Fix memory leaks in tflite integration (#2842)

This commit is contained in:
Slider0007
2024-02-02 13:23:51 +01:00
committed by GitHub
parent 8410df6144
commit 0e0fb459dc
3 changed files with 5 additions and 71 deletions

View File

@@ -5,39 +5,18 @@
#include "tensorflow/lite/micro/micro_mutable_op_resolver.h"
#include "tensorflow/lite/micro/micro_interpreter.h"
#include "tensorflow/lite/micro/micro_mutable_op_resolver.h"
#include "tensorflow/lite/micro/kernels/micro_ops.h"
#include "tensorflow/lite/micro/tflite_bridge/micro_error_reporter.h"
#include "tensorflow/lite/micro/micro_interpreter.h"
#include "tensorflow/lite/schema/schema_generated.h"
#include "tensorflow/lite/micro/kernels/micro_ops.h"
#include "esp_err.h"
#include "esp_log.h"
#include "CImageBasis.h"
#ifdef SUPRESS_TFLITE_ERRORS
#include "tensorflow/lite/core/api/error_reporter.h"
#include "tensorflow/lite/micro/compatibility.h"
#include "tensorflow/lite/micro/debug_log.h"
///// OwnErrorReporter to prevent printing of Errors (especially unavoidable in CalculateActivationRangeQuantized@kerne_util.cc)
namespace tflite {
class OwnMicroErrorReporter : public ErrorReporter {
public:
int Report(const char* format, va_list args) override;
};
} // namespace tflite
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#endif
class CTfLiteClass
{
protected:
tflite::ErrorReporter *error_reporter;
tflite::MicroMutableOpResolver<10> resolver;
const tflite::Model* model;
tflite::MicroInterpreter* interpreter;
TfLiteTensor* output = nullptr;
@@ -54,6 +33,7 @@ class CTfLiteClass
long GetFileSize(std::string filename);
bool ReadFileToModel(std::string _fn);
void MakeStaticResolver();
public:
CTfLiteClass();
@@ -74,6 +54,4 @@ class CTfLiteClass
int ReadInputDimenstion(int _dim);
};
void MakeStaticResolver();
#endif //CTFLITECLASS_H