concision_core/
lib.rs

1/*
2    Appellation: concision-core <library>
3    Contrib: @FL03
4*/
5//! This library provides the core abstractions and utilities for the Concision framework.
6//!
7//! ## Features
8//! 
9//! - [ParamsBase]: A structure for defining the parameters within a neural network.
10//! - [Backward]: This trait denotes a single backward pass through a layer of a neural network.
11//! - [Forward]: This trait denotes a single forward pass through a layer of a neural network.
12//! 
13#![crate_name = "concision_core"]
14#![crate_type = "lib"]
15
16#[doc(inline)]
17pub use concision_math as math;
18
19#[doc(inline)]
20pub use self::{
21    activate::prelude::*, error::*, ops::prelude::*, params::prelude::*, traits::prelude::*,
22    utils::prelude::*,
23};
24
25#[allow(unused)]
26#[macro_use]
27pub(crate) mod macros;
28#[allow(unused)]
29#[macro_use]
30pub(crate) mod seal;
31
32pub mod activate;
33pub mod data;
34pub mod error;
35pub mod init;
36pub mod params;
37
38pub mod ops {
39    #[doc(inline)]
40    pub use self::prelude::*;
41
42    pub mod fill;
43    pub mod pad;
44    pub mod reshape;
45    pub mod tensor;
46
47    pub(crate) mod prelude {
48        #[doc(inline)]
49        pub use super::fill::*;
50        #[doc(inline)]
51        pub use super::pad::*;
52        #[doc(inline)]
53        pub use super::reshape::*;
54        #[doc(inline)]
55        pub use super::tensor::*;
56    }
57}
58pub mod traits {
59    #[doc(inline)]
60    pub use self::prelude::*;
61
62    pub mod clip;
63    pub mod create;
64    pub mod init;
65    pub mod loss;
66    pub mod mask;
67    pub mod norm;
68    pub mod predict;
69    pub mod train;
70
71    pub(crate) mod prelude {
72        #[doc(inline)]
73        pub use super::clip::*;
74        #[doc(inline)]
75        pub use super::create::*;
76        #[doc(inline)]
77        pub use super::init::*;
78        #[doc(inline)]
79        pub use super::loss::*;
80        #[doc(inline)]
81        pub use super::mask::*;
82        #[doc(inline)]
83        pub use super::norm::*;
84        #[doc(inline)]
85        pub use super::predict::*;
86        #[doc(inline)]
87        pub use super::train::*;
88    }
89}
90
91pub mod types {
92    // #[doc(inline)]
93    // pub use self::features::*;
94
95    // pub(crate) mod features;
96}
97
98pub mod utils {
99    #[doc(inline)]
100    pub use self::prelude::*;
101
102    pub mod gradient;
103    pub mod norm;
104    pub mod patterns;
105    pub mod tensor;
106
107    pub(crate) mod prelude {
108        #[doc(inline)]
109        pub use super::gradient::*;
110        #[doc(inline)]
111        pub use super::patterns::*;
112        #[doc(inline)]
113        pub use super::tensor::*;
114    }
115}
116
117pub mod prelude {
118    #[doc(no_inline)]
119    pub use crate::activate::prelude::*;
120    #[doc(no_inline)]
121    pub use crate::error::*;
122    #[doc(no_inline)]
123    pub use crate::ops::prelude::*;
124    #[doc(no_inline)]
125    pub use crate::params::prelude::*;
126    #[doc(no_inline)]
127    pub use crate::traits::prelude::*;
128    #[doc(no_inline)]
129    pub use crate::utils::prelude::*;
130    #[doc(inline)]
131    pub use concision_math::prelude::*;
132}