ArmNN
 22.05.01
MockImportLayerSupport.hpp
Go to the documentation of this file.
1 //
2 // Copyright © 2020 Arm Ltd and Contributors. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 #pragma once
6 
8 
10 
11 namespace armnn
12 {
13 
15 {
16 public:
17  bool IsLayerSupported(const LayerType& type,
18  const std::vector<TensorInfo>& infos,
19  const BaseDescriptor& /*descriptor*/,
20  const Optional<LstmInputParamsInfo>& /*lstmParamsInfo*/,
21  const Optional<QuantizedLstmInputParamsInfo>& /*quantizedLstmParamsInfo*/,
23  {
24  switch(type)
25  {
27  return IsAdditionSupported(infos[0], infos[1], infos[2], reasonIfUnsupported);
28  case LayerType::Input:
29  return IsInputSupported(infos[0], reasonIfUnsupported);
30  case LayerType::Output:
31  return IsOutputSupported(infos[0], reasonIfUnsupported);
32  case LayerType::MemCopy:
33  return LayerSupportBase::IsMemCopySupported(infos[0], infos[1], reasonIfUnsupported);
35  return LayerSupportBase::IsMemImportSupported(infos[0], infos[1], reasonIfUnsupported);
36  default:
37  return false;
38  }
39  }
40 
41  bool IsAdditionSupported(const TensorInfo& input0,
42  const TensorInfo& input1,
43  const TensorInfo& output,
45  {
46  IgnoreUnused(input0);
47  IgnoreUnused(input1);
48  IgnoreUnused(output);
50  return true;
51  }
52 
53  bool IsInputSupported(const TensorInfo& input,
55  {
56  IgnoreUnused(input);
57  IgnoreUnused(reasonIfUnsupported);
58  return true;
59  }
60 
61  bool IsOutputSupported(const TensorInfo& output,
63  {
64  IgnoreUnused(output);
65  IgnoreUnused(reasonIfUnsupported);
66  return true;
67  }
68 };
69 
70 } // namespace armnn
const TensorInfo & output
bool IsMemImportSupported(const TensorInfo &input, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
const TensorInfo const ActivationDescriptor Optional< std::string & > reasonIfUnsupported
Copyright (c) 2021 ARM Limited and Contributors.
void IgnoreUnused(Ts &&...)
Base class for all descriptors.
Definition: Descriptors.hpp:22
bool IsLayerSupported(const LayerType &type, const std::vector< TensorInfo > &infos, const BaseDescriptor &, const Optional< LstmInputParamsInfo > &, const Optional< QuantizedLstmInputParamsInfo > &, Optional< std::string &> reasonIfUnsupported) const override
bool IsMemCopySupported(const TensorInfo &input, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
bool IsAdditionSupported(const TensorInfo &input0, const TensorInfo &input1, const TensorInfo &output, Optional< std::string &> reasonIfUnsupported=EmptyOptional()) const override
EmptyOptional is used to initialize the Optional class in case we want to have default value for an O...
Definition: Optional.hpp:32
bool IsInputSupported(const TensorInfo &input, Optional< std::string &> reasonIfUnsupported) const override
bool IsOutputSupported(const TensorInfo &output, Optional< std::string &> reasonIfUnsupported) const override
const TensorInfo & input1
LayerType
When adding a new layer, adapt also the LastLayer enum value in the enum class LayerType below...
Definition: Types.hpp:467