1 //
2 // Copyright © 2017 Arm Ltd and Contributors. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 #include "InputLayer.hpp"
6
7 #include "LayerCloneBase.hpp"
8
9 #include <backendsCommon/WorkloadData.hpp>
10 #include <backendsCommon/WorkloadFactory.hpp>
11
12 namespace armnn
13 {
14
InputLayer(LayerBindingId id,const char * name)15 InputLayer::InputLayer(LayerBindingId id, const char* name)
16 : BindableLayer(0, 1, LayerType::Input, name, id)
17 {
18 }
19
CreateWorkload(const IWorkloadFactory & factory) const20 std::unique_ptr<IWorkload> InputLayer::CreateWorkload(const IWorkloadFactory& factory) const
21 {
22 IgnoreUnused(factory);
23 return nullptr;
24 }
25
Clone(Graph & graph) const26 InputLayer* InputLayer::Clone(Graph& graph) const
27 {
28 return CloneBase<InputLayer>(graph, GetBindingId(), GetName());
29 }
30
ValidateTensorShapesFromInputs()31 void InputLayer::ValidateTensorShapesFromInputs()
32 {
33 //The input layer should already have it's inputs set during graph building phase in the driver/parser.
34 ConditionalThrow<LayerValidationException>(GetOutputHandler(0).IsTensorInfoSet(),
35 "InputLayer should already have the TensorInfo set.");
36 }
37
Accept(ILayerVisitor & visitor) const38 void InputLayer::Accept(ILayerVisitor& visitor) const
39 {
40 visitor.VisitInputLayer(this, this->GetBindingId(), GetName());
41 }
42
43 } // namespace
44