ArmNN  NotReleased
InputLayer.cpp
Go to the documentation of this file.
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 #include "InputLayer.hpp"
6 
7 #include "LayerCloneBase.hpp"
8 
11 
12 namespace armnn
13 {
14 
16  : BindableLayer(0, 1, LayerType::Input, name, id)
17 {
18 }
19 
20 std::unique_ptr<IWorkload> InputLayer::CreateWorkload(const IWorkloadFactory& factory) const
21 {
22  boost::ignore_unused(factory);
23  return nullptr;
24 }
25 
27 {
28  return CloneBase<InputLayer>(graph, GetBindingId(), GetName());
29 }
30 
32 {
33  //The input layer should already have it's inputs set during graph building phase in the driver/parser.
34  ConditionalThrow<LayerValidationException>(GetOutputSlot(0).IsTensorInfoSet(),
35  "InputLayer should already have the TensorInfo set.");
36 }
37 
38 void InputLayer::Accept(ILayerVisitor& visitor) const
39 {
40  visitor.VisitInputLayer(this, this->GetBindingId(), GetName());
41 }
42 
43 } // namespace
A layer user-provided data can be bound to (e.g. inputs, outputs).
Definition: InputLayer.hpp:13
const char * GetName() const override
Definition: Layer.hpp:305
void ValidateTensorShapesFromInputs() override
Definition: InputLayer.cpp:31
virtual void VisitInputLayer(const IConnectableLayer *layer, LayerBindingId id, const char *name=nullptr)=0
virtual std::unique_ptr< IWorkload > CreateWorkload(const IWorkloadFactory &factory) const override
Definition: InputLayer.cpp:20
void Accept(ILayerVisitor &visitor) const override
Definition: InputLayer.cpp:38
LayerBindingId GetBindingId() const
Definition: Layer.hpp:398
bool IsTensorInfoSet() const override
Definition: Layer.cpp:68
InputLayer(LayerBindingId id, const char *name)
Definition: InputLayer.cpp:15
int LayerBindingId
Type of identifiers for bindable layers (inputs, outputs).
Definition: Types.hpp:168
const OutputSlot & GetOutputSlot(unsigned int index=0) const override
Definition: Layer.hpp:312
InputLayer * Clone(Graph &graph) const override
Definition: InputLayer.cpp:26