# TFLITE importer #
###################
-file(GLOB tflite_importer_sources src/*)
+set(tflite_importer_sources ${CMAKE_CURRENT_SOURCE_DIR}/src/tflite_walker.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/tflite_dump_visitor.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/tflite_v3_importer.cpp)
file(GLOB tflite_importer_headers include/*.h)
list(APPEND tflite_importer_headers ${FB_GEN_SOURCES})
#include <iostream>
-#include "tflite_importer.h"
+#include "tflite_v3_importer.h"
int main(int argc, char **argv)
{
modelName = "mobilenet_v1.0.tflite";
}
- nncc::contrib::frontend::tflite::TfliteImporter importer{modelName};
+ nncc::contrib::frontend::tflite::v3::TfliteImporter importer{modelName};
bool success = importer.import();
--- /dev/null
+#ifndef NNCC_SCHEMA_V3_H
+#define NNCC_SCHEMA_V3_H
+
+#define tflite v3_tflite
+#include "schema_v3_generated.h"
+#undef tflite
+
+#endif // NNCC_SCHEMA_V3_H
#include <vector>
-#include "schema_v3_generated.h"
#include "tflite_visitor.h"
+#include "schema_v3.h"
+
+using namespace v3_tflite;
namespace nncc
{
+++ /dev/null
-#ifndef NNCC_TFLITE_IMPORTER_H
-#define NNCC_TFLITE_IMPORTER_H
-
-#include <memory>
-
-#include "schema_v3_generated.h"
-
-#include "nn_importer.h"
-#include "model_allocation.h"
-
-namespace nncc
-{
-namespace contrib
-{
-namespace frontend
-{
-namespace tflite
-{
-
-using namespace nncc::contrib::frontend::common;
-using namespace ::tflite;
-
-class TfliteImporter : NNImporter
-{
-public:
- explicit TfliteImporter(std::string filename);
-
- bool import() override;
- void *createIR() override;
- void dump() override;
-
- bool importUnpacked();
-
-protected:
- std::unique_ptr<ModelAllocation> modelRaw;
- std::unique_ptr<ModelT> model;
- const Model *modelPacked;
-};
-
-} // namespace tflite
-} // namespace frontend
-} // namespace contrib
-} // namespace nncc
-
-#endif // NNCC_TFLITE_IMPORTER_H
--- /dev/null
+using namespace nncc::contrib::frontend::common;
+
+class TfliteImporter : NNImporter
+{
+public:
+ explicit TfliteImporter(std::string filename);
+
+ bool import() override;
+ void *createIR() override;
+ void dump() override;
+
+ bool importUnpacked();
+
+protected:
+ std::unique_ptr<ModelAllocation> modelRaw;
+ std::unique_ptr<ModelT> model;
+ const Model *modelPacked;
+};
+
--- /dev/null
+#ifndef NNCC_TFLITE_V3_IMPORTER_H
+#define NNCC_TFLITE_V3_IMPORTER_H
+
+#include <memory>
+#include <string>
+
+#include "schema_v3.h"
+#include "nn_importer.h"
+#include "model_allocation.h"
+
+namespace nncc
+{
+namespace contrib
+{
+namespace frontend
+{
+namespace tflite
+{
+namespace v3
+{
+
+using namespace ::v3_tflite;
+#include "tflite_importer.inline.h"
+
+} // namespace v3
+} // namespace contrib
+} // namespace tflite
+} // namespace frontend
+} // namespace nncc
+
+#endif // NNCC_TFLITE_V3_IMPORTER_H
#ifndef NNCC_TFLITE_VISITOR_H
#define NNCC_TFLITE_VISITOR_H
-#include "schema_v3_generated.h"
+#include "schema_v3.h"
-using namespace tflite;
+using namespace v3_tflite;
namespace nncc
{
#include <vector>
#include <memory>
-#include "schema_v3_generated.h"
+#include "schema_v3.h"
#include "tflite_visitor.h"
-using namespace tflite;
+using namespace v3_tflite;
namespace nncc
{
-#include "tflite_importer.h"
-#include "tflite_dump_visitor.h"
-#include "tflite_walker.h"
-
-namespace nncc
-{
-namespace contrib
-{
-namespace frontend
-{
-namespace tflite
-{
-
TfliteImporter::TfliteImporter(std::string filename)
{
modelRaw.reset(new ModelAllocation{std::move(filename)});
walker.walk(modelPacked);
}
-} // namespace tflite
-} // namespace frontend
-} // namespace contrib
-} // namespace nncc
--- /dev/null
+#include <iostream>
+
+#include "tflite_v3_importer.h"
+#include "tflite_dump_visitor.h"
+#include "tflite_walker.h"
+
+namespace nncc
+{
+namespace contrib
+{
+namespace frontend
+{
+namespace tflite
+{
+namespace v3
+{
+
+using namespace ::v3_tflite;
+
+#include "tflite_importer.inline.cpp"
+
+} // namespace v3
+} // namespace tflite
+} // namespace frontend
+} // namespace contrib
+} // namespace nncc