LBANN
0.103.0
LivermoreBigArtificialNeuralNetworkToolkit
callback_helpers.hpp
Go to the documentation of this file.
1
// Copyright (c) 2014-2023, Lawrence Livermore National Security, LLC.
3
// Produced at the Lawrence Livermore National Laboratory.
4
// Written by the LBANN Research Team (B. Van Essen, et al.) listed in
5
// the CONTRIBUTORS file. <lbann-dev@llnl.gov>
6
//
7
// LLNL-CODE-697807.
8
// All rights reserved.
9
//
10
// This file is part of LBANN: Livermore Big Artificial Neural Network
11
// Toolkit. For details, see http://software.llnl.gov/LBANN or
12
// https://github.com/LLNL/LBANN.
13
//
14
// Licensed under the Apache License, Version 2.0 (the "Licensee"); you
15
// may not use this file except in compliance with the License. You may
16
// obtain a copy of the License at:
17
//
18
// http://www.apache.org/licenses/LICENSE-2.0
19
//
20
// Unless required by applicable law or agreed to in writing, software
21
// distributed under the License is distributed on an "AS IS" BASIS,
22
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
23
// implied. See the License for the specific language governing
24
// permissions and limitations under the license.
26
27
#include "
lbann/utils/exception.hpp
"
28
29
#include <string>
30
#include <vector>
31
32
namespace
lbann
{
33
namespace
{
34
template
<
typename
T>
35
std::vector<T*>
36
select_things_by_name(std::vector<T*>
const
& things,
37
std::vector<std::string>
const
& thing_names)
38
{
39
40
std::vector<T*> out_things;
41
for
(
auto
const
& name : thing_names) {
42
auto
it = std::find_if(things.begin(), things.end(), [&name](
const
T* t) {
43
return
t->get_name() == name;
44
});
45
if
(it != things.end())
46
out_things.push_back(*it);
47
else
48
LBANN_ERROR
(std::string(
"Requested thing \""
) + name +
49
"\" does not exist in the list of things."
);
50
}
51
return
out_things;
52
}
53
}
// namespace
54
}
// namespace lbann
LBANN_ERROR
#define LBANN_ERROR(...)
Definition:
exception.hpp:37
exception.hpp
lbann
Definition:
callback_helpers.hpp:32
src
callbacks
callback_helpers.hpp
Generated on Wed Oct 11 2023 20:49:37 for LBANN by
1.8.13