#![allow(
clippy::missing_errors_doc,
clippy::missing_panics_doc,
clippy::must_use_candidate,
clippy::return_self_not_must_use,
clippy::cast_precision_loss,
clippy::cast_possible_truncation,
clippy::cast_sign_loss,
clippy::cast_lossless,
clippy::many_single_char_names,
clippy::similar_names,
clippy::doc_markdown,
clippy::module_name_repetitions
)]
pub mod data;
pub mod error;
pub mod explain;
pub mod functional;
pub mod init;
pub mod layer;
pub mod loss;
pub mod onnx;
pub mod ops;
pub mod optim;
pub mod persist;
pub mod serialize;
pub mod serve;
pub mod training;
pub mod variable;
#[cfg(feature = "gpu")]
pub mod gpu;
pub use error::{NnError, Result};
pub use variable::Variable;
pub mod prelude {
pub use crate::data::{DataLoader, Dataset, TensorDataset};
pub use crate::error::{NnError, Result};
pub use crate::explain::{
IntegratedGradientsResult, integrated_gradients, integrated_gradients_zero_baseline,
smooth_gradients,
};
pub use crate::functional::{log_softmax, relu, sigmoid, softmax, tanh_fn};
pub use crate::init::{kaiming_normal, kaiming_uniform, xavier_normal, xavier_uniform};
pub use crate::layer::{
AvgPool1d, AvgPool2d, BatchNorm1d, BatchNorm2d, Conv1d, Conv2d, Conv3d, Dropout, Embedding,
FlashAttention, Flatten, GATConv, GCNConv, GRU, GroupedQueryAttention, LSTM, Layer,
LayerNorm, Linear, MaxPool1d, MaxPool2d, MultiHeadAttention, MultiQueryAttention, ReLU,
RotaryPositionalEncoding, SAGEConv, Sequential, Sigmoid, SimpleRNN,
SinusoidalPositionalEncoding, Tanh, TransformerDecoderLayer, TransformerEncoderLayer,
causal_mask,
};
pub use crate::loss::{
bce_loss, cross_entropy_loss, focal_loss, hinge_loss, huber_loss, kl_divergence, mse_loss,
smooth_l1_loss,
};
pub use crate::onnx::{
OnnxAttribute, OnnxAttributeValue, OnnxDataType, OnnxGraph, OnnxInferenceSession,
OnnxModel, OnnxNode, OnnxOpsetImport, OnnxTensor, OnnxValueInfo, load_onnx,
};
pub use crate::ops::{add, add_bias, matmul, mean, mul, neg, pow, scalar_mul, sub, sum};
pub use crate::optim::{
Adagrad, Adam, AdamW, CosineAnnealingLR, ExponentialLR, LinearLR, LrScheduler, Optimizer,
RMSprop, ReduceLROnPlateau, SGD, StepLR, WarmupCosineDecay,
};
pub use crate::persist::{load_weights, save_weights};
pub use crate::serialize::{
GgufFile, GgufValue, load_gguf, load_safetensors, save_gguf, save_safetensors,
};
pub use crate::serve::{
FnModel, InferenceConfig, InferenceModel, InferenceRequest, InferenceResponse,
InferenceServer, InferenceStats,
};
pub use crate::training::{
AmpConfig, Callback, CallbackAction, EarlyStopping, GradAccumulator, GradScaler,
LossLogger, LrFinder, LrFinderResult, ModelCheckpoint, Trainer, TrainingHistory,
cast_params, cast_variable, clip_grad_norm, clip_grad_value,
};
pub use crate::variable::Variable;
#[cfg(feature = "gpu")]
pub use crate::gpu::prelude::*;
}