MLCE-130: Enabled optimized path for DepthwiseConv 5x5
authorPablo Tello <pablo.tello@arm.com>
Fri, 26 Jul 2019 12:45:48 +0000 (13:45 +0100)
committerPablo Tello <pablo.tello@arm.com>
Fri, 26 Jul 2019 16:04:50 +0000 (17:04 +0100)
Change-Id: I5cd90121e5fe1b49b394ee6f5a87e86520a30119
Signed-off-by: Pablo Tello <pablo.tello@arm.com>
src/backends/neon/workloads/NeonDepthwiseConvolutionWorkload.cpp

index bfe4dda..400ae18 100644 (file)
@@ -114,8 +114,10 @@ NeonDepthwiseConvolutionWorkload::NeonDepthwiseConvolutionWorkload(
     arm_compute::PadStrideInfo padStrideInfo = BuildArmComputePadStrideInfo(m_Data.m_Parameters);
 
     // Check for optimisation opportunities.
-    bool use3x3Optimisation = (weightInfo.GetShape()[2] == 3) && (weightInfo.GetShape()[3] == 3);
-    if (use3x3Optimisation)
+    const bool use3x3Optimisation = (weightInfo.GetShape()[2] == 3) && (weightInfo.GetShape()[3] == 3);
+    const bool use5x5Optimisation = (weightInfo.GetShape()[2] == 5) && (weightInfo.GetShape()[3] == 5);
+
+    if (use3x3Optimisation||use5x5Optimisation)
     {
         m_pDepthwiseConvolutionLayer = std::make_unique<arm_compute::NEDepthwiseConvolutionLayerOptimized>();
         static_cast<arm_compute::NEDepthwiseConvolutionLayerOptimized*>(