ArmNN
 21.02
ActivationFixture.hpp
Go to the documentation of this file.
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 #pragma once
6 
7 #include "TensorCopyUtils.hpp"
8 #include "WorkloadTestUtils.hpp"
9 
11 
12 #include <test/TensorHelpers.hpp>
13 
14 #include <boost/multi_array.hpp>
15 
16 struct ActivationFixture
17 {
18  ActivationFixture()
19  {
20  auto boostArrayExtents = boost::extents
21  [armnn::numeric_cast<boost::multi_array_types::extent_gen::index>(batchSize)]
22  [armnn::numeric_cast<boost::multi_array_types::extent_gen::index>(channels)]
23  [armnn::numeric_cast<boost::multi_array_types::extent_gen::index>(height)]
24  [armnn::numeric_cast<boost::multi_array_types::extent_gen::index>(width)];
25  output.resize(boostArrayExtents);
26  outputExpected.resize(boostArrayExtents);
27  input.resize(boostArrayExtents);
28 
29  unsigned int inputShape[] = { batchSize, channels, height, width };
30  unsigned int outputShape[] = { batchSize, channels, height, width };
31 
32  inputTensorInfo = armnn::TensorInfo(4, inputShape, armnn::DataType::Float32);
33  outputTensorInfo = armnn::TensorInfo(4, outputShape, armnn::DataType::Float32);
34 
35  input = MakeRandomTensor<float, 4>(inputTensorInfo, 21453);
36  }
37 
38  unsigned int width = 17;
39  unsigned int height = 29;
40  unsigned int channels = 2;
41  unsigned int batchSize = 5;
42 
43  boost::multi_array<float, 4> output;
44  boost::multi_array<float, 4> outputExpected;
45  boost::multi_array<float, 4> input;
46 
47  armnn::TensorInfo inputTensorInfo;
48  armnn::TensorInfo outputTensorInfo;
49 
50  // Parameters used by some of the activation functions.
51  float a = 0.234f;
52  float b = -12.345f;
53 };
54 
55 
56 struct PositiveActivationFixture : public ActivationFixture
57 {
59  {
60  input = MakeRandomTensor<float, 4>(inputTensorInfo, 2342423, 0.0f, 1.0f);
61  }
62 };
std::enable_if_t< std::is_unsigned< Source >::value &&std::is_unsigned< Dest >::value, Dest > numeric_cast(Source source)
Definition: NumericCast.hpp:35