#![warn(clippy::all, clippy::pedantic)]
#![deny(rust_2018_idioms, missing_debug_implementations)]
#![allow(missing_docs)]
#[cfg(not(target_env = "msvc"))]
#[global_allocator]
static GLOBAL: mimalloc::MiMalloc = mimalloc::MiMalloc;
pub use ferrotorch_core::*;
pub mod prelude {
pub use ferrotorch_core::*;
pub use ferrotorch_nn::{BatchNorm2d, Dropout, LayerNorm};
pub use ferrotorch_nn::{Conv2d, Linear, Module, Parameter, Sequential};
pub use ferrotorch_nn::{CrossEntropyLoss, MSELoss};
pub use ferrotorch_nn::{GELU, ReLU, SiLU, Sigmoid, Softmax, Tanh};
pub use ferrotorch_nn::{GRU, LSTM};
pub use ferrotorch_optim::{Adam, AdamW, Optimizer, Sgd};
}
pub mod nn {
pub use ferrotorch_nn::*;
}
pub mod optim {
pub use ferrotorch_optim::*;
}
pub mod data {
pub use ferrotorch_data::*;
}
pub mod vision {
pub use ferrotorch_vision::*;
}
#[cfg(feature = "train")]
pub mod train {
pub use ferrotorch_train::*;
}
#[cfg(feature = "serialize")]
pub mod serialize {
pub use ferrotorch_serialize::*;
}
#[cfg(feature = "jit")]
pub mod jit {
pub use ferrotorch_jit::*;
}
#[cfg(feature = "jit-script")]
pub mod jit_script {
pub use ferrotorch_jit_script::*;
}
#[cfg(feature = "distributions")]
pub mod distributions {
pub use ferrotorch_distributions::*;
}
#[cfg(feature = "profiler")]
pub mod profiler {
pub use ferrotorch_profiler::*;
}
#[cfg(feature = "hub")]
pub mod hub {
pub use ferrotorch_hub::*;
}
#[cfg(feature = "tokenize")]
pub mod tokenize {
pub use ferrotorch_tokenize::*;
}
#[cfg(feature = "gpu")]
pub mod gpu {
pub use ferrotorch_gpu::*;
}
#[cfg(feature = "cubecl")]
pub mod cubecl {
pub use ferrotorch_cubecl::*;
}
#[cfg(feature = "mps")]
pub mod mps {
pub use ferrotorch_mps::*;
}
#[cfg(feature = "xpu")]
pub mod xpu {
pub use ferrotorch_xpu::*;
}
#[cfg(feature = "distributed")]
pub mod distributed {
pub use ferrotorch_distributed::*;
}
#[cfg(feature = "llama")]
pub mod llama {
pub use ferrotorch_llama::*;
}
#[cfg(feature = "ml")]
pub mod ml {
pub use ferrotorch_ml::*;
}