BlackCat_Tensors
A GPU-supported autograd and linear algebra library, designed for neural network construction
Public Types | Public Member Functions | Protected Attributes | List of all members
bc::nn::Layer_Output_Base< OutputTensorDescriptor > Struct Template Reference

#include <layer_base.h>

Inheritance diagram for bc::nn::Layer_Output_Base< OutputTensorDescriptor >:
Inheritance graph
[legend]
Collaboration diagram for bc::nn::Layer_Output_Base< OutputTensorDescriptor >:
Collaboration graph
[legend]

Public Types

using output_value_type = typename OutputTensorDescriptor::value_type
 
using output_system_tag = typename OutputTensorDescriptor::system_tag
 
using output_allocator_type = typename OutputTensorDescriptor::allocator_type
 
using output_tensor_dim = typename OutputTensorDescriptor::tensor_dim
 
using output_shape_type = bc::Dim< output_tensor_dim::value >
 
using output_tensor_type = typename OutputTensorDescriptor::type
 
using batched_output_tensor_type = typename OutputTensorDescriptor::batched_type
 
using next_layer_type = Layer_Input_Base< OutputTensorDescriptor >
 
using output_value_type = typename OutputTensorDescriptor::value_type
 
using output_system_tag = typename OutputTensorDescriptor::system_tag
 
using output_allocator_type = typename OutputTensorDescriptor::allocator_type
 
using output_tensor_dim = typename OutputTensorDescriptor::tensor_dim
 
using output_shape_type = typename OutputTensorDescriptor::shape_type
 
using output_tensor_type = typename OutputTensorDescriptor::tensor_type
 
using batched_output_tensor_type = typename OutputTensorDescriptor::batched_type
 
using next_layer_type = Layer_Input_Base< OutputTensorDescriptor >
 

Public Member Functions

void set_next (next_layer_type &next)
 
output_shape_type output_shape () const
 
const next_layer_typenext_layer () const
 
next_layer_typenext_layer ()
 
virtual ~Layer_Output_Base ()
 
void set_next (next_layer_type &next)
 
output_shape_type output_shape () const
 
const next_layer_typenext_layer () const
 
next_layer_typenext_layer ()
 
virtual ~Layer_Output_Base ()
 

Protected Attributes

next_layer_typem_next_layer = nullptr
 
bc::Dim< output_tensor_dim::value > m_output_shape
 

Member Typedef Documentation

◆ batched_output_tensor_type [1/2]

template<class OutputTensorDescriptor>
using bc::nn::Layer_Output_Base< OutputTensorDescriptor >::batched_output_tensor_type = typename OutputTensorDescriptor::batched_type

◆ batched_output_tensor_type [2/2]

template<class OutputTensorDescriptor>
using bc::nn::Layer_Output_Base< OutputTensorDescriptor >::batched_output_tensor_type = typename OutputTensorDescriptor::batched_type

◆ next_layer_type [1/2]

template<class OutputTensorDescriptor>
using bc::nn::Layer_Output_Base< OutputTensorDescriptor >::next_layer_type = Layer_Input_Base<OutputTensorDescriptor>

◆ next_layer_type [2/2]

template<class OutputTensorDescriptor>
using bc::nn::Layer_Output_Base< OutputTensorDescriptor >::next_layer_type = Layer_Input_Base<OutputTensorDescriptor>

◆ output_allocator_type [1/2]

template<class OutputTensorDescriptor>
using bc::nn::Layer_Output_Base< OutputTensorDescriptor >::output_allocator_type = typename OutputTensorDescriptor::allocator_type

◆ output_allocator_type [2/2]

template<class OutputTensorDescriptor>
using bc::nn::Layer_Output_Base< OutputTensorDescriptor >::output_allocator_type = typename OutputTensorDescriptor::allocator_type

◆ output_shape_type [1/2]

template<class OutputTensorDescriptor>
using bc::nn::Layer_Output_Base< OutputTensorDescriptor >::output_shape_type = typename OutputTensorDescriptor::shape_type

◆ output_shape_type [2/2]

template<class OutputTensorDescriptor>
using bc::nn::Layer_Output_Base< OutputTensorDescriptor >::output_shape_type = bc::Dim<output_tensor_dim::value>

◆ output_system_tag [1/2]

template<class OutputTensorDescriptor>
using bc::nn::Layer_Output_Base< OutputTensorDescriptor >::output_system_tag = typename OutputTensorDescriptor::system_tag

◆ output_system_tag [2/2]

template<class OutputTensorDescriptor>
using bc::nn::Layer_Output_Base< OutputTensorDescriptor >::output_system_tag = typename OutputTensorDescriptor::system_tag

◆ output_tensor_dim [1/2]

template<class OutputTensorDescriptor>
using bc::nn::Layer_Output_Base< OutputTensorDescriptor >::output_tensor_dim = typename OutputTensorDescriptor::tensor_dim

◆ output_tensor_dim [2/2]

template<class OutputTensorDescriptor>
using bc::nn::Layer_Output_Base< OutputTensorDescriptor >::output_tensor_dim = typename OutputTensorDescriptor::tensor_dim

◆ output_tensor_type [1/2]

template<class OutputTensorDescriptor>
using bc::nn::Layer_Output_Base< OutputTensorDescriptor >::output_tensor_type = typename OutputTensorDescriptor::tensor_type

◆ output_tensor_type [2/2]

template<class OutputTensorDescriptor>
using bc::nn::Layer_Output_Base< OutputTensorDescriptor >::output_tensor_type = typename OutputTensorDescriptor::type

◆ output_value_type [1/2]

template<class OutputTensorDescriptor>
using bc::nn::Layer_Output_Base< OutputTensorDescriptor >::output_value_type = typename OutputTensorDescriptor::value_type

◆ output_value_type [2/2]

template<class OutputTensorDescriptor>
using bc::nn::Layer_Output_Base< OutputTensorDescriptor >::output_value_type = typename OutputTensorDescriptor::value_type

Constructor & Destructor Documentation

◆ ~Layer_Output_Base() [1/2]

template<class OutputTensorDescriptor>
virtual bc::nn::Layer_Output_Base< OutputTensorDescriptor >::~Layer_Output_Base ( )
inlinevirtual

◆ ~Layer_Output_Base() [2/2]

template<class OutputTensorDescriptor>
virtual bc::nn::Layer_Output_Base< OutputTensorDescriptor >::~Layer_Output_Base ( )
inlinevirtual

Member Function Documentation

◆ next_layer() [1/4]

template<class OutputTensorDescriptor>
const next_layer_type& bc::nn::Layer_Output_Base< OutputTensorDescriptor >::next_layer ( ) const
inline

◆ next_layer() [2/4]

template<class OutputTensorDescriptor>
next_layer_type& bc::nn::Layer_Output_Base< OutputTensorDescriptor >::next_layer ( )
inline

◆ next_layer() [3/4]

template<class OutputTensorDescriptor>
const next_layer_type& bc::nn::Layer_Output_Base< OutputTensorDescriptor >::next_layer ( ) const
inline

◆ next_layer() [4/4]

template<class OutputTensorDescriptor>
next_layer_type& bc::nn::Layer_Output_Base< OutputTensorDescriptor >::next_layer ( )
inline

◆ output_shape() [1/2]

template<class OutputTensorDescriptor>
output_shape_type bc::nn::Layer_Output_Base< OutputTensorDescriptor >::output_shape ( ) const
inline

◆ output_shape() [2/2]

template<class OutputTensorDescriptor>
output_shape_type bc::nn::Layer_Output_Base< OutputTensorDescriptor >::output_shape ( ) const
inline

◆ set_next() [1/2]

template<class OutputTensorDescriptor>
void bc::nn::Layer_Output_Base< OutputTensorDescriptor >::set_next ( next_layer_type next)
inline

◆ set_next() [2/2]

template<class OutputTensorDescriptor>
void bc::nn::Layer_Output_Base< OutputTensorDescriptor >::set_next ( next_layer_type next)
inline

Member Data Documentation

◆ m_next_layer

template<class OutputTensorDescriptor>
next_layer_type * bc::nn::Layer_Output_Base< OutputTensorDescriptor >::m_next_layer = nullptr
protected

◆ m_output_shape

template<class OutputTensorDescriptor>
bc::Dim< output_tensor_dim::value > bc::nn::Layer_Output_Base< OutputTensorDescriptor >::m_output_shape
protected

The documentation for this struct was generated from the following files: