From 29404fb3b16b301d630f492a2b89b9eb39b67e63 Mon Sep 17 00:00:00 2001 From: Aron Virginas-Tar Date: Wed, 24 Jul 2019 13:55:31 +0100 Subject: IVGCVSW-3567 Add more verbose logging to conversion methods Signed-off-by: Aron Virginas-Tar Change-Id: If1ce2aff656ff995f41d33777cdc6fb966392cca --- 1.0/HalPolicy.cpp | 60 +++++++++++++++++++++++++++++++++++++++++++++++++------ 1.0/HalPolicy.hpp | 4 ++++ 1.1/HalPolicy.cpp | 26 ++++++++++++++++++------ 1.2/HalPolicy.cpp | 21 +++++++++++++++++-- 4 files changed, 97 insertions(+), 14 deletions(-) diff --git a/1.0/HalPolicy.cpp b/1.0/HalPolicy.cpp index a2c8252a..b9200f14 100644 --- a/1.0/HalPolicy.cpp +++ b/1.0/HalPolicy.cpp @@ -27,11 +27,9 @@ bool HalPolicy::ConvertOperation(const Operation& operation, const Model& model, case V1_0::OperationType::CONCATENATION: return ConvertConcatenation(operation, model, data); case V1_0::OperationType::CONV_2D: - return ValidateConv2dParameters(operation) && - ConvertConv2d(operation, model, data); + return ConvertConv2d(operation, model, data); case V1_0::OperationType::DEPTHWISE_CONV_2D: - return ValidateDepthwiseConv2dParameters(operation) && - ConvertDepthwiseConv2d(operation, model, data); + return ConvertDepthwiseConv2d(operation, model, data); case V1_0::OperationType::DEQUANTIZE: return ConvertDequantize(operation, model, data); case V1_0::OperationType::FLOOR: @@ -94,6 +92,8 @@ bool HalPolicy::ValidateDepthwiseConv2dParameters(const Operation &operation) bool HalPolicy::ConvertAdd(const Operation& operation, const Model& model, ConversionData& data) { + ALOGV("hal_1_0::HalPolicy::ConvertAdd()"); + LayerInputHandle input0 = ConvertToLayerInputHandle(operation, 0, model, data); LayerInputHandle input1 = ConvertToLayerInputHandle(operation, 1, model, data); @@ -150,11 +150,14 @@ bool HalPolicy::ConvertAdd(const Operation& operation, const Model& model, Conve bool HalPolicy::ConvertAveragePool2d(const Operation& operation, const Model& model, ConversionData& data) { + ALOGV("hal_1_0::HalPolicy::ConvertAveragePool2d()"); return ConvertPooling2d(operation, __func__, armnn::PoolingAlgorithm::Average, model, data); } bool HalPolicy::ConvertConcatenation(const Operation& operation, const Model& model, ConversionData& data) { + ALOGV("hal_1_0::HalPolicy::ConvertConcatenation()"); + // The first N (0..N-1) inputs are tensors. The Nth input is the concatenation axis. if (operation.inputs.size() <= 1) { @@ -382,10 +385,24 @@ bool HalPolicy::ConvertConcatenation(const Operation& operation, const Model& mo return SetupAndTrackLayerOutputSlot(operation, 0, *layer, model, data); } +bool HalPolicy::ConvertConv2d(const Operation& operation, const Model& model, ConversionData& data) +{ + ALOGV("hal_1_0::HalPolicy::ConvertConv2d()"); + return ValidateConv2dParameters(operation) && ::ConvertConv2d(operation, model, data); +} + +bool HalPolicy::ConvertDepthwiseConv2d(const Operation& operation, const Model& model, ConversionData& data) +{ + ALOGV("hal_1_0::HalPolicy::ConvertDepthwiseConv2d()"); + return ValidateDepthwiseConv2dParameters(operation) && + ::ConvertDepthwiseConv2d(operation, model, data); +} + bool HalPolicy::ConvertDequantize(const Operation& operation, const Model& model, ConversionData& data) { - LayerInputHandle input = ConvertToLayerInputHandle(operation, 0, model, data); + ALOGV("hal_1_0::HalPolicy::ConvertDequantize()"); + LayerInputHandle input = ConvertToLayerInputHandle(operation, 0, model, data); if (!input.IsValid()) { return Fail("%s: Operation has invalid input", __func__); @@ -430,6 +447,8 @@ bool HalPolicy::ConvertDequantize(const Operation& operation, const Model& model bool HalPolicy::ConvertFloor(const Operation& operation, const Model& model, ConversionData& data) { + ALOGV("hal_1_0::HalPolicy::ConvertFloor()"); + LayerInputHandle input = ConvertToLayerInputHandle(operation, 0, model, data); if (!input.IsValid()) { @@ -463,6 +482,8 @@ bool HalPolicy::ConvertFloor(const Operation& operation, const Model& model, Con bool HalPolicy::ConvertFullyConnected(const Operation& operation, const Model& model, ConversionData& data) { + ALOGV("hal_1_0::HalPolicy::ConvertFullyConnected()"); + LayerInputHandle input = ConvertToLayerInputHandle(operation, 0, model, data); if (!input.IsValid()) { @@ -573,6 +594,8 @@ bool HalPolicy::ConvertLocalResponseNormalization(const Operation& operation, const Model& model, ConversionData& data) { + ALOGV("hal_1_0::HalPolicy::ConvertLocalResponseNormalization()"); + LayerInputHandle input = ConvertToLayerInputHandle(operation, 0, model, data); if (!input.IsValid()) { @@ -630,6 +653,8 @@ bool HalPolicy::ConvertLocalResponseNormalization(const Operation& operation, bool HalPolicy::ConvertLogistic(const Operation& operation, const Model& model, ConversionData& data) { + ALOGV("hal_1_0::HalPolicy::ConvertLogistic()"); + armnn::ActivationDescriptor desc; desc.m_Function = armnn::ActivationFunction::Sigmoid; @@ -638,6 +663,8 @@ bool HalPolicy::ConvertLogistic(const Operation& operation, const Model& model, bool HalPolicy::ConvertLstm(const Operation& operation, const Model& model, ConversionData& data) { + ALOGV("hal_1_0::HalPolicy::ConvertLstm()"); + // Inputs: // 00: The input: A 2-D tensor of ANEURALNETWORKS_TENSOR_FLOAT32, of shape [batch_size, input_size], where // “batch_size” corresponds to the batching dimension, and “input_size” is the size of the input. @@ -990,6 +1017,8 @@ bool HalPolicy::ConvertLstm(const Operation& operation, const Model& model, Conv bool HalPolicy::ConvertL2Normalization(const Operation& operation, const Model& model, ConversionData& data) { + ALOGV("hal_1_0::HalPolicy::ConvertL2Normalization()"); + LayerInputHandle input = ConvertToLayerInputHandle(operation, 0, model, data); if (!input.IsValid()) { @@ -1041,16 +1070,20 @@ bool HalPolicy::ConvertL2Normalization(const Operation& operation, const Model& bool HalPolicy::ConvertL2Pool2d(const Operation& operation, const Model& model, ConversionData& data) { + ALOGV("hal_1_0::HalPolicy::ConvertL2Pool2d()"); return ConvertPooling2d(operation, __func__, armnn::PoolingAlgorithm::L2, model, data); } bool HalPolicy::ConvertMaxPool2d(const Operation& operation, const Model& model, ConversionData& data) { + ALOGV("hal_1_0::HalPolicy::ConvertMaxPool2d()"); return ConvertPooling2d(operation, __func__, armnn::PoolingAlgorithm::Max, model, data); } bool HalPolicy::ConvertMul(const Operation& operation, const Model& model, ConversionData& data) { + ALOGV("hal_1_0::HalPolicy::ConvertMul()"); + LayerInputHandle input0 = ConvertToLayerInputHandle(operation, 0, model, data); LayerInputHandle input1 = ConvertToLayerInputHandle(operation, 1, model, data); @@ -1108,6 +1141,8 @@ bool HalPolicy::ConvertMul(const Operation& operation, const Model& model, Conve bool HalPolicy::ConvertReLu(const Operation& operation, const Model& model, ConversionData& data) { + ALOGV("hal_1_0::HalPolicy::ConvertReLu()"); + armnn::ActivationDescriptor desc; desc.m_Function = armnn::ActivationFunction::ReLu; @@ -1116,6 +1151,8 @@ bool HalPolicy::ConvertReLu(const Operation& operation, const Model& model, Conv bool HalPolicy::ConvertReLu1(const Operation& operation, const Model& model, ConversionData& data) { + ALOGV("hal_1_0::HalPolicy::ConvertReLu1()"); + armnn::ActivationDescriptor desc; desc.m_Function = armnn::ActivationFunction::BoundedReLu; desc.m_A = 1.0f; @@ -1126,6 +1163,8 @@ bool HalPolicy::ConvertReLu1(const Operation& operation, const Model& model, Con bool HalPolicy::ConvertReLu6(const Operation& operation, const Model& model, ConversionData& data) { + ALOGV("hal_1_0::HalPolicy::ConvertReLu6()"); + armnn::ActivationDescriptor desc; desc.m_Function = armnn::ActivationFunction::BoundedReLu; desc.m_A = 6.0f; @@ -1135,6 +1174,8 @@ bool HalPolicy::ConvertReLu6(const Operation& operation, const Model& model, Con bool HalPolicy::ConvertSoftmax(const Operation& operation, const Model& model, ConversionData& data) { + ALOGV("hal_1_0::HalPolicy::ConvertSoftmax()"); + LayerInputHandle input = ConvertToLayerInputHandle(operation, 0, model, data); if (!input.IsValid()) { @@ -1187,8 +1228,9 @@ bool HalPolicy::ConvertSoftmax(const Operation& operation, const Model& model, C bool HalPolicy::ConvertSpaceToDepth(const Operation& operation, const Model& model, ConversionData& data) { - LayerInputHandle input = ConvertToLayerInputHandle(operation, 0, model, data); + ALOGV("hal_1_0::HalPolicy::ConvertSpaceToDepth()"); + LayerInputHandle input = ConvertToLayerInputHandle(operation, 0, model, data); if (!input.IsValid() ) { return Fail("%s: Operation has invalid inputs", __func__); @@ -1242,6 +1284,8 @@ bool HalPolicy::ConvertSpaceToDepth(const Operation& operation, const Model& mod bool HalPolicy::ConvertTanH(const Operation& operation, const Model& model, ConversionData& data) { + ALOGV("hal_1_0::HalPolicy::ConvertTanH()"); + armnn::ActivationDescriptor desc; desc.m_Function = armnn::ActivationFunction::TanH; desc.m_A = 1.0f; // android nn does not support tanH parameters @@ -1252,6 +1296,8 @@ bool HalPolicy::ConvertTanH(const Operation& operation, const Model& model, Conv bool HalPolicy::ConvertReshape(const Operation& operation, const Model& model, ConversionData& data) { + ALOGV("hal_1_0::HalPolicy::ConvertReshape()"); + const Operand* inputOperand = GetInputOperand(operation, 0, model); const Operand* requestedShapeOperand = GetInputOperand(operation, 1, model); const Operand* outputOperand = GetOutputOperand(operation, 0, model); @@ -1323,6 +1369,8 @@ bool HalPolicy::ConvertReshape(const Operation& operation, const Model& model, C bool HalPolicy::ConvertResizeBilinear(const Operation& operation, const Model& model, ConversionData& data) { + ALOGV("hal_1_0::HalPolicy::ConvertResizeBilinear()"); + LayerInputHandle input = ConvertToLayerInputHandle(operation, 0, model, data); if (!input.IsValid()) { diff --git a/1.0/HalPolicy.hpp b/1.0/HalPolicy.hpp index 3c3401db..833017b5 100644 --- a/1.0/HalPolicy.hpp +++ b/1.0/HalPolicy.hpp @@ -36,6 +36,10 @@ private: static bool ConvertConcatenation(const Operation& operation, const Model& model, ConversionData& data); + static bool ConvertConv2d(const Operation& operation, const Model& model, ConversionData& data); + + static bool ConvertDepthwiseConv2d(const Operation& operation, const Model& model, ConversionData& data); + static bool ConvertDequantize(const Operation& operation, const Model& model, ConversionData& data); static bool ConvertFloor(const Operation& operation, const Model& model, ConversionData& data); diff --git a/1.1/HalPolicy.cpp b/1.1/HalPolicy.cpp index 6687b123..c5df72a7 100644 --- a/1.1/HalPolicy.cpp +++ b/1.1/HalPolicy.cpp @@ -106,6 +106,8 @@ bool HalPolicy::ConvertOperation(const Operation& operation, const Model& model, bool HalPolicy::ConvertDiv(const Operation& operation, const Model& model, ConversionData& data) { + ALOGV("hal_1_1::HalPolicy::ConvertDiv()"); + LayerInputHandle input0 = ConvertToLayerInputHandle(operation, 0, model, data); LayerInputHandle input1 = ConvertToLayerInputHandle(operation, 1, model, data); @@ -160,6 +162,8 @@ bool HalPolicy::ConvertDiv(const Operation& operation, const Model& model, Conve bool HalPolicy::ConvertSub(const Operation& operation, const Model& model, ConversionData& data) { + ALOGV("hal_1_1::HalPolicy::ConvertSub()"); + LayerInputHandle input0 = ConvertToLayerInputHandle(operation, 0, model, data); LayerInputHandle input1 = ConvertToLayerInputHandle(operation, 1, model, data); @@ -224,6 +228,8 @@ bool HalPolicy::ConvertSub(const Operation& operation, const Model& model, Conve bool HalPolicy::ConvertMean(const Operation& operation, const Model& model, ConversionData& data) { + ALOGV("hal_1_1::HalPolicy::ConvertMean()"); + LayerInputHandle input = ConvertToLayerInputHandle(operation, 0, model, data); if (!input.IsValid()) { @@ -292,6 +298,8 @@ bool HalPolicy::ConvertMean(const Operation& operation, const Model& model, Conv bool HalPolicy::ConvertPad(const Operation& operation, const Model& model, ConversionData& data) { + ALOGV("hal_1_1::HalPolicy::ConvertPad()"); + LayerInputHandle input = ConvertToLayerInputHandle(operation, 0, model, data); if (!input.IsValid()) { @@ -348,8 +356,9 @@ bool HalPolicy::ConvertPad(const Operation& operation, const Model& model, Conve bool HalPolicy::ConvertSpaceToBatchNd(const Operation& operation, const Model& model, ConversionData& data) { - LayerInputHandle input = ConvertToLayerInputHandle(operation, 0, model, data); + ALOGV("hal_1_1::HalPolicy::ConvertSpaceToBatchNd()"); + LayerInputHandle input = ConvertToLayerInputHandle(operation, 0, model, data); if (!input.IsValid()) { return Fail("%s: Operation has invalid inputs", __func__); @@ -436,8 +445,9 @@ bool HalPolicy::ConvertSpaceToBatchNd(const Operation& operation, const Model& m bool HalPolicy::ConvertSqueeze(const Operation& operation, const Model& model, ConversionData& data) { - LayerInputHandle input = ConvertToLayerInputHandle(operation, 0, model, data); + ALOGV("hal_1_1::HalPolicy::ConvertSqueeze()"); + LayerInputHandle input = ConvertToLayerInputHandle(operation, 0, model, data); if (!input.IsValid()) { return Fail("%s: Operation has invalid inputs", __func__); @@ -515,13 +525,15 @@ bool HalPolicy::ConvertSqueeze(const Operation& operation, const Model& model, C bool HalPolicy::ConvertStridedSlice(const Operation& operation, const Model& model, ConversionData& data) { + ALOGV("hal_1_1::HalPolicy::ConvertStridedSlice()"); + LayerInputHandle input = ConvertToLayerInputHandle(operation, 0, model, data); if (!input.IsValid()) { return Fail("%s: Operation has invalid inputs", __func__); } - const armnn::TensorInfo& inputInfo = input.GetTensorInfo(); + const armnn::TensorInfo& inputInfo = input.GetTensorInfo(); unsigned int rank = inputInfo.GetNumDimensions(); if (rank > 4) { @@ -608,15 +620,15 @@ bool HalPolicy::ConvertStridedSlice(const Operation& operation, const Model& mod bool HalPolicy::ConvertTranspose(const Operation& operation, const Model& model, ConversionData& data) { - LayerInputHandle input = ConvertToLayerInputHandle(operation, 0, model, data); + ALOGV("hal_1_1::HalPolicy::ConvertTranspose()"); + LayerInputHandle input = ConvertToLayerInputHandle(operation, 0, model, data); if (!input.IsValid()) { return Fail("%s: Operation has invalid inputs", __func__); } - const armnn::TensorInfo& inputInfo = input.GetTensorInfo(); - + const armnn::TensorInfo& inputInfo = input.GetTensorInfo(); unsigned int rank = inputInfo.GetNumDimensions(); if (rank > 4) { @@ -684,6 +696,8 @@ bool HalPolicy::ConvertTranspose(const Operation& operation, const Model& model, bool HalPolicy::ConvertBatchToSpaceNd(const Operation& operation, const Model& model, ConversionData& data) { + ALOGV("hal_1_1::HalPolicy::ConvertBatchToSpaceNd()"); + LayerInputHandle input = ConvertToLayerInputHandle(operation, 0, model, data); if (!input.IsValid()) { diff --git a/1.2/HalPolicy.cpp b/1.2/HalPolicy.cpp index f93629ef..906d6bcf 100644 --- a/1.2/HalPolicy.cpp +++ b/1.2/HalPolicy.cpp @@ -164,6 +164,8 @@ bool HalPolicy::ConvertOperation(const Operation& operation, const Model& model, bool HalPolicy::ConvertConv2d(const Operation& operation, const Model& model, ConversionData& data) { + ALOGV("hal_1_2::HalPolicy::ConvertConv2d()"); + LayerInputHandle input = ConvertToLayerInputHandle(operation, 0, model, data); if (!input.IsValid()) { @@ -329,6 +331,8 @@ bool HalPolicy::ConvertConv2d(const Operation& operation, const Model& model, Co bool HalPolicy::ConvertDepthwiseConv2d(const Operation& operation, const Model& model, ConversionData& data) { + ALOGV("hal_1_2::HalPolicy::ConvertDepthwiseConv2d()"); + LayerInputHandle input = ConvertToLayerInputHandle(operation, 0, model, data); if (!input.IsValid()) @@ -508,6 +512,8 @@ bool HalPolicy::ConvertDepthwiseConv2d(const Operation& operation, const Model& bool HalPolicy::ConvertMaximum(const Operation& operation, const Model& model, ConversionData& data) { + ALOGV("hal_1_2::HalPolicy::ConvertMaximum()"); + LayerInputHandle input0 = ConvertToLayerInputHandle(operation, 0, model, data); LayerInputHandle input1 = ConvertToLayerInputHandle(operation, 1, model, data); @@ -557,6 +563,8 @@ bool HalPolicy::ConvertMaximum(const Operation& operation, const Model& model, C bool HalPolicy::ConvertMinimum(const Operation& operation, const Model& model, ConversionData& data) { + ALOGV("hal_1_2::HalPolicy::ConvertMinimum()"); + LayerInputHandle input0 = ConvertToLayerInputHandle(operation, 0, model, data); LayerInputHandle input1 = ConvertToLayerInputHandle(operation, 1, model, data); @@ -607,6 +615,8 @@ bool HalPolicy::ConvertMinimum(const Operation& operation, const Model& model, C bool HalPolicy::ConvertPadV2(const Operation& operation, const Model& model, ConversionData& data) { + ALOGV("hal_1_2::HalPolicy::ConvertPadV2()"); + LayerInputHandle input = ConvertToLayerInputHandle(operation, 0, model, data); if (!input.IsValid()) { @@ -708,6 +718,8 @@ bool HalPolicy::ConvertPadV2(const Operation& operation, const Model& model, Con bool HalPolicy::ConvertPrelu(const Operation& operation, const Model& model, ConversionData& data) { + ALOGV("hal_1_2::HalPolicy::ConvertPrelu()"); + LayerInputHandle input = ConvertToLayerInputHandle(operation, 0, model, data); LayerInputHandle alpha = ConvertToLayerInputHandle(operation, 1, model, data); @@ -768,7 +780,9 @@ bool HalPolicy::ConvertResize(const Operation& operation, ConversionData& data, armnn::ResizeMethod resizeMethod) { - LayerInputHandle input = ConvertToLayerInputHandle(operation, 0, model, data); + ALOGV("hal_1_2::HalPolicy::ConvertResize()"); + + LayerInputHandle input = ConvertToLayerInputHandle(operation, 0, model, data); if (!input.IsValid()) { return Fail("%s: Could not read input 0", __func__); @@ -893,8 +907,9 @@ bool HalPolicy::ConvertResize(const Operation& operation, bool HalPolicy::ConvertSpaceToDepth(const Operation& operation, const Model& model, ConversionData& data) { - LayerInputHandle input = ConvertToLayerInputHandle(operation, 0, model, data); + ALOGV("hal_1_2::HalPolicy::ConvertSpaceToDepth()"); + LayerInputHandle input = ConvertToLayerInputHandle(operation, 0, model, data); if (!input.IsValid() ) { return Fail("%s: Operation has invalid inputs", __func__); @@ -949,6 +964,8 @@ bool HalPolicy::ConvertSpaceToDepth(const Operation& operation, const Model& mod bool HalPolicy::ConvertSoftmax(const Operation& operation, const Model& model, ConversionData& data) { + ALOGV("hal_1_2::HalPolicy::ConvertSoftmax()"); + LayerInputHandle input = ConvertToLayerInputHandle(operation, 0, model, data); if (!input.IsValid()) { -- cgit v1.2.1