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 |
![]() | |
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 |
![]() | |
prev_layer_type * | m_prev_layer |
input_shape_type | m_input_shape |
![]() | |
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 |