LBANN  0.103.0
LivermoreBigArtificialNeuralNetworkToolkit
lbann::SelectOperator< DataT, D > Class Template Referencefinal

#include <select.hpp>

Inheritance diagram for lbann::SelectOperator< DataT, D >:
[legend]
Collaboration diagram for lbann::SelectOperator< DataT, D >:
[legend]

Public Member Functions

 SelectOperator (double value=0., bool constant_if_true=false, bool constant_if_false=false, double value_if_true=0., double value_if_false=0., double epsilon=1e-5)
 
 SelectOperator (SelectOperator &&)=default
 
 SelectOperator (SelectOperator const &)=default
 
SelectOperatoroperator= (SelectOperator &&)=default
 
SelectOperatoroperator= (SelectOperator const &)=default
 
 ~SelectOperator ()=default
 
std::string get_type () const final
 
int get_backprop_requirements () const final
 
template<typename ArchiveT >
void serialize (ArchiveT &ar)
 
DataT get_value ()
 
DataT get_epsilon ()
 
bool is_true_case_constant ()
 
bool is_false_case_constant ()
 
DataT get_constant_true_case ()
 
DataT get_constant_false_case ()
 
- Public Member Functions inherited from lbann::Cloneable< SelectOperator< DataT, D >, ElementwiseOperator< DataT, DataT, D > >
std::unique_ptr< SelectOperator< DataT, D > > clone () const
 Return an exception-safe, memory-safe copy of this object. More...
 

Private Types

using BaseType = Cloneable< SelectOperator< DataT, D >, ElementwiseOperator< DataT, DataT, D > >
 
using LocalInputTensorType = typename BaseType::LocalInputTensorType
 
using LocalOutputTensorType = typename BaseType::LocalOutputTensorType
 
using ConstLocalInputTensorType = typename BaseType::ConstLocalInputTensorType
 
using ConstLocalOutputTensorType = typename BaseType::ConstLocalOutputTensorType
 

Private Member Functions

void fp_compute_local (std::vector< ConstLocalInputTensorType > inputs, std::vector< LocalOutputTensorType > outputs) const final
 
void bp_compute_local (std::vector< ConstLocalInputTensorType > inputs, std::vector< ConstLocalOutputTensorType > grads_wrt_outputs, std::vector< LocalInputTensorType > grads_wrt_inputs) const final
 
void set_proto_params (lbann_data::Operator &msg) const final
 
void do_fill_description (description &desc) const final
 

Private Attributes

DataT m_value
 
bool m_constant_if_true
 
bool m_constant_if_false
 
DataT m_value_if_true
 
DataT m_value_if_false
 
DataT m_epsilon
 

Detailed Description

template<typename DataT, El::Device D>
class lbann::SelectOperator< DataT, D >

Definition at line 46 of file select.hpp.

Member Typedef Documentation

◆ BaseType

template<typename DataT , El::Device D>
using lbann::SelectOperator< DataT, D >::BaseType = Cloneable<SelectOperator<DataT, D>, ElementwiseOperator<DataT, DataT, D> >
private

Definition at line 51 of file select.hpp.

◆ ConstLocalInputTensorType

template<typename DataT , El::Device D>
using lbann::SelectOperator< DataT, D >::ConstLocalInputTensorType = typename BaseType::ConstLocalInputTensorType
private

Definition at line 55 of file select.hpp.

◆ ConstLocalOutputTensorType

template<typename DataT , El::Device D>
using lbann::SelectOperator< DataT, D >::ConstLocalOutputTensorType = typename BaseType::ConstLocalOutputTensorType
private

Definition at line 57 of file select.hpp.

◆ LocalInputTensorType

template<typename DataT , El::Device D>
using lbann::SelectOperator< DataT, D >::LocalInputTensorType = typename BaseType::LocalInputTensorType
private

Definition at line 52 of file select.hpp.

◆ LocalOutputTensorType

template<typename DataT , El::Device D>
using lbann::SelectOperator< DataT, D >::LocalOutputTensorType = typename BaseType::LocalOutputTensorType
private

Definition at line 53 of file select.hpp.

Constructor & Destructor Documentation

◆ SelectOperator() [1/3]

template<typename DataT , El::Device D>
lbann::SelectOperator< DataT, D >::SelectOperator ( double  value = 0.,
bool  constant_if_true = false,
bool  constant_if_false = false,
double  value_if_true = 0.,
double  value_if_false = 0.,
double  epsilon = 1e-5 
)
inline

Definition at line 60 of file select.hpp.

Here is the call graph for this function:

◆ SelectOperator() [2/3]

template<typename DataT , El::Device D>
lbann::SelectOperator< DataT, D >::SelectOperator ( SelectOperator< DataT, D > &&  )
default

◆ SelectOperator() [3/3]

template<typename DataT , El::Device D>
lbann::SelectOperator< DataT, D >::SelectOperator ( SelectOperator< DataT, D > const &  )
default

◆ ~SelectOperator()

template<typename DataT , El::Device D>
lbann::SelectOperator< DataT, D >::~SelectOperator ( )
default
Here is the caller graph for this function:

Member Function Documentation

◆ bp_compute_local()

template<typename DataT , El::Device D>
void lbann::SelectOperator< DataT, D >::bp_compute_local ( std::vector< ConstLocalInputTensorType inputs,
std::vector< ConstLocalOutputTensorType grads_wrt_outputs,
std::vector< LocalInputTensorType grads_wrt_inputs 
) const
finalprivate
Here is the caller graph for this function:

◆ do_fill_description()

template<typename DataT , El::Device D>
void lbann::SelectOperator< DataT, D >::do_fill_description ( description desc) const
inlinefinalprivate

Definition at line 122 of file select.hpp.

◆ fp_compute_local()

template<typename DataT , El::Device D>
void lbann::SelectOperator< DataT, D >::fp_compute_local ( std::vector< ConstLocalInputTensorType inputs,
std::vector< LocalOutputTensorType outputs 
) const
finalprivate
Here is the caller graph for this function:

◆ get_backprop_requirements()

template<typename DataT , El::Device D>
int lbann::SelectOperator< DataT, D >::get_backprop_requirements ( ) const
inlinefinal

Definition at line 79 of file select.hpp.

◆ get_constant_false_case()

template<typename DataT , El::Device D>
DataT lbann::SelectOperator< DataT, D >::get_constant_false_case ( )
inline

Definition at line 102 of file select.hpp.

Here is the call graph for this function:

◆ get_constant_true_case()

template<typename DataT , El::Device D>
DataT lbann::SelectOperator< DataT, D >::get_constant_true_case ( )
inline

Definition at line 101 of file select.hpp.

◆ get_epsilon()

template<typename DataT , El::Device D>
DataT lbann::SelectOperator< DataT, D >::get_epsilon ( )
inline

Definition at line 98 of file select.hpp.

◆ get_type()

template<typename DataT , El::Device D>
std::string lbann::SelectOperator< DataT, D >::get_type ( ) const
inlinefinal

Definition at line 78 of file select.hpp.

◆ get_value()

template<typename DataT , El::Device D>
DataT lbann::SelectOperator< DataT, D >::get_value ( )
inline

Definition at line 97 of file select.hpp.

◆ is_false_case_constant()

template<typename DataT , El::Device D>
bool lbann::SelectOperator< DataT, D >::is_false_case_constant ( )
inline

Definition at line 100 of file select.hpp.

◆ is_true_case_constant()

template<typename DataT , El::Device D>
bool lbann::SelectOperator< DataT, D >::is_true_case_constant ( )
inline

Definition at line 99 of file select.hpp.

◆ operator=() [1/2]

template<typename DataT , El::Device D>
SelectOperator& lbann::SelectOperator< DataT, D >::operator= ( SelectOperator< DataT, D > &&  )
default
Here is the caller graph for this function:

◆ operator=() [2/2]

template<typename DataT , El::Device D>
SelectOperator& lbann::SelectOperator< DataT, D >::operator= ( SelectOperator< DataT, D > const &  )
default

◆ serialize()

template<typename DataT , El::Device D>
template<typename ArchiveT >
void lbann::SelectOperator< DataT, D >::serialize ( ArchiveT &  ar)
inline

Definition at line 84 of file select.hpp.

◆ set_proto_params()

template<typename DataT , El::Device D>
void lbann::SelectOperator< DataT, D >::set_proto_params ( lbann_data::Operator &  msg) const
inlinefinalprivate

Definition at line 111 of file select.hpp.

Member Data Documentation

◆ m_constant_if_false

template<typename DataT , El::Device D>
bool lbann::SelectOperator< DataT, D >::m_constant_if_false
private

Definition at line 148 of file select.hpp.

◆ m_constant_if_true

template<typename DataT , El::Device D>
bool lbann::SelectOperator< DataT, D >::m_constant_if_true
private

Definition at line 148 of file select.hpp.

◆ m_epsilon

template<typename DataT , El::Device D>
DataT lbann::SelectOperator< DataT, D >::m_epsilon
private

Definition at line 149 of file select.hpp.

◆ m_value

template<typename DataT , El::Device D>
DataT lbann::SelectOperator< DataT, D >::m_value
private

Definition at line 147 of file select.hpp.

◆ m_value_if_false

template<typename DataT , El::Device D>
DataT lbann::SelectOperator< DataT, D >::m_value_if_false
private

Definition at line 149 of file select.hpp.

◆ m_value_if_true

template<typename DataT , El::Device D>
DataT lbann::SelectOperator< DataT, D >::m_value_if_true
private

Definition at line 149 of file select.hpp.


The documentation for this class was generated from the following file: