1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
//! Regularization layers
//!
//! Re-exports the 3 families of regularization layers, plus a private `validation` submodule
//! of parameter and input-shape checks shared across the layers.
//!
//! The families are:
//! - dropout: [`Dropout`] and the spatial variants [`SpatialDropout1D`], [`SpatialDropout2D`], and
//! [`SpatialDropout3D`]
//! - noise injection: [`GaussianNoise`] and [`GaussianDropout`]
//! - normalization: [`BatchNormalization`], [`LayerNormalization`], [`GroupNormalization`],
//! [`InstanceNormalization`], and [`UnitNormalization`]
//!
//! Every dropout layer, every noise layer, and `BatchNormalization` change what forward computes
//! between training and inference. `LayerNormalization`, `GroupNormalization`,
//! `InstanceNormalization`, and `UnitNormalization` give the same output either way. Group and
//! instance normalization compute statistics per sample. Layer and unit normalization use the
//! configured axes, which can include the batch axis. The [`Ctx`] training flag selects the mode
//! for layers whose behavior depends on it
//!
//! [`Dropout`]: crate::neural_network::layers::Dropout
//! [`SpatialDropout1D`]: crate::neural_network::layers::SpatialDropout1D
//! [`SpatialDropout2D`]: crate::neural_network::layers::SpatialDropout2D
//! [`SpatialDropout3D`]: crate::neural_network::layers::SpatialDropout3D
//! [`GaussianNoise`]: crate::neural_network::layers::GaussianNoise
//! [`GaussianDropout`]: crate::neural_network::layers::GaussianDropout
//! [`BatchNormalization`]: crate::neural_network::layers::BatchNormalization
//! [`LayerNormalization`]: crate::neural_network::layers::LayerNormalization
//! [`GroupNormalization`]: crate::neural_network::layers::GroupNormalization
//! [`InstanceNormalization`]: crate::neural_network::layers::InstanceNormalization
//! [`UnitNormalization`]: crate::neural_network::layers::UnitNormalization
//! [`Ctx`]: crate::neural_network::Ctx
//! [`Ctx::is_training`]: crate::neural_network::Ctx::is_training
/// Dropout layers for neural networks
/// Noise injection layers for neural networks
/// Normalization layers for neural networks
/// Input validation functions for regularization layers
pub use *;
pub use *;
pub use *;