--- /dev/null
+#ifndef __NEURUN_CODEGEN_I_PLAN_BUILDER_H__
+#define __NEURUN_CODEGEN_I_PLAN_BUILDER_H__
+
+#include "arm_compute/core/TensorInfo.h"
+#include "internal/Model.h"
+#include "backend/IStageGenerator.h"
+#include "backend/IInitializerGenerator.h"
+
+namespace neurun
+{
+namespace codegen
+{
+
+struct IPlanBuilder
+{
+ virtual ~IPlanBuilder() = default;
+
+ virtual void addShapeConstr(const ::internal::tflite::operand::Index &ind,
+ const ::arm_compute::TensorInfo &info) = 0;
+ virtual void addInitializer(const ::internal::tflite::operand::Index &ind,
+ const Initializer &initializer) = 0;
+ virtual void addStage(const Stage &) = 0;
+};
+
+} // namespace codegen
+} // namespace neurun
+
+#endif // __NEURUN_CODEGEN_I_PLAN_BUILDER_H__
using TensorSetter = std::function<void(int, const ::arm_compute::TensorInfo &)>;
-struct IPlanBuilder
-{
- virtual ~IPlanBuilder() = default;
-
- virtual void addShapeConstr(const ::internal::tflite::operand::Index &ind,
- const ::arm_compute::TensorInfo &info) = 0;
- virtual void addInitializer(const ::internal::tflite::operand::Index &ind,
- const Initializer &initializer) = 0;
- virtual void addStage(const Stage &) = 0;
-};
-
+#include "codegen/IPlanBuilder.h"
#include "internal/BackendManager.h"
class BackendResolver
class Planner : public ::internal::tflite::op::NodeVisitor
{
public:
- Planner(const neurun::graph::operand::Set &ctx, IPlanBuilder &builder,
+ Planner(const neurun::graph::operand::Set &ctx, neurun::codegen::IPlanBuilder &builder,
BackendResolver &backend_resolver)
: _ctx{ctx}, _builder{builder}, _backend_resolver(backend_resolver)
{
private:
const neurun::graph::operand::Set &_ctx;
- IPlanBuilder &_builder;
+ neurun::codegen::IPlanBuilder &_builder;
BackendResolver &_backend_resolver;
};
::internal::Plan &_plan;
};
-class PlanBuilder final : public IPlanBuilder
+class PlanBuilder final : public neurun::codegen::IPlanBuilder
{
public:
PlanBuilder(::internal::Plan &plan) : _plan{plan}