From 462728090eac533e3122080a86129541df128fe3 Mon Sep 17 00:00:00 2001 From: Mike Kelly Date: Wed, 14 Aug 2019 17:00:48 +0100 Subject: 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 Change-Id: I5de59d43a3abb1f8ac0253dc637ad68318960c76 --- 1.2/HalPolicy.hpp | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) (limited to '1.2/HalPolicy.hpp') diff --git a/1.2/HalPolicy.hpp b/1.2/HalPolicy.hpp index a268b3de..4a785d9e 100644 --- a/1.2/HalPolicy.hpp +++ b/1.2/HalPolicy.hpp @@ -31,6 +31,8 @@ public: 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 @@ private: 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 @@ private: 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 @@ private: 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); }; -- cgit v1.2.1