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#[cfg(feature = "alloc")]
17extern crate alloc;
18
19#[doc(inline)]
20pub use concision_utils as utils;
21
22#[doc(inline)]
23pub use self::{
24    activate::prelude::*, error::*, loss::prelude::*, ops::prelude::*, params::prelude::*,
25    traits::prelude::*, utils::prelude::*,
26};
27
28#[allow(unused)]
29#[macro_use]
30pub(crate) mod macros;
31#[allow(unused)]
32#[macro_use]
33pub(crate) mod seal;
34
35pub mod activate;
36pub mod error;
37pub mod init;
38pub mod loss;
39pub mod params;
40
41pub mod ops {
42    #[doc(inline)]
43    pub use self::prelude::*;
44
45    pub mod fill;
46    pub mod pad;
47    pub mod reshape;
48    pub mod tensor;
49
50    pub(crate) mod prelude {
51        #[doc(inline)]
52        pub use super::fill::*;
53        #[doc(inline)]
54        pub use super::pad::*;
55        #[doc(inline)]
56        pub use super::reshape::*;
57        #[doc(inline)]
58        pub use super::tensor::*;
59    }
60}
61pub mod traits {
62    #[doc(inline)]
63    pub use self::prelude::*;
64
65    pub mod clip;
66    pub mod codex;
67    pub mod gradient;
68    pub mod init;
69    pub mod like;
70    pub mod mask;
71    pub mod norm;
72    pub mod propagation;
73    pub mod scalar;
74    pub mod tensor;
75
76    pub(crate) mod prelude {
77        #[doc(inline)]
78        pub use super::clip::*;
79        #[doc(inline)]
80        pub use super::codex::*;
81        #[doc(inline)]
82        pub use super::gradient::*;
83        #[doc(inline)]
84        pub use super::init::*;
85        #[doc(inline)]
86        pub use super::like::*;
87        #[doc(inline)]
88        pub use super::mask::*;
89        #[doc(inline)]
90        pub use super::norm::*;
91        #[doc(inline)]
92        pub use super::propagation::*;
93        #[doc(inline)]
94        pub use super::scalar::*;
95        #[doc(inline)]
96        pub use super::tensor::*;
97    }
98}
99
100pub mod prelude {
101    #[doc(no_inline)]
102    pub use crate::activate::prelude::*;
103    #[doc(no_inline)]
104    pub use crate::error::*;
105    #[cfg(feature = "rand")]
106    #[doc(no_inline)]
107    pub use crate::init::prelude::*;
108    #[doc(no_inline)]
109    pub use crate::loss::prelude::*;
110    #[doc(no_inline)]
111    pub use crate::ops::prelude::*;
112    #[doc(no_inline)]
113    pub use crate::params::prelude::*;
114    #[doc(no_inline)]
115    pub use crate::traits::prelude::*;
116    #[doc(inline)]
117    pub use concision_utils::prelude::*;
118}