blob: 4c70d3f4a69865c36b71c9e5d48184955f1b7907 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
//
// Copyright © 2017 Arm Ltd. All rights reserved.
// SPDX-License-Identifier: MIT
//
#include "OverrideInputRangeVisitor.hpp"
#include "NetworkQuantizerUtils.hpp"
#include "Layer.hpp"
#include <boost/assert.hpp>
namespace armnn
{
OverrideInputRangeVisitor::OverrideInputRangeVisitor(std::unordered_map<LayerGuid, MinMaxRanges>& guidToRangesMap,
LayerBindingId layerId,
const MinMaxRange& minMaxRange)
: m_GuidToRangesMap(guidToRangesMap)
, m_LayerId(layerId)
, m_MinMaxRange(minMaxRange)
{}
void OverrideInputRangeVisitor::VisitInputLayer(const IConnectableLayer *layer, LayerBindingId id, const char *name)
{
if (m_LayerId != id)
{
// Not the layer we are looking for
return;
}
SetRange(layer);
}
void OverrideInputRangeVisitor::SetRange(const IConnectableLayer* layer)
{
BOOST_ASSERT(layer);
auto& ranges = m_GuidToRangesMap[layer->GetGuid()];
if (ranges.size() < layer->GetNumOutputSlots())
{
ranges.resize(layer->GetNumOutputSlots());
}
ranges[0] = m_MinMaxRange;
}
} // namespace armnn
|