concision_core/init/
mod.rs

1/*
2    Appellation: init <module>
3    Contrib: FL03 <jo3mccain@icloud.com>
4*/
5//! # Initialization
6//!
7//! This module implements several initialization primitives for generating tensors using
8//! various distributions and strategies. The module is designed to be used in conjuction with
9//! the `rand` and `rand_distr` libraries. While `ndarray_rand` provides a `RandomExt` trait,
10//! we provide an alternative [Initialize] trait which is designed to be more flexible and
11//! better suited for machine-learning workloads.
12#![cfg(feature = "rand")]
13
14pub use self::distr::prelude::*;
15pub use self::traits::*;
16pub use self::utils::*;
17
18pub(crate) mod traits;
19pub(crate) mod utils;
20
21pub mod initializer;
22
23pub mod distr {
24    pub use self::prelude::*;
25
26    pub mod lecun;
27    pub mod trunc;
28    pub mod xavier;
29
30    pub(crate) mod prelude {
31        pub use super::lecun::*;
32        pub use super::trunc::*;
33        pub use super::xavier::*;
34    }
35}
36
37#[doc(no_inline)]
38pub use ndarray_rand as ndrand;
39#[doc(no_inline)]
40pub use rand;
41#[doc(no_inline)]
42pub use rand_distr;
43
44pub(crate) mod prelude {
45    pub use super::distr::prelude::*;
46    pub use super::traits::{Initialize, InitializeExt};
47    pub use super::utils::*;
48}