From d20daf8bd7eeccbb4fa8933658aae1389b4bd220 Mon Sep 17 00:00:00 2001 From: wang-yangsong Date: Sun, 28 Apr 2024 18:59:13 +0800 Subject: [PATCH 1/2] bugfix Signed-off-by: wang-yangsong --- .../lite_graph_to_hdi_model_v2_1.cpp | 190 +++++++++--------- .../ops/fullconnection_builder.cpp | 13 +- .../ops/unstack_builder.cpp | 24 ++- 3 files changed, 116 insertions(+), 111 deletions(-) diff --git a/frameworks/native/neural_network_runtime/lite_graph_to_hdi_model_v2_1.cpp b/frameworks/native/neural_network_runtime/lite_graph_to_hdi_model_v2_1.cpp index b51f4fd..577223b 100644 --- a/frameworks/native/neural_network_runtime/lite_graph_to_hdi_model_v2_1.cpp +++ b/frameworks/native/neural_network_runtime/lite_graph_to_hdi_model_v2_1.cpp @@ -29,7 +29,7 @@ typedef void *TensorPtr; namespace OHOS { namespace NeuralNetworkRuntime { namespace NNRt_V2_1 { -std::vector ConvertActivation(PrimitivePtr primitive) +std::vector ConvertActivation(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertActivation v2_1 failed, primitive is nullptr."); @@ -51,7 +51,7 @@ std::vector ConvertActivation(PrimitivePtr primitive) return ret; } -std::vector ConvertAddFusion(PrimitivePtr primitive) +std::vector ConvertAddFusion(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertAddFusion v2_1 failed, primitive is nullptr."); @@ -69,7 +69,7 @@ std::vector ConvertAddFusion(PrimitivePtr primitive) return ret; } -std::vector ConvertAll(PrimitivePtr primitive) +std::vector ConvertAll(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertAll v2_1 failed, primitive is nullptr."); @@ -86,7 +86,7 @@ std::vector ConvertAll(PrimitivePtr primitive) return ret; } -std::vector ConvertArgMaxFusion(PrimitivePtr primitive) +std::vector ConvertArgMaxFusion(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertArgMaxFusion v2_1 failed, primitive is nullptr."); @@ -106,7 +106,7 @@ std::vector ConvertArgMaxFusion(PrimitivePtr primitive) return ret; } -std::vector ConvertAssert(PrimitivePtr primitive) +std::vector ConvertAssert(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertAssert v2_1 failed, primitive is nullptr."); @@ -123,7 +123,7 @@ std::vector ConvertAssert(PrimitivePtr primitive) return ret; } -std::vector ConvertAvgPoolFusion(PrimitivePtr primitive) +std::vector ConvertAvgPoolFusion(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertAvgPoolFusion v2_1 failed, primitive is nullptr."); @@ -148,7 +148,7 @@ std::vector ConvertAvgPoolFusion(PrimitivePtr primitive) return ret; } -std::vector ConvertBatchToSpaceND(PrimitivePtr primitive) +std::vector ConvertBatchToSpaceND(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertBatchToSpaceND v2_1 failed, primitive is nullptr."); @@ -166,7 +166,7 @@ std::vector ConvertBatchToSpaceND(PrimitivePtr primitive) return ret; } -std::vector ConvertBiasAdd(PrimitivePtr primitive) +std::vector ConvertBiasAdd(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertBiasAdd v2_1 failed, primitive is nullptr."); @@ -181,7 +181,7 @@ std::vector ConvertBiasAdd(PrimitivePtr primitive) return ret; } -std::vector ConvertBroadcastTo(PrimitivePtr primitive) +std::vector ConvertBroadcastTo(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertBroadcastTo v2_1 failed, primitive is nullptr."); @@ -198,7 +198,7 @@ std::vector ConvertBroadcastTo(PrimitivePtr primitive) return ret; } -std::vector ConvertCast(PrimitivePtr primitive) +std::vector ConvertCast(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertCast v2_1 failed, primitive is nullptr."); @@ -213,7 +213,7 @@ std::vector ConvertCast(PrimitivePtr primitive) return ret; } -std::vector ConvertCeil(PrimitivePtr primitive) +std::vector ConvertCeil(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertCeil v2_1 failed, primitive is nullptr."); @@ -228,7 +228,7 @@ std::vector ConvertCeil(PrimitivePtr primitive) return ret; } -std::vector ConvertClip(PrimitivePtr primitive) +std::vector ConvertClip(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertClip v2_1 failed, primitive is nullptr."); @@ -246,7 +246,7 @@ std::vector ConvertClip(PrimitivePtr primitive) return ret; } -std::vector ConvertConcat(PrimitivePtr primitive) +std::vector ConvertConcat(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertConcat v2_1 failed, primitive is nullptr."); @@ -262,7 +262,7 @@ std::vector ConvertConcat(PrimitivePtr primitive) return ret; } -std::vector ConvertConv2DFusion(PrimitivePtr primitive) +std::vector ConvertConv2DFusion(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertConv2DFusion v2_1 failed, primitive is nullptr."); @@ -288,7 +288,7 @@ std::vector ConvertConv2DFusion(PrimitivePtr primitive) return ret; } -std::vector ConvertConv2dTransposeFusion(PrimitivePtr primitive) +std::vector ConvertConv2dTransposeFusion(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertConv2dTransposeFusion v2_1 failed, primitive is nullptr."); @@ -316,7 +316,7 @@ std::vector ConvertConv2dTransposeFusion(PrimitivePtr primitive) return ret; } -std::vector ConvertCos(PrimitivePtr primitive) +std::vector ConvertCos(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertCos v2_1 failed, primitive is nullptr."); @@ -332,7 +332,7 @@ std::vector ConvertCos(PrimitivePtr primitive) return ret; } -std::vector ConvertConstantOfShape(PrimitivePtr primitive) +std::vector ConvertConstantOfShape(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertConstantOfShape v2_1 failed, primitive is nullptr."); @@ -350,7 +350,7 @@ std::vector ConvertConstantOfShape(PrimitivePtr primitive) return ret; } -std::vector ConvertCrop(PrimitivePtr primitive) +std::vector ConvertCrop(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertCrop v2_1 failed, primitive is nullptr."); @@ -368,7 +368,7 @@ std::vector ConvertCrop(PrimitivePtr primitive) return ret; } -std::vector ConvertDepthToSpace(PrimitivePtr primitive) +std::vector ConvertDepthToSpace(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertDepthToSpace v2_1 failed, primitive is nullptr."); @@ -388,7 +388,7 @@ std::vector ConvertDepthToSpace(PrimitivePtr primitive) return ret; } -std::vector ConvertDetectionPostProcess(PrimitivePtr primitive) +std::vector ConvertDetectionPostProcess(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertDetectionPostProcess v2_1 failed, primitive is nullptr."); @@ -419,7 +419,7 @@ std::vector ConvertDetectionPostProcess(PrimitivePtr primitive) return ret; } -std::vector ConvertDivFusion(PrimitivePtr primitive) +std::vector ConvertDivFusion(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertDivFusion v2_1 failed, primitive is nullptr."); @@ -436,7 +436,7 @@ std::vector ConvertDivFusion(PrimitivePtr primitive) return ret; } -std::vector ConvertEltwise(PrimitivePtr primitive) +std::vector ConvertEltwise(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertEltwise v2_1 failed, primitive is nullptr."); @@ -452,7 +452,7 @@ std::vector ConvertEltwise(PrimitivePtr primitive) return ret; } -std::vector ConvertEqual(PrimitivePtr primitive) +std::vector ConvertEqual(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertEqual v2_1 failed, primitive is nullptr."); @@ -467,7 +467,7 @@ std::vector ConvertEqual(PrimitivePtr primitive) return ret; } -std::vector ConvertExpFusion(PrimitivePtr primitive) +std::vector ConvertExpFusion(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertExp v2_1 failed, primitive is nullptr."); @@ -486,7 +486,7 @@ std::vector ConvertExpFusion(PrimitivePtr primitive) return ret; } -std::vector ConvertExpandDims(PrimitivePtr primitive) +std::vector ConvertExpandDims(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertExpandDims v2_1 failed, primitive is nullptr."); @@ -501,7 +501,7 @@ std::vector ConvertExpandDims(PrimitivePtr primitive) return ret; } -std::vector ConvertFlatten(PrimitivePtr primitive) +std::vector ConvertFlatten(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertFlatten v2_1 failed, primitive is nullptr."); @@ -518,7 +518,7 @@ std::vector ConvertFlatten(PrimitivePtr primitive) return ret; } -std::vector ConvertFloor(PrimitivePtr primitive) +std::vector ConvertFloor(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertFloor v2_1 failed, primitive is nullptr."); @@ -534,7 +534,7 @@ std::vector ConvertFloor(PrimitivePtr primitive) return ret; } -std::vector ConvertFill(PrimitivePtr primitive) +std::vector ConvertFill(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertFill v2_1 failed, primitive is nullptr."); @@ -549,7 +549,7 @@ std::vector ConvertFill(PrimitivePtr primitive) return ret; } -std::vector ConvertFullConnection(PrimitivePtr primitive) +std::vector ConvertFullConnection(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertFullConnection v2_1 failed, primitive is nullptr."); @@ -570,7 +570,7 @@ std::vector ConvertFullConnection(PrimitivePtr primitive) return ret; } -std::vector ConvertFusedBatchNorm(PrimitivePtr primitive) +std::vector ConvertFusedBatchNorm(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertFusedBatchNorm v2_1 failed, primitive is nullptr."); @@ -586,7 +586,7 @@ std::vector ConvertFusedBatchNorm(PrimitivePtr primitive) return ret; } -std::vector ConvertGather(PrimitivePtr primitive) +std::vector ConvertGather(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertGather v2_1 failed, primitive is nullptr."); @@ -601,7 +601,7 @@ std::vector ConvertGather(PrimitivePtr primitive) return ret; } -std::vector ConvertGatherNd(PrimitivePtr primitive) +std::vector ConvertGatherNd(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertGatherNd v2_1 failed, primitive is nullptr."); @@ -616,7 +616,7 @@ std::vector ConvertGatherNd(PrimitivePtr primitive) return ret; } -std::vector ConvertGreater(PrimitivePtr primitive) +std::vector ConvertGreater(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertGreater v2_1 failed, primitive is nullptr."); @@ -631,7 +631,7 @@ std::vector ConvertGreater(PrimitivePtr primitive) return ret; } -std::vector ConvertGreaterEqual(PrimitivePtr primitive) +std::vector ConvertGreaterEqual(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertGreaterEqual v2_1 failed, primitive is nullptr."); @@ -646,7 +646,7 @@ std::vector ConvertGreaterEqual(PrimitivePtr primitive) return ret; } -std::vector ConvertInstanceNorm(PrimitivePtr primitive) +std::vector ConvertInstanceNorm(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertInstanceNorm v2_1 failed, primitive is nullptr."); @@ -663,7 +663,7 @@ std::vector ConvertInstanceNorm(PrimitivePtr primitive) return ret; } -std::vector ConvertLayerNormFusion(PrimitivePtr primitive) +std::vector ConvertLayerNormFusion(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertLayerNorm v2_1 failed, primitive is nullptr."); @@ -683,7 +683,7 @@ std::vector ConvertLayerNormFusion(PrimitivePtr primitive) return ret; } -std::vector ConvertLess(PrimitivePtr primitive) +std::vector ConvertLess(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertLess v2_1 failed, primitive is nullptr."); @@ -698,7 +698,7 @@ std::vector ConvertLess(PrimitivePtr primitive) return ret; } -std::vector ConvertLessEqual(PrimitivePtr primitive) +std::vector ConvertLessEqual(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertLessEqual v2_1 failed, primitive is nullptr."); @@ -713,7 +713,7 @@ std::vector ConvertLessEqual(PrimitivePtr primitive) return ret; } -std::vector ConvertLog(PrimitivePtr primitive) +std::vector ConvertLog(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertLog v2_1 failed, primitive is nullptr."); @@ -729,7 +729,7 @@ std::vector ConvertLog(PrimitivePtr primitive) return ret; } -std::vector ConvertLogicalAnd(PrimitivePtr primitive) +std::vector ConvertLogicalAnd(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertLogicalAnd v2_1 failed, primitive is nullptr."); @@ -745,7 +745,7 @@ std::vector ConvertLogicalAnd(PrimitivePtr primitive) return ret; } -std::vector ConvertLogicalNot(PrimitivePtr primitive) +std::vector ConvertLogicalNot(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertLogicalNot v2_1 failed, primitive is nullptr."); @@ -761,7 +761,7 @@ std::vector ConvertLogicalNot(PrimitivePtr primitive) return ret; } -std::vector ConvertLogicalOr(PrimitivePtr primitive) +std::vector ConvertLogicalOr(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertLogicalOr v2_1 failed, primitive is nullptr."); @@ -777,7 +777,7 @@ std::vector ConvertLogicalOr(PrimitivePtr primitive) return ret; } -std::vector ConvertLRN(PrimitivePtr primitive) +std::vector ConvertLRN(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertLRN v2_1 failed, primitive is nullptr."); @@ -798,7 +798,7 @@ std::vector ConvertLRN(PrimitivePtr primitive) return ret; } -std::vector ConvertLSTM(PrimitivePtr primitive) +std::vector ConvertLSTM(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertLSTM v2_1 failed, primitive is nullptr."); @@ -824,7 +824,7 @@ std::vector ConvertLSTM(PrimitivePtr primitive) return ret; } -std::vector ConvertL2NormalizeFusion(PrimitivePtr primitive) +std::vector ConvertL2NormalizeFusion(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertL2NormalizeFusion v2_1 failed, primitive is nullptr."); @@ -844,7 +844,7 @@ std::vector ConvertL2NormalizeFusion(PrimitivePtr primitive) return ret; } -std::vector ConvertMatMulFusion(PrimitivePtr primitive) +std::vector ConvertMatMulFusion(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertMatMulFusion v2_1 failed, primitive is nullptr."); @@ -864,7 +864,7 @@ std::vector ConvertMatMulFusion(PrimitivePtr primitive) return ret; } -std::vector ConvertMaximum(PrimitivePtr primitive) +std::vector ConvertMaximum(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertMaximum v2_1 failed, primitive is nullptr."); @@ -879,7 +879,7 @@ std::vector ConvertMaximum(PrimitivePtr primitive) return ret; } -std::vector ConvertMaxPoolFusion(PrimitivePtr primitive) +std::vector ConvertMaxPoolFusion(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertMaxPoolFusion v2_1 failed, primitive is nullptr."); @@ -904,7 +904,7 @@ std::vector ConvertMaxPoolFusion(PrimitivePtr primitive) return ret; } -std::vector ConvertMinimum(PrimitivePtr primitive) +std::vector ConvertMinimum(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertMinimum v2_1 failed, primitive is nullptr."); @@ -920,7 +920,7 @@ std::vector ConvertMinimum(PrimitivePtr primitive) return ret; } -std::vector ConvertMod(PrimitivePtr primitive) +std::vector ConvertMod(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertMod v2_1 failed, primitive is nullptr."); @@ -936,7 +936,7 @@ std::vector ConvertMod(PrimitivePtr primitive) return ret; } -std::vector ConvertMulFusion(PrimitivePtr primitive) +std::vector ConvertMulFusion(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertMulFusion v2_1 failed, primitive is nullptr."); @@ -953,7 +953,7 @@ std::vector ConvertMulFusion(PrimitivePtr primitive) return ret; } -std::vector ConvertNeg(PrimitivePtr primitive) +std::vector ConvertNeg(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertNeg v2_1 failed, primitive is nullptr."); @@ -969,7 +969,7 @@ std::vector ConvertNeg(PrimitivePtr primitive) return ret; } -std::vector ConvertNotEqual(PrimitivePtr primitive) +std::vector ConvertNotEqual(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertNotEqual v2_1 failed, primitive is nullptr."); @@ -985,7 +985,7 @@ std::vector ConvertNotEqual(PrimitivePtr primitive) return ret; } -std::vector ConvertOneHot(PrimitivePtr primitive) +std::vector ConvertOneHot(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertOneHot v2_1 failed, primitive is nullptr."); @@ -1001,7 +1001,7 @@ std::vector ConvertOneHot(PrimitivePtr primitive) return ret; } -std::vector ConvertPadFusion(PrimitivePtr primitive) +std::vector ConvertPadFusion(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertPadFusion v2_1 failed, primitive is nullptr."); @@ -1019,7 +1019,7 @@ std::vector ConvertPadFusion(PrimitivePtr primitive) return ret; } -std::vector ConvertPowFusion(PrimitivePtr primitive) +std::vector ConvertPowFusion(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertPowFusion v2_1 failed, primitive is nullptr."); @@ -1036,7 +1036,7 @@ std::vector ConvertPowFusion(PrimitivePtr primitive) return ret; } -std::vector ConvertPReLUFusion(PrimitivePtr primitive) +std::vector ConvertPReLUFusion(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertPReLUFusion v2_1 failed, primitive is nullptr."); @@ -1052,7 +1052,7 @@ std::vector ConvertPReLUFusion(PrimitivePtr primitive) return ret; } -std::vector ConvertQuantDTypeCast(PrimitivePtr primitive) +std::vector ConvertQuantDTypeCast(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertQuantDTypeCast v2_1 failed, primitive is nullptr."); @@ -1071,7 +1071,7 @@ std::vector ConvertQuantDTypeCast(PrimitivePtr primitive) return ret; } -std::vector ConvertRank(PrimitivePtr primitive) +std::vector ConvertRank(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertRank v2_1 failed, primitive is nullptr."); @@ -1087,7 +1087,7 @@ std::vector ConvertRank(PrimitivePtr primitive) return ret; } -std::vector ConvertRange(PrimitivePtr primitive) +std::vector ConvertRange(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertRange v2_1 failed, primitive is nullptr."); @@ -1107,7 +1107,7 @@ std::vector ConvertRange(PrimitivePtr primitive) return ret; } -std::vector ConvertReciprocal(PrimitivePtr primitive) +std::vector ConvertReciprocal(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertReciprocal v2_1 failed, primitive is nullptr."); @@ -1123,7 +1123,7 @@ std::vector ConvertReciprocal(PrimitivePtr primitive) return ret; } -std::vector ConvertReduceFusion(PrimitivePtr primitive) +std::vector ConvertReduceFusion(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertReduceFusion v2_1 failed, primitive is nullptr."); @@ -1142,7 +1142,7 @@ std::vector ConvertReduceFusion(PrimitivePtr primitive) return ret; } -std::vector ConvertReshape(PrimitivePtr primitive) +std::vector ConvertReshape(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertReshape v2_1 failed, primitive is nullptr."); @@ -1157,7 +1157,7 @@ std::vector ConvertReshape(PrimitivePtr primitive) return ret; } -std::vector ConvertResize(PrimitivePtr primitive) +std::vector ConvertResize(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertResize v2_1 failed, primitive is nullptr."); @@ -1182,7 +1182,7 @@ std::vector ConvertResize(PrimitivePtr primitive) return ret; } -std::vector ConvertRound(PrimitivePtr primitive) +std::vector ConvertRound(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertRound v2_1 failed, primitive is nullptr."); @@ -1198,7 +1198,7 @@ std::vector ConvertRound(PrimitivePtr primitive) return ret; } -std::vector ConvertRsqrt(PrimitivePtr primitive) +std::vector ConvertRsqrt(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertRsqrt v2_1 failed, primitive is nullptr."); @@ -1213,7 +1213,7 @@ std::vector ConvertRsqrt(PrimitivePtr primitive) return ret; } -std::vector ConvertScaleFusion(PrimitivePtr primitive) +std::vector ConvertScaleFusion(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertScaleFusion v2_1 failed, primitive is nullptr."); @@ -1231,7 +1231,7 @@ std::vector ConvertScaleFusion(PrimitivePtr primitive) return ret; } -std::vector ConvertScatterNd(PrimitivePtr primitive) +std::vector ConvertScatterNd(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertScatterNd v2_1 failed, primitive is nullptr."); @@ -1247,7 +1247,7 @@ std::vector ConvertScatterNd(PrimitivePtr primitive) return ret; } -std::vector ConvertShape(PrimitivePtr primitive) +std::vector ConvertShape(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertShape v2_1 failed, primitive is nullptr."); @@ -1262,7 +1262,7 @@ std::vector ConvertShape(PrimitivePtr primitive) return ret; } -std::vector ConvertSin(PrimitivePtr primitive) +std::vector ConvertSin(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertSin v2_1 failed, primitive is nullptr."); @@ -1278,7 +1278,7 @@ std::vector ConvertSin(PrimitivePtr primitive) return ret; } -std::vector ConvertSliceFusion(PrimitivePtr primitive) +std::vector ConvertSliceFusion(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertSliceFusion v2_1 failed, primitive is nullptr."); @@ -1294,7 +1294,7 @@ std::vector ConvertSliceFusion(PrimitivePtr primitive) return ret; } -std::vector ConvertSoftmax(PrimitivePtr primitive) +std::vector ConvertSoftmax(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertSoftmax v2_1 failed, primitive is nullptr."); @@ -1310,7 +1310,7 @@ std::vector ConvertSoftmax(PrimitivePtr primitive) return ret; } -std::vector ConvertSpaceToBatchND(PrimitivePtr primitive) +std::vector ConvertSpaceToBatchND(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertSpaceToBatchND v2_1 failed, primitive is nullptr."); @@ -1327,7 +1327,7 @@ std::vector ConvertSpaceToBatchND(PrimitivePtr primitive) return ret; } -std::vector ConvertSpaceToDepth(PrimitivePtr primitive) +std::vector ConvertSpaceToDepth(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertSpaceToDepth v2_1 failed, primitive is nullptr."); @@ -1345,7 +1345,7 @@ std::vector ConvertSpaceToDepth(PrimitivePtr primitive) return ret; } -std::vector ConvertSparseToDense(PrimitivePtr primitive) +std::vector ConvertSparseToDense(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertSparseToDense v2_1 failed, primitive is nullptr."); @@ -1360,7 +1360,7 @@ std::vector ConvertSparseToDense(PrimitivePtr primitive) return ret; } -std::vector ConvertSplit(PrimitivePtr primitive) +std::vector ConvertSplit(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertSplit v2_1 failed, primitive is nullptr."); @@ -1378,7 +1378,7 @@ std::vector ConvertSplit(PrimitivePtr primitive) return ret; } -std::vector ConvertSqrt(PrimitivePtr primitive) +std::vector ConvertSqrt(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertSqrt v2_1 failed, primitive is nullptr."); @@ -1393,7 +1393,7 @@ std::vector ConvertSqrt(PrimitivePtr primitive) return ret; } -std::vector ConvertSquare(PrimitivePtr primitive) +std::vector ConvertSquare(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertSquare v2_1 failed, primitive is nullptr."); @@ -1408,7 +1408,7 @@ std::vector ConvertSquare(PrimitivePtr primitive) return ret; } -std::vector ConvertSquaredDifference(PrimitivePtr primitive) +std::vector ConvertSquaredDifference(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertSquaredDifference v2_1 failed, primitive is nullptr."); @@ -1423,7 +1423,7 @@ std::vector ConvertSquaredDifference(PrimitivePtr primitive) return ret; } -std::vector ConvertSqueeze(PrimitivePtr primitive) +std::vector ConvertSqueeze(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertSqueeze v2_1 failed, primitive is nullptr."); @@ -1439,7 +1439,7 @@ std::vector ConvertSqueeze(PrimitivePtr primitive) return ret; } -std::vector ConvertStack(PrimitivePtr primitive) +std::vector ConvertStack(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertStack v2_1 failed, primitive is nullptr."); @@ -1455,7 +1455,7 @@ std::vector ConvertStack(PrimitivePtr primitive) return ret; } -std::vector ConvertStridedSlice(PrimitivePtr primitive) +std::vector ConvertStridedSlice(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertStridedSlice v2_1 failed, primitive is nullptr."); @@ -1475,7 +1475,7 @@ std::vector ConvertStridedSlice(PrimitivePtr primitive) return ret; } -std::vector ConvertSubFusion(PrimitivePtr primitive) +std::vector ConvertSubFusion(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertSubFusion v2_1 failed, primitive is nullptr."); @@ -1492,7 +1492,7 @@ std::vector ConvertSubFusion(PrimitivePtr primitive) return ret; } -std::vector ConvertTileFusion(PrimitivePtr primitive) +std::vector ConvertTileFusion(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertTileFusion v2_1 failed, primitive is nullptr."); @@ -1508,7 +1508,7 @@ std::vector ConvertTileFusion(PrimitivePtr primitive) return ret; } -std::vector ConvertTopKFusion(PrimitivePtr primitive) +std::vector ConvertTopKFusion(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertTopKFusion v2_1 failed, primitive is nullptr."); @@ -1525,7 +1525,7 @@ std::vector ConvertTopKFusion(PrimitivePtr primitive) return ret; } -std::vector ConvertTranspose(PrimitivePtr primitive) +std::vector ConvertTranspose(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertTranspose v2_1 failed, primitive is nullptr."); @@ -1540,7 +1540,7 @@ std::vector ConvertTranspose(PrimitivePtr primitive) return ret; } -std::vector ConvertUnsqueeze(PrimitivePtr primitive) +std::vector ConvertUnsqueeze(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertUnsqueeze v2_1 failed, primitive is nullptr."); @@ -1556,7 +1556,7 @@ std::vector ConvertUnsqueeze(PrimitivePtr primitive) return ret; } -std::vector ConvertUnstack(PrimitivePtr primitive) +std::vector ConvertUnstack(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertUnstack v2_1 failed, primitive is nullptr."); @@ -1573,7 +1573,7 @@ std::vector ConvertUnstack(PrimitivePtr primitive) return ret; } -std::vector ConvertWhere(PrimitivePtr primitive) +std::vector ConvertWhere(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertWhere v2_1 failed, primitive is nullptr."); @@ -1589,7 +1589,7 @@ std::vector ConvertWhere(PrimitivePtr primitive) return ret; } -std::vector ConvertSelect(PrimitivePtr primitive) +std::vector ConvertSelect(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertSelect v2_1 failed, primitive is nullptr."); @@ -1605,7 +1605,7 @@ std::vector ConvertSelect(PrimitivePtr primitive) return ret; } -std::vector ConvertErf(PrimitivePtr primitive) +std::vector ConvertErf(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertErf v2_1 failed, primitive is nullptr."); @@ -1621,7 +1621,7 @@ std::vector ConvertErf(PrimitivePtr primitive) return ret; } -std::vector ConvertLogSoftmax(PrimitivePtr primitive) +std::vector ConvertLogSoftmax(const PrimitivePtr primitive) { if (primitive == nullptr) { LOGE("ConvertLogSoftmax v2_1 failed, primitive is nullptr."); @@ -1638,7 +1638,7 @@ std::vector ConvertLogSoftmax(PrimitivePtr primitive) return ret; } -std::unordered_map(*)(PrimitivePtr)> convertOpMap = { +std::unordered_map(*)(const PrimitivePtr)> convertOpMap = { {NODE_TYPE_ACTIVATION, &ConvertActivation}, {NODE_TYPE_ADD_FUSION, &ConvertAddFusion}, {NODE_TYPE_ALL, &ConvertAll}, @@ -1732,7 +1732,7 @@ std::unordered_map(*)(PrimitivePtr)> convertOpMap {NODE_TYPE_ERF, &ConvertErf}, {NODE_TYPE_LOG_SOFTMAX, &ConvertLogSoftmax}}; -std::vector Convert(OHOS::HDI::Nnrt::V2_1::NodeType type, PrimitivePtr primitive) +std::vector Convert(OHOS::HDI::Nnrt::V2_1::NodeType type, const PrimitivePtr primitive) { if (convertOpMap.find(type) != convertOpMap.end()) { return convertOpMap[type](primitive); @@ -1812,8 +1812,6 @@ OHOS::HDI::Nnrt::V2_1::Model *LiteGraph_To_HDIModel(const mindspore::lite::LiteG LOGI("MindIR_LiteGraph_To_Model begin"); - std::vector inputIndex; - std::vector outputIndex; std::vector nodes; std::vector allTensors; std::vector subGraph; diff --git a/frameworks/native/neural_network_runtime/ops/fullconnection_builder.cpp b/frameworks/native/neural_network_runtime/ops/fullconnection_builder.cpp index 2ac5602..7a9c9b7 100644 --- a/frameworks/native/neural_network_runtime/ops/fullconnection_builder.cpp +++ b/frameworks/native/neural_network_runtime/ops/fullconnection_builder.cpp @@ -39,11 +39,14 @@ OH_NN_ReturnCode FullConnectionBuilder::SetFullConnectionInput(const std::vector return OH_NN_INVALID_PARAMETER; } size_t allTensorsSize = allTensors.size(); - for (auto index : inputsIndex) { - if (index >= allTensorsSize) { - LOGE("[FullConnection] SetFullConnectionInput failed, the index of inputs is out of range."); - return OH_NN_INVALID_PARAMETER; - } + + bool isOverTensorSize = std::any_of(inputsIndex.begin(), inputsIndex.end(), [allTensorsSize](uint32_t index) { + return index >= allTensorsSize; + }); + + if (isOverTensorSize) { + LOGE("[FullConnection] SetFullConnectionInput failed, the index of inputs is out of range."); + return OH_NN_INVALID_PARAMETER; } m_inputsIndex = inputsIndex; diff --git a/frameworks/native/neural_network_runtime/ops/unstack_builder.cpp b/frameworks/native/neural_network_runtime/ops/unstack_builder.cpp index f0d1628..ec21f56 100755 --- a/frameworks/native/neural_network_runtime/ops/unstack_builder.cpp +++ b/frameworks/native/neural_network_runtime/ops/unstack_builder.cpp @@ -71,18 +71,22 @@ OH_NN_ReturnCode UnstackBuilder::Build(const std::vector& paramsIndex, } size_t allTensorsSize = allTensors.size(); - for (auto index : inputsIndex) { - if (index >= allTensorsSize) { - LOGE("The index of inputs is out of range."); - return OH_NN_INVALID_PARAMETER; - } + bool isOverTensorSize = std::any_of(inputsIndex.begin(), inputsIndex.end(), [allTensorsSize]() { + return index >= allTensorsSize; + }); + + if (isOverTensorSize) { + LOGE("The index of inputs is out of range."); + return OH_NN_INVALID_PARAMETER; } - for (auto index : outputsIndex) { - if (index >= allTensorsSize) { - LOGE("The index of outputs is out of range."); - return OH_NN_INVALID_PARAMETER; - } + bool isOverTensorSize = std::any_of(inputsIndex.begin(), inputsIndex.end(), [allTensorsSize]() { + return index >= allTensorsSize; + }); + + if (isOverTensorSize) { + LOGE("The index of outputs is out of range."); + return OH_NN_INVALID_PARAMETER; } m_inputsIndex = inputsIndex; -- Gitee From 30b6caceeadee015c21b12425ee14ce8d6821155 Mon Sep 17 00:00:00 2001 From: wang-yangsong Date: Mon, 29 Apr 2024 09:35:25 +0800 Subject: [PATCH 2/2] bugfix Signed-off-by: wang-yangsong --- .../neural_network_runtime/ops/fullconnection_builder.cpp | 3 +-- .../native/neural_network_runtime/ops/unstack_builder.cpp | 6 ++---- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/frameworks/native/neural_network_runtime/ops/fullconnection_builder.cpp b/frameworks/native/neural_network_runtime/ops/fullconnection_builder.cpp index 7a9c9b7..39a547a 100644 --- a/frameworks/native/neural_network_runtime/ops/fullconnection_builder.cpp +++ b/frameworks/native/neural_network_runtime/ops/fullconnection_builder.cpp @@ -38,12 +38,11 @@ OH_NN_ReturnCode FullConnectionBuilder::SetFullConnectionInput(const std::vector LOGE("[FullConnection] SetFullConnectionInput failed, the index of outputs don't equal to %d.", OUTPUT_NUM); return OH_NN_INVALID_PARAMETER; } - size_t allTensorsSize = allTensors.size(); + size_t allTensorsSize = allTensors.size(); bool isOverTensorSize = std::any_of(inputsIndex.begin(), inputsIndex.end(), [allTensorsSize](uint32_t index) { return index >= allTensorsSize; }); - if (isOverTensorSize) { LOGE("[FullConnection] SetFullConnectionInput failed, the index of inputs is out of range."); return OH_NN_INVALID_PARAMETER; diff --git a/frameworks/native/neural_network_runtime/ops/unstack_builder.cpp b/frameworks/native/neural_network_runtime/ops/unstack_builder.cpp index ec21f56..9d1431a 100755 --- a/frameworks/native/neural_network_runtime/ops/unstack_builder.cpp +++ b/frameworks/native/neural_network_runtime/ops/unstack_builder.cpp @@ -71,19 +71,17 @@ OH_NN_ReturnCode UnstackBuilder::Build(const std::vector& paramsIndex, } size_t allTensorsSize = allTensors.size(); - bool isOverTensorSize = std::any_of(inputsIndex.begin(), inputsIndex.end(), [allTensorsSize]() { + bool isOverTensorSize = std::any_of(inputsIndex.begin(), inputsIndex.end(), [allTensorsSize](uint32_t index) { return index >= allTensorsSize; }); - if (isOverTensorSize) { LOGE("The index of inputs is out of range."); return OH_NN_INVALID_PARAMETER; } - bool isOverTensorSize = std::any_of(inputsIndex.begin(), inputsIndex.end(), [allTensorsSize]() { + isOverTensorSize = std::any_of(inputsIndex.begin(), inputsIndex.end(), [allTensorsSize](uint32_t index) { return index >= allTensorsSize; }); - if (isOverTensorSize) { LOGE("The index of outputs is out of range."); return OH_NN_INVALID_PARAMETER; -- Gitee