Release 18.08
[platform/upstream/armnn.git] / src / armnn / layers / OutputLayer.cpp
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // See LICENSE file in the project root for full license information.
4 //
5 #include "OutputLayer.hpp"
6
7 #include "LayerCloneBase.hpp"
8
9 #include <backends/WorkloadData.hpp>
10 #include <backends/WorkloadFactory.hpp>
11
12 namespace armnn
13 {
14
15 OutputLayer::OutputLayer(LayerBindingId id, const char* name)
16     : BindableLayer(1, 0, LayerType::Output, name, id)
17 {
18 }
19
20 std::unique_ptr<IWorkload> OutputLayer::CreateWorkload(const Graph& graph, const IWorkloadFactory& factory) const
21 {
22     return nullptr;
23 }
24
25 OutputLayer* OutputLayer::Clone(Graph& graph) const
26 {
27     return CloneBase<OutputLayer>(graph, GetBindingId(), GetName());
28 }
29
30 void OutputLayer::ValidateTensorShapesFromInputs()
31 {
32     // Just validates that the input is connected.
33     ConditionalThrow<LayerValidationException>(GetInputSlot(0).GetConnection() != nullptr,
34                                                "OutputLayer: Input slot must be connected.");
35 }
36
37 } // namespace armnn