LBANN  0.103.0
LivermoreBigArtificialNeuralNetworkToolkit
lbann::PermuteLayer< T >::PermuteImpl< T > Class Template Reference

#include <permuteimpl.hpp>

Public Types

using MatType = El::Matrix< T, El::Device::GPU >
 
using DimsType = typename DeviceImplType::DimsType
 

Public Member Functions

 PermuteImpl (std::vector< int > const &perm_row_major)
 
 PermuteImpl (PermuteImpl const &other)=default
 
 PermuteImpl (PermuteImpl &&other)=default
 
std::vector< int > setup_dims (std::vector< int > const &input_dims)
 
void forward_prop (MatType const &prev_acts, MatType &acts) const
 
void backward_prop (MatType const &grad_wrt_out, MatType &grad_wrt_in)
 
std::vector< int > get_perm () const
 
std::string describe_perm () const
 
void swap (PermuteImpl &other)
 
template<typename ArchiveT >
void save (ArchiveT &ar) const
 
template<typename ArchiveT >
void load (ArchiveT &ar)
 

Static Public Member Functions

template<typename ArchiveT >
static void load_and_construct (ArchiveT &ar, cereal::construct< PermuteLayer< T >::PermuteImpl > &construct)
 

Private Attributes

DeviceImplType m_device_impl
 

Detailed Description

template<typename T>
template<typename T>
class lbann::PermuteLayer< T >::PermuteImpl< T >

Definition at line 46 of file permuteimpl.hpp.

Member Typedef Documentation

◆ DimsType

template<typename T >
template<typename T >
using lbann::PermuteLayer< T >::PermuteImpl< T >::DimsType = typename DeviceImplType::DimsType

Definition at line 55 of file permuteimpl.hpp.

◆ MatType

template<typename T >
template<typename T >
using lbann::PermuteLayer< T >::PermuteImpl< T >::MatType = El::Matrix<T, El::Device::GPU>

Definition at line 54 of file permuteimpl.hpp.

Constructor & Destructor Documentation

◆ PermuteImpl() [1/3]

template<typename T >
template<typename T >
lbann::PermuteLayer< T >::PermuteImpl< T >::PermuteImpl ( std::vector< int > const &  perm_row_major)

◆ PermuteImpl() [2/3]

template<typename T >
template<typename T >
lbann::PermuteLayer< T >::PermuteImpl< T >::PermuteImpl ( PermuteImpl< T > const &  other)
default

◆ PermuteImpl() [3/3]

template<typename T >
template<typename T >
lbann::PermuteLayer< T >::PermuteImpl< T >::PermuteImpl ( PermuteImpl< T > &&  other)
default

Member Function Documentation

◆ backward_prop()

template<typename T >
template<typename T >
void lbann::PermuteLayer< T >::PermuteImpl< T >::backward_prop ( MatType const &  grad_wrt_out,
MatType grad_wrt_in 
)

◆ describe_perm()

template<typename T >
template<typename T >
std::string lbann::PermuteLayer< T >::PermuteImpl< T >::describe_perm ( ) const

◆ forward_prop()

template<typename T >
template<typename T >
void lbann::PermuteLayer< T >::PermuteImpl< T >::forward_prop ( MatType const &  prev_acts,
MatType acts 
) const

◆ get_perm()

template<typename T >
template<typename T >
std::vector<int> lbann::PermuteLayer< T >::PermuteImpl< T >::get_perm ( ) const

◆ load()

template<typename T >
template<typename T >
template<typename ArchiveT >
void lbann::PermuteLayer< T >::PermuteImpl< T >::load ( ArchiveT &  ar)

◆ load_and_construct()

template<typename T >
template<typename T >
template<typename ArchiveT >
static void lbann::PermuteLayer< T >::PermuteImpl< T >::load_and_construct ( ArchiveT &  ar,
cereal::construct< PermuteLayer< T >::PermuteImpl< T > > &  construct 
)
static

◆ save()

template<typename T >
template<typename T >
template<typename ArchiveT >
void lbann::PermuteLayer< T >::PermuteImpl< T >::save ( ArchiveT &  ar) const

◆ setup_dims()

template<typename T >
template<typename T >
std::vector<int> lbann::PermuteLayer< T >::PermuteImpl< T >::setup_dims ( std::vector< int > const &  input_dims)

◆ swap()

template<typename T >
template<typename T >
void lbann::PermuteLayer< T >::PermuteImpl< T >::swap ( PermuteImpl< T > &  other)

Member Data Documentation

◆ m_device_impl

template<typename T >
template<typename T >
DeviceImplType lbann::PermuteLayer< T >::PermuteImpl< T >::m_device_impl
private

Definition at line 90 of file permuteimpl.hpp.


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