@@ -49,17 +49,21 @@ namespace Eloquent {
49
49
failed (false ) {
50
50
}
51
51
52
+ ~TfLite () {
53
+ delete reporter;
54
+ delete interpreter;
55
+ }
56
+
52
57
/* *
53
58
* Inizialize NN
54
59
*
55
60
* @param modelData
56
61
* @return
57
62
*/
58
63
bool begin (const unsigned char *modelData) {
59
- static tflite::MicroErrorReporter microReporter ;
60
- static tflite::ops::micro::AllOpsResolver resolver ;
64
+ tflite::ops::micro::AllOpsResolver resolver ;
65
+ reporter = new tflite::MicroErrorReporter () ;
61
66
62
- reporter = µReporter;
63
67
model = tflite::GetModel (modelData);
64
68
65
69
// assert model version and runtime version match
@@ -75,21 +79,19 @@ namespace Eloquent {
75
79
return false ;
76
80
}
77
81
78
- static tflite::MicroInterpreter interpreter (model, resolver, tensorArena, tensorArenaSize, reporter);
82
+ interpreter = new tflite::MicroInterpreter (model, resolver, tensorArena, tensorArenaSize, reporter);
79
83
80
- if (interpreter. AllocateTensors () != kTfLiteOk ) {
84
+ if (interpreter-> AllocateTensors () != kTfLiteOk ) {
81
85
failed = true ;
82
86
error = CANNOT_ALLOCATE_TENSORS;
83
87
84
88
return false ;
85
89
}
86
90
87
- input = interpreter. input (0 );
88
- output = interpreter. output (0 );
91
+ input = interpreter-> input (0 );
92
+ output = interpreter-> output (0 );
89
93
error = OK;
90
94
91
- this ->interpreter = &interpreter;
92
-
93
95
return true ;
94
96
}
95
97
@@ -192,6 +194,14 @@ namespace Eloquent {
192
194
return classIdx;
193
195
}
194
196
197
+ /* *
198
+ * Get error
199
+ * @return
200
+ */
201
+ TfLiteError getError () {
202
+ return error;
203
+ }
204
+
195
205
/* *
196
206
* Get error message
197
207
* @return
0 commit comments