#[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 = "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 = "gpu")]
pub mod gpu {
pub use ferrotorch_gpu::*;
}
#[cfg(feature = "cubecl")]
pub mod cubecl {
pub use ferrotorch_cubecl::*;
}
#[cfg(feature = "distributed")]
pub mod distributed {
pub use ferrotorch_distributed::*;
}