summaryrefslogtreecommitdiff
path: root/compiler/tflite2circle/include
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/tflite2circle/include')
-rw-r--r--compiler/tflite2circle/include/CircleModel.h15
-rw-r--r--compiler/tflite2circle/include/TFLModel.h7
2 files changed, 16 insertions, 6 deletions
diff --git a/compiler/tflite2circle/include/CircleModel.h b/compiler/tflite2circle/include/CircleModel.h
index e1e35d8ff..189cfaff2 100644
--- a/compiler/tflite2circle/include/CircleModel.h
+++ b/compiler/tflite2circle/include/CircleModel.h
@@ -60,16 +60,26 @@ template <typename T> class Offset
private:
using TFLFlatBufVec = flatbuffers::Vector<typename T::TFL>;
using CIRFlatBufVecOffset = flatbuffers::Offset<flatbuffers::Vector<typename T::CIR>>;
+ using SignatureDefs = flatbuffers::Vector<flatbuffers::Offset<::tflite::SignatureDef>>;
public:
Offset(void) = delete;
- Offset(FlatBufBuilder &fb, const TFLFlatBufVec *tflite_flatbuffer_vec);
+ Offset(FlatBufBuilder &fb) : _fb{fb} {};
+
+public:
+ void set_signature_defs(const SignatureDefs *offset) { _tfl_signature_def_offsets = offset; }
+
+public:
+ void build(const TFLFlatBufVec *tflite_flatbuffer_vec);
public:
CIRFlatBufVecOffset offset(void) const { return _circle_flatbuffer_vec_offset; }
private:
+ FlatBufBuilder &_fb;
CIRFlatBufVecOffset _circle_flatbuffer_vec_offset;
+ // TODO revise this when Circle supports SignatureDef
+ const SignatureDefs *_tfl_signature_def_offsets = nullptr;
};
class CircleModel
@@ -79,9 +89,10 @@ private:
public:
CircleModel(void) = delete;
- CircleModel(FlatBufBuilder &fb, TFLModel &tfl_model);
+ CircleModel(FlatBufBuilder &fb);
public:
+ void load_offsets(const tflite::Model *tfl_model);
void model_build(void) const;
const char *base(void) const;
size_t size(void) const;
diff --git a/compiler/tflite2circle/include/TFLModel.h b/compiler/tflite2circle/include/TFLModel.h
index e53d62749..507667bb9 100644
--- a/compiler/tflite2circle/include/TFLModel.h
+++ b/compiler/tflite2circle/include/TFLModel.h
@@ -37,15 +37,14 @@ public:
TFLModel(const std::string &path);
public:
- bool is_valid(void) { return _valid; }
+ const tflite::Model *get_model(void);
-private:
- const tflite::Model *load_model(void);
+public:
+ bool verify_data(void);
private:
std::ifstream _infile;
DataBuffer _data;
- bool _valid;
friend class CircleModel;
};