IVGCVSW-3633 Refactor HalPolicy to fully support V1.2 models
* Templated and moved V1.0 and V1.1 Convert methods to ensure they can work with later versions of models, operations and operands.
* The V1.2 HalPolicy no longer converts V1.2 models, operations and operands to earlier versions.
* The V1.2 HalPolicy no longer passes operations to the V1.1 or V1.0 HalPolicies for conversion.
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: I5de59d43a3abb1f8ac0253dc637ad68318960c76
diff --git a/1.2/HalPolicy.hpp b/1.2/HalPolicy.hpp
index a268b3d..4a785d9 100644
--- a/1.2/HalPolicy.hpp
+++ b/1.2/HalPolicy.hpp
@@ -31,6 +31,8 @@
static bool ConvertOperation(const Operation& operation, const Model& model, ConversionData& data);
private:
+ static bool ConvertAdd(const Operation& operation, const Model& model, ConversionData& data);
+
static bool ConvertAveragePool2d(const Operation& operation, const Model& model, ConversionData& data);
static bool ConvertBatchToSpaceNd(const Operation& operation, const Model& model, ConversionData& data);
@@ -41,14 +43,36 @@
static bool ConvertDepthwiseConv2d(const Operation& operation, const Model& model, ConversionData& data);
+ static bool ConvertDequantize(const Operation& operation, const Model& model, ConversionData& data);
+
+ static bool ConvertDiv(const Operation& operation, const Model& model, ConversionData& data);
+
+ static bool ConvertFloor(const Operation& operation, const Model& model, ConversionData& data);
+
+ static bool ConvertFullyConnected(const Operation& operation, const Model& model, ConversionData& data);
+
+ static bool ConvertL2Normalization(const Operation& operation, const Model& model, ConversionData& data);
+
static bool ConvertL2Pool2d(const Operation& operation, const Model& model, ConversionData& data);
+ static bool ConvertLocalResponseNormalization(const Operation& operation,
+ const Model& model,
+ ConversionData& data);
+
+ static bool ConvertLogistic(const Operation& operation, const Model& model, ConversionData& data);
+
+ static bool ConvertLstm(const Operation& operation, const Model& model, ConversionData& data);
+
static bool ConvertMaxPool2d(const Operation& operation, const Model& model, ConversionData& data);
static bool ConvertMaximum(const Operation& operation, const Model& model, ConversionData& data);
+ static bool ConvertMean(const Operation& operation, const Model& model, ConversionData& data);
+
static bool ConvertMinimum(const Operation& operation, const Model& model, ConversionData& data);
+ static bool ConvertMul(const Operation& operation, const Model& model, ConversionData& data);
+
static bool ConvertPad(const Operation& operation, const Model& model, ConversionData& data);
static bool ConvertPadV2(const Operation& operation, const Model& model, ConversionData& data);
@@ -65,6 +89,8 @@
static bool ConvertReLu6(const Operation& operation, const Model& model, ConversionData& data);
+ static bool ConvertReshape(const Operation& operation, const Model& model, ConversionData& data);
+
static bool ConvertResize(const Operation& operation,
const Model& model,
ConversionData& data,
@@ -76,11 +102,15 @@
static bool ConvertSpaceToDepth(const Operation& operation, const Model& model, ConversionData& data);
+ static bool ConvertSqueeze(const Operation& operation, const Model& model, ConversionData& data);
+
+ static bool ConvertStridedSlice(const Operation& operation, const Model& model, ConversionData& data);
+
static bool ConvertSub(const Operation& operation, const Model& model, ConversionData& data);
static bool ConvertTanH(const Operation& operation, const Model& model, ConversionData& data);
- static bool ConvertLstm(const Operation& operation, const Model& model, ConversionData& data);
+ static bool ConvertTranspose(const Operation& operation, const Model& model, ConversionData& data);
static bool ConvertTransposeConv2d(const Operation& operation, const Model& model, ConversionData& data);
};