Module models

Module models 

Source
Expand description

this module works to provide a common interface for storing sets of parameters within a given model. The ModelParamsBase implementation generically captures the behavior of parameter storage, relying on the ParamsBase instance to represent individual layers within the network.

Modules§

layout
model_params

Structs§

DeepNeuralNetworkStore
ModelFeatures
The ModelFeatures provides a common way of defining the layout of a model. This is used to define the number of input features, the number of hidden layers, the number of hidden features, and the number of output features.
ModelLayout
In contrast to the ModelFeatures type, the ModelLayout implementation aims to provide a generic foundation for using type-based features / layouts within neural network. Our goal with this struct is to eventually push the implementation to the point of being able to sufficiently describe everything about a model’s layout (similar to what the ndarray developers have attained with the LayoutRef).
ModelParamsBase
The ModelParamsBase object is a generic container for storing the parameters of a neural network, regardless of the layout (e.g. shallow or deep). This is made possible through the introduction of a generic hidden layer type, H, that allows us to define aliases and additional traits for contraining the hidden layer type. Additionally, the structure enables the introduction of common accessors and initialization routines.

Enums§

Deep
ModelFormat
The ModelFormat type enumerates the various formats a neural network may take, either shallow or deep, providing a unified interface for accessing the number of hidden features and layers in the model. This is primarily used to generalize the allowed formats of a neural network without introducing any additional complexity with typing or other constructs.
Shallow

Traits§

DeepModelRepr
The DeepModelRepr trait for deep neural networks
IntoModelFeatures
A trait that consumes the caller to create a new instance of ModelFeatures object.
LayoutExt
The LayoutExt trait defines an interface for object capable of representing the layout; i.e. the number of input, hidden, and output features of a neural network model containing some number of hidden layers.
NetworkDepth
The NetworkDepth trait is used to define the depth/kind of a neural network model.
RawHidden
The RawHidden trait for compatible representations of hidden layers
RawModelLayout
The RawModelLayout trait defines a minimal interface for objects capable of representing the layout; i.e. the number of input, hidden, and output features of a neural network model containing some number of hidden layers.
RawModelLayoutMut
The RawModelLayoutMut trait defines a mutable interface for objects capable of representing the layout; i.e. the number of input, hidden, and output features of
ShallowModelRepr
The ShallowModelRepr trait for shallow neural networks

Type Aliases§

DeepModelParams
a type alias for an owned representation of the DeepParamsBase generic of type A and the dimension D.
DeepParamsBase
a type alias for a deep representation of the ModelParamsBase using a vector of parameters as the hidden layers.
ModelParams
A type alias for an owned representation of the ModelParamsBase generic of type A and the dimension D.
ShallowModelParams
a type alias for an owned representation of the DeepParamsBase generic of type A and the dimension D.
ShallowParamsBase
a type alias for a shallow representation of the ModelParamsBase using a single ParamsBase instance as the hidden layer.