27 #ifndef LBANN_METRIC_HPP_INCLUDED 28 #define LBANN_METRIC_HPP_INCLUDED 66 template <
class Archive>
98 virtual ~
metric() =
default;
100 virtual metric* copy()
const = 0;
103 template <
class Archive>
107 virtual std::string name()
const = 0;
112 virtual std::string
get_unit()
const {
return ""; }
128 for (
auto& stats : m_statistics) {
129 stats.second.reset();
144 virtual std::vector<ViewingLayerPtr> get_layer_pointers()
const;
146 virtual void set_layer_pointers(std::vector<ViewingLayerPtr> layers);
157 virtual bool save_to_checkpoint_shared(
persist& p) = 0;
159 virtual bool load_from_checkpoint_shared(
persist& p) = 0;
161 virtual bool save_to_checkpoint_distributed(
persist& p) = 0;
162 virtual bool load_from_checkpoint_distributed(
persist& p) = 0;
194 #endif // LBANN_METRIC_HPP_INCLUDED
virtual void setup(model &m)
El::AbstractDistMatrix< DataType > AbsDistMat
std::weak_ptr< Layer > ViewingLayerPtr
Smart pointer to reference a layer object.
EvalType get_mean() const
EvalType & get_evaluate_time()
EvalType get_evaluate_time() const
Abstract base class for neural network models.
std::map< execution_mode, metric_statistics > & get_statistics()
execution_mode
Neural network execution mode.
int get_num_samples() const
~metric_statistics()=default
void add_value(EvalType value, int num_samples=1)
std::map< execution_mode, metric_statistics > m_statistics
metric_statistics & operator=(metric_statistics &other)=default
void serialize(Archive &ar)
void reset_statistics(execution_mode mode)
virtual std::string get_unit() const