LBANN
0.103.0
LivermoreBigArtificialNeuralNetworkToolkit
visitor_hooks.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
#ifndef LBANN_VISITOR_HOOKS_HPP_INCLUDED
28
#define LBANN_VISITOR_HOOKS_HPP_INCLUDED
29
30
#include "
lbann/base.hpp
"
31
#include "
lbann/utils/enum_iterator.hpp
"
32
33
#include <iostream>
34
#include <string>
35
36
namespace
lbann
{
37
39
enum class
visitor_hook
40
{
41
setup_begin
,
42
setup_end
,
43
phase_end
,
44
epoch_begin
,
45
epoch_end
,
46
optimize_begin
,
47
optimize_end
,
48
50
execution_mode_begin
,
51
execution_mode_end
,
52
execution_mode_batch_begin
,
53
execution_mode_batch_end
,
54
execution_mode_forward_prop_begin
,
55
execution_mode_forward_prop_end
,
56
execution_mode_backward_prop_begin
,
57
execution_mode_backward_prop_end
,
58
invalid
59
};
60
61
bool
is_execution_mode_hook
(
visitor_hook
hook);
62
std::string
to_string
(
visitor_hook
hook);
63
std::string
to_string
(
visitor_hook
hook,
execution_mode
mode);
64
using
visitor_hook_iterator
=
65
enum_iterator<visitor_hook, visitor_hook::setup_begin, visitor_hook::invalid>
;
66
68
void
visitor_hook_from_string
(std::string
const
& str,
69
visitor_hook
& hook,
70
execution_mode
& mode);
72
std::istream&
operator>>
(std::istream& os,
visitor_hook
& e);
73
74
}
// namespace lbann
75
76
#endif // LBANN_VISITOR_HOOKS_HPP_INCLUDED
lbann::visitor_hook::setup_end
lbann::visitor_hook::epoch_begin
lbann::visitor_hook::execution_mode_batch_begin
lbann::visitor_hook::execution_mode_begin
Special visitor hooks that execute in conjunction with the execution mode.
lbann::visitor_hook::setup_begin
lbann::enum_iterator
Create an iterator that goes over a contiguous (unit-step) enum class.
Definition:
enum_iterator.hpp:37
enum_iterator.hpp
lbann::visitor_hook::execution_mode_end
lbann::visitor_hook::execution_mode_forward_prop_begin
lbann::to_string
std::string to_string(El::Device const &d)
lbann::visitor_hook::optimize_end
lbann::operator>>
std::basic_istream< CharT > & operator>>(std::basic_istream< CharT > &is, beta_distribution< RealType > &d)
Definition:
beta.hpp:236
base.hpp
lbann::visitor_hook::phase_end
lbann::visitor_hook::execution_mode_forward_prop_end
lbann::visitor_hook::epoch_end
lbann::execution_mode
execution_mode
Neural network execution mode.
Definition:
base.hpp:229
lbann::visitor_hook::execution_mode_backward_prop_begin
lbann::visitor_hook::execution_mode_backward_prop_end
lbann::visitor_hook::optimize_begin
lbann::visitor_hook::execution_mode_batch_end
lbann::visitor_hook
visitor_hook
Neural network execution mode.
Definition:
visitor_hooks.hpp:39
lbann::is_execution_mode_hook
bool is_execution_mode_hook(visitor_hook hook)
lbann::matrix_format::invalid
lbann::visitor_hook_from_string
void visitor_hook_from_string(std::string const &str, visitor_hook &hook, execution_mode &mode)
Convert a string to an execution_mode.
lbann
Definition:
callback_helpers.hpp:32
include
lbann
utils
visitor_hooks.hpp
Generated on Wed Oct 11 2023 20:49:38 for LBANN by
1.8.13