ArmNN  NotReleased
OverrideInputRangeVisitor.hpp
Go to the documentation of this file.
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #pragma once
7 
8 #include "NetworkQuantizer.hpp"
10 #include "RangeTracker.hpp"
11 
12 #include <unordered_map>
13 
14 namespace armnn
15 {
16 
18 class OverrideInputRangeVisitor : public LayerVisitorBase<VisitorNoThrowPolicy>
19 {
20 private:
21  using MinMaxRange = RangeTracker::MinMaxRange;
22 
23 public:
25  LayerBindingId layerId,
26  const MinMaxRange& minMaxRange);
27  ~OverrideInputRangeVisitor() = default;
28 
29  void VisitInputLayer(const IConnectableLayer* layer, LayerBindingId id, const char* name = nullptr) override;
30 
31 private:
33  RangeTracker& m_Ranges;
34 
36  LayerBindingId m_LayerId;
37 
39  MinMaxRange m_MinMaxRange;
40 };
41 
42 } // namespace armnn
Visitor object for overriding the input range of the quantized input layers in a network.
OverrideInputRangeVisitor(RangeTracker &ranges, LayerBindingId layerId, const MinMaxRange &minMaxRange)
std::pair< float, float > MinMaxRange
void VisitInputLayer(const IConnectableLayer *layer, LayerBindingId id, const char *name=nullptr) override
Interface for a layer that is connectable to other layers via InputSlots and OutputSlots.
Definition: INetwork.hpp:61
int LayerBindingId
Type of identifiers for bindable layers (inputs, outputs).
Definition: Types.hpp:168