| 
    BlackCat_Tensors
    
   A GPU-supported autograd and linear algebra library, designed for neural network construction 
   | 
 
#include <layer_base.h>


Public Types | |
| using | value_type = typename InputTensorDescriptor::value_type | 
| using | system_tag = typename InputTensorDescriptor::system_tag | 
| using | allocator_type = typename InputTensorDescriptor::allocator_type | 
| using | input_tensor_dim = typename InputTensorDescriptor::tensor_dim | 
| using | shape_type = bc::Dim< input_tensor_dim::value > | 
| using | input_tensor_type = typename InputTensorDescriptor::type | 
| using | batched_input_tensor_type = typename InputTensorDescriptor::batched_type | 
| 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 | 
  Public Types inherited from bc::nn::Layer_Output_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 = 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 > | 
Static Public Member Functions | |
| static std::string | parse_classname (std::string classname) | 
Static Public Attributes | |
| static constexpr value_type | default_learning_rate = .01 | 
Protected Attributes | |
| shape_type | m_input_shape | 
| output_shape_type | m_output_shape | 
  Protected Attributes inherited from bc::nn::Layer_Input_Base< InputTensorDescriptor > | |
| prev_layer_type * | m_prev_layer | 
| input_shape_type | m_input_shape | 
  Protected Attributes inherited from bc::nn::Layer_Output_Base< OutputTensorDescriptor > | |
| next_layer_type * | m_next_layer = nullptr | 
| bc::Dim< output_tensor_dim::value > | m_output_shape | 
| using bc::nn::Layer_Base< DerivedLayer, InputTensorDescriptor, OutputTensorDescriptor >::allocator_type = typename InputTensorDescriptor::allocator_type | 
| using bc::nn::Layer_Base< DerivedLayer, InputTensorDescriptor, OutputTensorDescriptor >::batched_input_tensor_type = typename InputTensorDescriptor::batched_type | 
| using bc::nn::Layer_Base< DerivedLayer, InputTensorDescriptor, OutputTensorDescriptor >::batched_output_tensor_type = typename OutputTensorDescriptor::batched_type | 
| using bc::nn::Layer_Base< DerivedLayer, InputTensorDescriptor, OutputTensorDescriptor >::input_tensor_dim = typename InputTensorDescriptor::tensor_dim | 
| using bc::nn::Layer_Base< DerivedLayer, InputTensorDescriptor, OutputTensorDescriptor >::input_tensor_type = typename InputTensorDescriptor::type | 
| using bc::nn::Layer_Base< DerivedLayer, InputTensorDescriptor, OutputTensorDescriptor >::output_allocator_type = typename OutputTensorDescriptor::allocator_type | 
| using bc::nn::Layer_Base< DerivedLayer, InputTensorDescriptor, OutputTensorDescriptor >::output_shape_type = bc::Dim<output_tensor_dim::value> | 
| using bc::nn::Layer_Base< DerivedLayer, InputTensorDescriptor, OutputTensorDescriptor >::output_system_tag = typename OutputTensorDescriptor::system_tag | 
| using bc::nn::Layer_Base< DerivedLayer, InputTensorDescriptor, OutputTensorDescriptor >::output_tensor_dim = typename OutputTensorDescriptor::tensor_dim | 
| using bc::nn::Layer_Base< DerivedLayer, InputTensorDescriptor, OutputTensorDescriptor >::output_tensor_type = typename OutputTensorDescriptor::type | 
| using bc::nn::Layer_Base< DerivedLayer, InputTensorDescriptor, OutputTensorDescriptor >::output_value_type = typename OutputTensorDescriptor::value_type | 
| using bc::nn::Layer_Base< DerivedLayer, InputTensorDescriptor, OutputTensorDescriptor >::shape_type = bc::Dim<input_tensor_dim::value> | 
| using bc::nn::Layer_Base< DerivedLayer, InputTensorDescriptor, OutputTensorDescriptor >::system_tag = typename InputTensorDescriptor::system_tag | 
| using bc::nn::Layer_Base< DerivedLayer, InputTensorDescriptor, OutputTensorDescriptor >::value_type = typename InputTensorDescriptor::value_type | 
      
  | 
  inline | 
m_classname should be initialized by supplying __func__ to the first argument of the Layer_Base. 
parse_classname() will normalize the string as __func__ is compiler dependent. 
      
  | 
  inline | 
      
  | 
  inlinevirtual | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
Returns the derived_classes class namepse.
Note: Architecture dependent
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inlinevirtual | 
      
  | 
  inline | 
      
  | 
  inlinevirtual | 
      
  | 
  inline | 
      
  | 
  inlinevirtual | 
      
  | 
  inline | 
      
  | 
  inlinevirtual | 
Reimplemented in bc::nn::LSTM< SystemTag, ValueType, Optimizer, ForgetGateNonlinearity, WriteGateNonlinearity, InputGateNonlinearity, OutputGateNonlinearity, CellStateNonLinearity >, bc::nn::Convolution< SystemTag, ValueType, Optimizer >, bc::nn::Recurrent< SystemTag, ValueType, RecurrentNonLinearity >, and bc::nn::FeedForward< SystemTag, ValueType, Optimizer >.
      
  | 
  inlinevirtual | 
      
  | 
  inline | 
      
  | 
  inlinestatic | 
      
  | 
  inlinevirtual | 
Reimplemented in bc::nn::LSTM< SystemTag, ValueType, Optimizer, ForgetGateNonlinearity, WriteGateNonlinearity, InputGateNonlinearity, OutputGateNonlinearity, CellStateNonLinearity >, bc::nn::Convolution< SystemTag, ValueType, Optimizer >, bc::nn::Recurrent< SystemTag, ValueType, RecurrentNonLinearity >, and bc::nn::FeedForward< SystemTag, ValueType, Optimizer >.
      
  | 
  inlinevirtual | 
      
  | 
  inline | 
      
  | 
  inlinevirtual | 
      
  | 
  inline | 
      
  | 
  inlinevirtual | 
      
  | 
  inline | 
      
  | 
  static | 
      
  | 
  protected | 
      
  | 
  protected | 
 1.8.13