aboutsummaryrefslogtreecommitdiff
path: root/arm_compute
diff options
context:
space:
mode:
authorMichele Di Giorgio <michele.digiorgio@arm.com>2018-11-20 12:31:24 +0000
committerMichele Di Giorgio <michele.digiorgio@arm.com>2018-11-22 11:17:19 +0000
commit9d3a831d4131f8a8b37f127f11d36848d33e8496 (patch)
tree5ba1ab6ee69da474175ab82eda7ead31298af4c6 /arm_compute
parent3112e33d8d0b987e85107390a0350bd5988f5f01 (diff)
downloadComputeLibrary-9d3a831d4131f8a8b37f127f11d36848d33e8496.tar.gz
COMPMID-1648: CLNormalizationLayer IN_MAP_2D support for NHWC for FP32/FP16
Change-Id: I49f1d865f5e7562f1d80db849353a89ef77e6a9e
Diffstat (limited to 'arm_compute')
-rw-r--r--arm_compute/core/CL/kernels/CLNormalizationLayerKernel.h6
-rw-r--r--arm_compute/core/Types.h7
-rw-r--r--arm_compute/runtime/CL/functions/CLNormalizationLayer.h7
3 files changed, 15 insertions, 5 deletions
diff --git a/arm_compute/core/CL/kernels/CLNormalizationLayerKernel.h b/arm_compute/core/CL/kernels/CLNormalizationLayerKernel.h
index beeb8b838e..498fc11665 100644
--- a/arm_compute/core/CL/kernels/CLNormalizationLayerKernel.h
+++ b/arm_compute/core/CL/kernels/CLNormalizationLayerKernel.h
@@ -48,16 +48,18 @@ public:
/** Set the input and output tensors.
*
* @param[in] input Source tensor. 3 lower dims represent a single input with dimensions [width, height, IFM],
- * and an optional 4th dimension for batch of inputs. Data types supported: F16/F32.
+ * and an optional 4th dimension for batch of inputs. Data types supported: F16/F32. Data layouts supported: NCHW/NHWC.
* @param[out] output Destination tensor. Output will have the same number of dimensions as input. Data types supported: same as @p input.
+ * Data layouts supported: same as @p input.
* @param[in] norm_info Normalization layer information like the normalization type, normalization size and other parameters.
*/
void configure(const ICLTensor *input, ICLTensor *output, NormalizationLayerInfo norm_info);
/** Static function to check if given info will lead to a valid configuration of @ref CLNormalizationLayerKernel
*
* @param[in] input Source tensor. 3 lower dims represent a single input with dimensions [width, height, IFM],
- * and an optional 4th dimension for batch of inputs. Data types supported: F16/F32.
+ * and an optional 4th dimension for batch of inputs. Data types supported: F16/F32. Data layouts supported: NCHW/NHWC.
* @param[in] output Destination tensor. Output will have the same number of dimensions as input. Data types supported: same as @p input.
+ * Data layouts supported: same as @p input.
* @param[in] norm_info Normalization layer information like the normalization type, normalization size and other parameters.
*
* @return a status
diff --git a/arm_compute/core/Types.h b/arm_compute/core/Types.h
index 0f2786cd12..9f3857c6cd 100644
--- a/arm_compute/core/Types.h
+++ b/arm_compute/core/Types.h
@@ -1345,7 +1345,7 @@ class NormalizationLayerInfo
public:
/** Default Constructor
*
- * @param[in] type The normalization type. Can be @ref NormType::IN_MAP_1D, @ref NormType::IN_MAP_2D or @ref NORM_TYPE::CROSS_MAP
+ * @param[in] type The normalization type. Can be @ref NormType::IN_MAP_1D, @ref NormType::IN_MAP_2D or @ref NormType::CROSS_MAP
* @param[in] norm_size The normalization size is the number of elements to normalize across. Defaults to 5.
* @param[in] alpha (Optional) Alpha parameter used by normalization equation. Defaults to 0.0001.
* @param[in] beta (Optional) Beta parameter used by normalization equation. Defaults to 0.5.
@@ -1382,6 +1382,11 @@ public:
{
return _kappa;
}
+ /** Get the is_scaled value */
+ bool is_scaled() const
+ {
+ return _is_scaled;
+ }
/** Check if normalization is cross map */
bool is_cross_map() const
{
diff --git a/arm_compute/runtime/CL/functions/CLNormalizationLayer.h b/arm_compute/runtime/CL/functions/CLNormalizationLayer.h
index 89e20d20f6..1ed87fde27 100644
--- a/arm_compute/runtime/CL/functions/CLNormalizationLayer.h
+++ b/arm_compute/runtime/CL/functions/CLNormalizationLayer.h
@@ -51,16 +51,19 @@ public:
/** Set the input and output tensors.
*
* @param[in, out] input Source tensor. 3 lower dims represent a single input with dimensions [width, height, IFM],
- * and an optional 4th dimension for batch of inputs. Data types supported: F16/F32 (Written to by the border handler)
+ * and an optional 4th dimension for batch of inputs. Data types supported: F16/F32 (Written to by the border handler).
+ * Data layouts supported: NCHW/NHWC.
* @param[out] output Destination tensor. Dimensions, data type and number of channels must match the input ones.
+ * Data types supported: same as @p input. Data layouts supported: same as @p input.
* @param[in] norm_info Normalization layer information like the normalization type, normalization size and other parameters.
*/
void configure(ICLTensor *input, ICLTensor *output, const NormalizationLayerInfo &norm_info);
/** Static function to check if given info will lead to a valid configuration of @ref CLNormalizationLayer
*
* @param[in] input Source tensor. 3 lower dims represent a single input with dimensions [width, height, IFM],
- * and an optional 4th dimension for batch of inputs. Data types supported: F16/F32
+ * and an optional 4th dimension for batch of inputs. Data types supported: F16/F32. Data layouts supported: NCHW/NHWC.
* @param[in] output Destination tensor. Dimensions, data type and number of channels must match the input ones.
+ * Data layouts supported: same as @p input.
* @param[in] norm_info Normalization layer information like the normalization type, normalization size and other parameters.
*
* @return a status