From 81a26ad6b626ce2da83659d7c6c17b6104d1f203 Mon Sep 17 00:00:00 2001 From: Georgios Pinitas Date: Mon, 23 Oct 2017 20:29:30 +0100 Subject: COMPMID-643: Add bias to CLDepthwiseConvolution. Change-Id: Ibfe7b8c1172d10cbcae7971fe86b82090519d31d Reviewed-on: http://mpd-gerrit.cambridge.arm.com/92798 Tested-by: Kaizen Reviewed-by: Jaroslaw Rzepecki Reviewed-by: Anthony Barbier --- .../DepthwiseSeparableConvolutionLayerDataset.h | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) (limited to 'tests/datasets/DepthwiseSeparableConvolutionLayerDataset.h') diff --git a/tests/datasets/DepthwiseSeparableConvolutionLayerDataset.h b/tests/datasets/DepthwiseSeparableConvolutionLayerDataset.h index 6b39d3a5c8..efc0cbd27e 100644 --- a/tests/datasets/DepthwiseSeparableConvolutionLayerDataset.h +++ b/tests/datasets/DepthwiseSeparableConvolutionLayerDataset.h @@ -38,12 +38,13 @@ namespace datasets class DepthwiseSeparableConvolutionLayerDataset { public: - using type = std::tuple; + using type = std::tuple; struct iterator { iterator(std::vector::const_iterator src_it, std::vector::const_iterator filter_it, + std::vector::const_iterator filter_biases_it, std::vector::const_iterator depthwise_out_it, std::vector::const_iterator weights_it, std::vector::const_iterator biases_it, @@ -52,6 +53,7 @@ public: std::vector::const_iterator pointwise_infos_it) : _src_it{ std::move(src_it) }, _filter_it{ std::move(filter_it) }, + _filter_biases_it{ std::move(filter_biases_it) }, _depthwise_out_it{ std::move(depthwise_out_it) }, _weights_it{ std::move(weights_it) }, _biases_it{ std::move(biases_it) }, @@ -66,6 +68,7 @@ public: std::stringstream description; description << "In=" << *_src_it << ":"; description << "Filter=" << *_filter_it << ":"; + description << "FilterBiases=" << *_filter_biases_it << ":"; description << "DepthwiseOut=" << *_depthwise_out_it << ":"; description << "Weights=" << *_weights_it << ":"; description << "Biases=" << *_biases_it << ":"; @@ -77,13 +80,14 @@ public: DepthwiseSeparableConvolutionLayerDataset::type operator*() const { - return std::make_tuple(*_src_it, *_filter_it, *_depthwise_out_it, *_weights_it, *_biases_it, *_dst_it, *_depthwise_infos_it, *_pointwise_infos_it); + return std::make_tuple(*_src_it, *_filter_it, *_filter_biases_it, *_depthwise_out_it, *_weights_it, *_biases_it, *_dst_it, *_depthwise_infos_it, *_pointwise_infos_it); } iterator &operator++() { ++_src_it; ++_filter_it; + ++_filter_biases_it; ++_depthwise_out_it; ++_weights_it; ++_biases_it; @@ -97,6 +101,7 @@ public: private: std::vector::const_iterator _src_it; std::vector::const_iterator _filter_it; + std::vector::const_iterator _filter_biases_it; std::vector::const_iterator _depthwise_out_it; std::vector::const_iterator _weights_it; std::vector::const_iterator _biases_it; @@ -107,20 +112,24 @@ public: iterator begin() const { - return iterator(_src_shapes.begin(), _filter_shapes.begin(), _depthwise_out_shapes.begin(), _weight_shapes.begin(), _bias_shapes.begin(), _dst_shapes.begin(), _depthwise_infos.begin(), + return iterator(_src_shapes.begin(), _filter_shapes.begin(), _filter_biases_shapes.begin(), _depthwise_out_shapes.begin(), _weight_shapes.begin(), _bias_shapes.begin(), _dst_shapes.begin(), + _depthwise_infos.begin(), _pointwise_infos.begin()); } int size() const { - return std::min(_src_shapes.size(), std::min(_filter_shapes.size(), std::min(_depthwise_out_shapes.size(), std::min(_weight_shapes.size(), std::min(_bias_shapes.size(), std::min(_dst_shapes.size(), - std::min(_depthwise_infos.size(), _pointwise_infos.size()))))))); + return std::min(_src_shapes.size(), std::min(_filter_shapes.size(), std::min(_filter_biases_shapes.size(), std::min(_depthwise_out_shapes.size(), std::min(_weight_shapes.size(), + std::min(_bias_shapes.size(), std::min(_dst_shapes.size(), + std::min(_depthwise_infos.size(), _pointwise_infos.size())))))))); } - void add_config(TensorShape src, TensorShape filter, TensorShape depthwise_out, TensorShape weights, TensorShape biases, TensorShape dst, PadStrideInfo depthwise_info, PadStrideInfo pointwise_info) + void add_config(TensorShape src, TensorShape filter, TensorShape filter_bias, TensorShape depthwise_out, TensorShape weights, TensorShape biases, TensorShape dst, PadStrideInfo depthwise_info, + PadStrideInfo pointwise_info) { _src_shapes.emplace_back(std::move(src)); _filter_shapes.emplace_back(std::move(filter)); + _filter_biases_shapes.emplace_back(std::move(filter_bias)); _depthwise_out_shapes.emplace_back(std::move(depthwise_out)); _weight_shapes.emplace_back(std::move(weights)); _bias_shapes.emplace_back(std::move(biases)); @@ -136,6 +145,7 @@ protected: private: std::vector _src_shapes{}; std::vector _filter_shapes{}; + std::vector _filter_biases_shapes{}; std::vector _depthwise_out_shapes{}; std::vector _weight_shapes{}; std::vector _bias_shapes{}; -- cgit v1.2.1