pub mod error;
pub mod activations {
pub mod gelu;
pub mod softmax;
pub mod swish;
pub mod tanh;
pub use gelu::GELU;
pub use softmax::Softmax;
pub use swish::Swish;
pub use tanh::Tanh;
use crate::error::Result;
use scirs2_core::ndarray::Array;
pub trait Activation<F> {
fn forward(&self, input: &Array<F, scirs2_core::ndarray::IxDyn>) -> Result<Array<F, scirs2_core::ndarray::IxDyn>>;
fn backward(
&self,
grad_output: &Array<F, scirs2_core::ndarray::IxDyn>,
input: &Array<F, scirs2_core::ndarray::IxDyn>,
) -> Result<Array<F, scirs2_core::ndarray::IxDyn>>;
}
}
pub mod prelude {
pub use crate::activations::{Activation, GELU, Softmax, Swish, Tanh};
pub use crate::error::{Error, NeuralError, Result};
}
pub use error::{Error, NeuralError, Result};
pub use activations::{Activation, GELU, Softmax, Swish, Tanh};