Crate concision_neural

Source
Expand description

§concision-neural (cnc::neural)

The neural network abstractions used to create and train models.

§Features

  • Model: A trait for defining a neural network model.
  • ModelParams: A structure for storing the parameters of a neural network model.
  • StandardModelConfig: A standard configuration for the models
  • Predict: A trait extending the basic Forward pass
  • Train: A trait for training a neural network model.

§Work in Progress

Modules§

error
layers
This module implments various layers for a neural network
model
This module provides the scaffolding for creating models and layers in a neural network.
prelude
traits
types
utils
Utilities for neural networks.

Structs§

Dropout
The Dropout layer is randomly zeroizes inputs with a given probability (p). This regularization technique is often used to prevent overfitting.
HyperparametersIter
An iterator over the variants of Hyperparameters
KeyValue
LayerBase
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.
ModelParamsBase
This object is an abstraction over the parameters of a deep neural network model. This is done to isolate the necessary parameters from the specific logic within a model allowing us to easily create additional stores for tracking velocities, gradients, and other metrics we may need.
StandardModelConfig
Trainer

Enums§

Hyperparameters
NeuralError
TrainingError

Traits§

Layer
A layer within a neural-network containing a set of parameters and an activation function. Here, this manifests as a wrapper around the parameters of the layer with a generic activation function and corresponding traits to denote desired behaviors.
Model
The base interface for all models; each model provides access to a configuration object defined as the associated type Config. The configuration object is used to provide hyperparameters and other control related parameters. In addition, the model’s layout is defined by the features method which aptly returns a copy of its ModelFeatures object.
ModelExt
ModelLayout
NetworkConfig
Predict
Predict isn’t designed to be implemented directly, rather, as a blanket impl for any entity that implements the Forward trait. This is primarily used to define the base functionality of the Model trait.
PredictWithConfidence
This trait extends the Predict trait to include a confidence score for the prediction. The confidence score is calculated as the inverse of the variance of the output.
Train
This trait defines the training process for the network
TrainingConfiguration

Type Aliases§

ModelParams
NeuralResult
a type alias for a Result with a NeuralError