#![doc(html_root_url = "https://docs.rs/mlmf/")]
#![warn(missing_docs)]
#![cfg_attr(docsrs, feature(doc_cfg))]
pub use candle_core::{DType, Device};
pub use candle_nn::VarBuilder;
pub mod cache;
pub mod cached_loader;
pub mod checkpoint;
pub mod config;
pub mod distributed;
pub mod distributed_core;
pub mod distributed_loader;
pub mod error;
pub mod loader;
pub mod lora;
pub mod metadata;
pub mod mmap_loader;
pub mod model_card;
pub mod multimodal;
pub mod multimodal_loader;
pub mod multimodal_processor;
pub mod name_mapping;
pub mod progress;
pub mod saver;
pub mod smart_mapping;
pub mod universal_loader;
pub mod validation;
pub mod formats;
pub mod conversion;
pub use cache::{CacheConfig, CacheConfigBuilder, CacheStats, MemoryPressure, ModelCache};
pub use cached_loader::{
global_cached_loader, load_cached, load_safetensors_cached, CachedModelLoader,
};
pub use checkpoint::{
Checkpoint, CheckpointManager, CheckpointMetadata, CheckpointSaveOptions, OptimizerState,
};
pub use config::{HFConfig, ModelConfig};
pub use distributed::{
DeviceType, DistributedConfig, DistributedConfigBuilder, NodeConfig, ShardingStrategy,
};
pub use distributed_core::{
ClusterStatus, InferenceRequest, InferenceResponse, SimpleDistributedManager,
};
pub use error::{Error, Result};
pub use loader::{LoadOptions, LoadedModel};
pub use lora::{LoRAAdapter, LoRAConfig, LoRAModel, LoRAWeights};
pub use metadata::{
CalibrationMethod, ModelMetadata, ModelProvenance, ModelQuantizationInfo, TensorInfo,
TensorQuantizationInfo, TensorStatistics,
};
pub use model_card::{
EvaluationInfo, MemoryRequirements, ModelCard, ModelCardGenerator, ModelInfo, TechnicalSpecs,
TrainingInfo, UsageInfo,
};
pub use name_mapping::{Architecture, TensorNameMapper};
pub use saver::{save_model, save_safetensors, ModelSaver, SaveOptions};
pub use universal_loader::{detect_model_format, is_supported_model, load_model};
#[cfg(feature = "gguf")]
pub use saver::save_gguf;
#[cfg(feature = "onnx")]
pub use formats::{load_onnx, ONNXLoadOptions, ONNXLoader, ONNXModelInfo};
pub use smart_mapping::{
ChatBasedOracle, MappingContext, NameMappingOracle, SmartTensorNameMapper,
};
#[cfg(feature = "progress")]
pub use progress::{ProgressEvent, ProgressFn};
pub use conversion::{
convert_batch, convert_model, ConversionFormat, ConversionJob, ConversionOptions,
ConversionResult,
};
pub use multimodal::{
AttentionStats, CrossModalAttentionConfig, FusionStrategy, Modality, ModalityConfig,
ModalityInput, MultiModalConfig, MultiModalInput, MultiModalOutput, MultiModalProcessor,
MultiModalStats, PreprocessingConfig,
};
pub use multimodal_loader::{
BasicCrossModalLayer, BasicFusionComponent, CrossModalLayer, FusionComponent, MultiModalLoader,
MultiModalModel, MultiModalModelStats,
};
pub use multimodal_processor::{BasicMultiModalProcessor, CrossModalAttention, FusionLayer};