diff options
author | Manuel Bottini <manuel.bottini@arm.com> | 2018-10-02 16:41:52 +0100 |
---|---|---|
committer | Georgios Pinitas <georgios.pinitas@arm.com> | 2018-12-05 11:37:14 +0000 |
commit | 0d0028ca25a47dd51260e2555b336fc9f09d1df1 (patch) | |
tree | 968e8f126a9c7d5d7d4159fbb7d906d47ad077f2 /src/runtime | |
parent | 8bf622a44c70564d6a7c712473cdfac3e50ac62d (diff) | |
download | ComputeLibrary-0d0028ca25a47dd51260e2555b336fc9f09d1df1.tar.gz |
COMPMID-1298: Fuse ReLu activation in CLWinogradOutputTransform
Change-Id: I9e6e43a5839d04c2e4b4552c05446efb0a5074cf
Reviewed-on: https://review.mlplatform.org/232
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Diffstat (limited to 'src/runtime')
-rw-r--r-- | src/runtime/CL/functions/CLWinogradConvolutionLayer.cpp | 18 |
1 files changed, 3 insertions, 15 deletions
diff --git a/src/runtime/CL/functions/CLWinogradConvolutionLayer.cpp b/src/runtime/CL/functions/CLWinogradConvolutionLayer.cpp index 1abcb67132..069196e8c1 100644 --- a/src/runtime/CL/functions/CLWinogradConvolutionLayer.cpp +++ b/src/runtime/CL/functions/CLWinogradConvolutionLayer.cpp @@ -84,8 +84,8 @@ bool check_support_fast_math(const Size2D &output_tile, const Size2D &kernel_siz } // namespace CLWinogradConvolutionLayer::CLWinogradConvolutionLayer(std::shared_ptr<IMemoryManager> memory_manager) - : _memory_group(memory_manager), _batched_mm(memory_manager), _input_transform(), _filter_transform(), _output_transform(), _activationlayer_function(), _input0(), _input1(), _batched_mm_output(), - _original_weights(nullptr), _is_prepared(false), _is_activationlayer_enabled(false) + : _memory_group(memory_manager), _batched_mm(memory_manager), _input_transform(), _filter_transform(), _output_transform(), _input0(), _input1(), _batched_mm_output(), _original_weights(nullptr), + _is_prepared(false) { } @@ -133,14 +133,7 @@ void CLWinogradConvolutionLayer::configure(ICLTensor *input, const ICLTensor *we (input->info()->data_type() == DataType::F16))); // Configure output transform - _output_transform.configure(&_batched_mm_output, biases, output, winograd_info); - - // Configure activation layer - _is_activationlayer_enabled = act_info.enabled(); - if(_is_activationlayer_enabled) - { - _activationlayer_function.configure(output, nullptr, act_info); - } + _output_transform.configure(&_batched_mm_output, biases, output, winograd_info, act_info); // Allocate temporary tensors _input0.allocator()->allocate(); @@ -216,11 +209,6 @@ void CLWinogradConvolutionLayer::run() // Run output transform CLScheduler::get().enqueue(_output_transform); - if(_is_activationlayer_enabled) - { - _activationlayer_function.run(); - } - _memory_group.release(); } |