|  | 
| using | system_tag = SystemTag | 
|  | 
| using | value_type = ValueType | 
|  | 
| using | input_descriptor_t = Tensor_Descriptor< ValueType, SystemTag, Integer< 1 > > | 
|  | 
| using | parent_type = Layer_Base< SoftMax< SystemTag, ValueType >, input_descriptor_t > | 
|  | 
| using | mat = bc::Matrix< ValueType, bc::Allocator< ValueType, SystemTag > > | 
|  | 
| using | vec = bc::Vector< ValueType, bc::Allocator< ValueType, SystemTag > > | 
|  | 
| using | value_type = typename Tensor_Descriptor< ValueType, SystemTag, Integer< 1 > > ::value_type | 
|  | 
| using | system_tag = typename Tensor_Descriptor< ValueType, SystemTag, Integer< 1 > > ::system_tag | 
|  | 
| using | allocator_type = typename Tensor_Descriptor< ValueType, SystemTag, Integer< 1 > > ::allocator_type | 
|  | 
| using | input_tensor_dim = typename Tensor_Descriptor< ValueType, SystemTag, Integer< 1 > > ::tensor_dim | 
|  | 
| using | shape_type = bc::Dim< input_tensor_dim::value > | 
|  | 
| using | input_tensor_type = typename Tensor_Descriptor< ValueType, SystemTag, Integer< 1 > > ::type | 
|  | 
| using | batched_input_tensor_type = typename Tensor_Descriptor< ValueType, SystemTag, Integer< 1 > > ::batched_type | 
|  | 
| using | output_value_type = typename Tensor_Descriptor< ValueType, SystemTag, Integer< 1 > > ::value_type | 
|  | 
| using | output_system_tag = typename Tensor_Descriptor< ValueType, SystemTag, Integer< 1 > > ::system_tag | 
|  | 
| using | output_allocator_type = typename Tensor_Descriptor< ValueType, SystemTag, Integer< 1 > > ::allocator_type | 
|  | 
| using | output_tensor_dim = typename Tensor_Descriptor< ValueType, SystemTag, Integer< 1 > > ::tensor_dim | 
|  | 
| using | output_shape_type = bc::Dim< output_tensor_dim::value > | 
|  | 
| using | output_tensor_type = typename Tensor_Descriptor< ValueType, SystemTag, Integer< 1 > > ::type | 
|  | 
| using | batched_output_tensor_type = typename Tensor_Descriptor< ValueType, SystemTag, Integer< 1 > > ::batched_type | 
|  | 
| using | output_value_type = typename Tensor_Descriptor< ValueType, SystemTag, Integer< 1 > > ::value_type | 
|  | 
| using | output_value_type = typename Tensor_Descriptor< ValueType, SystemTag, Integer< 1 > > ::value_type | 
|  | 
| using | output_system_tag = typename Tensor_Descriptor< ValueType, SystemTag, Integer< 1 > > ::system_tag | 
|  | 
| using | output_system_tag = typename Tensor_Descriptor< ValueType, SystemTag, Integer< 1 > > ::system_tag | 
|  | 
| using | output_allocator_type = typename Tensor_Descriptor< ValueType, SystemTag, Integer< 1 > > ::allocator_type | 
|  | 
| using | output_allocator_type = typename Tensor_Descriptor< ValueType, SystemTag, Integer< 1 > > ::allocator_type | 
|  | 
| using | output_tensor_dim = typename Tensor_Descriptor< ValueType, SystemTag, Integer< 1 > > ::tensor_dim | 
|  | 
| using | output_tensor_dim = typename Tensor_Descriptor< ValueType, SystemTag, Integer< 1 > > ::tensor_dim | 
|  | 
| using | output_shape_type = bc::Dim< output_tensor_dim::value > | 
|  | 
| using | output_shape_type = typename Tensor_Descriptor< ValueType, SystemTag, Integer< 1 > > ::shape_type | 
|  | 
| using | output_tensor_type = typename Tensor_Descriptor< ValueType, SystemTag, Integer< 1 > > ::type | 
|  | 
| using | output_tensor_type = typename Tensor_Descriptor< ValueType, SystemTag, Integer< 1 > > ::tensor_type | 
|  | 
| using | batched_output_tensor_type = typename Tensor_Descriptor< ValueType, SystemTag, Integer< 1 > > ::batched_type | 
|  | 
| using | batched_output_tensor_type = typename Tensor_Descriptor< ValueType, SystemTag, Integer< 1 > > ::batched_type | 
|  | 
| using | next_layer_type = Layer_Input_Base< Tensor_Descriptor< ValueType, SystemTag, Integer< 1 > > > | 
|  | 
| using | next_layer_type = Layer_Input_Base< Tensor_Descriptor< ValueType, SystemTag, Integer< 1 > > > | 
|  | 
|  | 
|  | SoftMax (int inputs) | 
|  | 
| template<class Allocator > | 
| const auto & | forward_propagation (const bc::Matrix< value_type, Allocator > &x) | 
|  | 
| template<class Allocator > | 
| auto | forward_propagation (const bc::Vector< value_type, Allocator > &x) | 
|  | 
| template<class X , class Matrix > | 
| auto | back_propagation (const X &x, const Matrix &dy) | 
|  | 
| virtual void | set_batch_size_hook (int bs) override | 
|  | 
|  | Layer_Base (std::string classname, shape_type input_shape, output_shape_type output_shape) | 
|  | m_classname should be initialized by supplying __func__to the first argument of the Layer_Base.  More...
 | 
|  | 
|  | Layer_Base (std::string classname, shape_type input_shape) | 
|  | 
| virtual | ~Layer_Base () | 
|  | 
| virtual output_shape_type | get_output_shape () const | 
|  | 
| virtual shape_type | get_input_shape () const | 
|  | 
| auto | get_batched_input_shape () const | 
|  | 
| auto | get_batched_output_shape () const | 
|  | 
| bc::size_t | input_size () const | 
|  | 
| bc::size_t | output_size () const | 
|  | 
| bc::size_t | batch_size () const | 
|  | 
| bc::size_t | batched_input_size () const | 
|  | 
| bc::size_t | batched_output_size () const | 
|  | 
| void | set_batch_size (int batch_size) | 
|  | 
| void | set_learning_rate (value_type learning_rate) | 
|  | 
| virtual void | set_learning_rate_hook (value_type learning_rate) | 
|  | 
| auto | get_learning_rate () const | 
|  | 
| auto | get_batched_learning_rate () const | 
|  | 
| virtual void | save (Layer_Loader &) const | 
|  | 
| virtual void | save_from_cache (Layer_Loader &, const Cache &) const | 
|  | 
| virtual void | load (Layer_Loader &) | 
|  | 
| virtual void | load_to_cache (Layer_Loader &, const Cache &) | 
|  | 
| void | copy_training_data_to_single_predict (Cache &, int batch_index) | 
|  | 
| void | update_weights () | 
|  | 
| void | clear_bp_storage (Cache &) | 
|  | 
| const std::string & | classname () const | 
|  | Returns the derived_classes class namepse.  More... 
 | 
|  | 
| std::string | get_string_architecture () const | 
|  | 
| virtual std::string | get_string_architecture_hook () const | 
|  | 
| auto | default_input_tensor_factory () const | 
|  | 
| auto | default_output_tensor_factory () const | 
|  | 
| auto | default_batched_input_tensor_factory () const | 
|  | 
| auto | default_batched_output_tensor_factory () const | 
|  | 
| void | set_prev (prev_layer_type &prev) | 
|  | 
| void | set_prev (prev_layer_type &prev) | 
|  | 
| input_shape_type | input_shape () const | 
|  | 
| input_shape_type | input_shape () const | 
|  | 
| const prev_layer_type & | prev_layer () const | 
|  | 
| prev_layer_type & | prev_layer () | 
|  | 
| const prev_layer_type & | prev_layer () const | 
|  | 
| prev_layer_type & | prev_layer () | 
|  | 
| virtual | ~Layer_Input_Base () | 
|  | 
| virtual | ~Layer_Input_Base () | 
|  | 
| void | set_next (next_layer_type &next) | 
|  | 
| void | set_next (next_layer_type &next) | 
|  | 
| output_shape_type | output_shape () const | 
|  | 
| output_shape_type | output_shape () const | 
|  | 
| const next_layer_type & | next_layer () const | 
|  | 
| next_layer_type & | next_layer () | 
|  | 
| const next_layer_type & | next_layer () const | 
|  | 
| next_layer_type & | next_layer () | 
|  | 
| virtual | ~Layer_Output_Base () | 
|  | 
| virtual | ~Layer_Output_Base () | 
|  |