1pub mod device;
55pub mod inference;
56pub mod prelude;
57pub mod training;
58
59pub(crate) mod config;
61pub(crate) mod engine;
62pub(crate) mod error;
63pub(crate) mod layout;
64pub(crate) mod lm;
65pub(crate) mod model;
66pub(crate) mod optim;
67pub(crate) mod param_io;
68pub(crate) mod runtime;
69pub(crate) mod screen;
70pub(crate) mod tile;
71
72#[cfg(not(feature = "cuda"))]
74pub use device::cpu;
75pub use device::{auto_device, cuda};
76pub use inference::{ChatModel, GenerationConfig};
77pub use training::{ParameterBudget, Trainer, TrainingReport};
78
79pub use error::{Error, Result};
81pub use model::{
82 DefaultMultiscreenModel, EvaluationResult, ModelInferenceConfig, ModelTrainingConfig,
83 ModelTrainingReport, MultiscreenModel, MultiscreenModelConfig, MultiscreenModelOutput,
84 MultiscreenParameterBudget, cross_entropy_loss_with_mask,
85};
86pub use runtime::{DefaultAutodiffBackend, DefaultBackend, Device, device_label};
87
88#[cfg(not(feature = "cuda"))]
89pub use runtime::default_device;
90
91#[cfg(feature = "cuda")]
92pub use runtime::{CudaAutodiffBackend, CudaDevice, CudaMultiscreenModel};
93
94pub use config::{InferenceConfig, MultiscreenConfig, TrimConfig};
96pub use engine::{InferenceOutput, MultiscreenEngine, TrainInput, TrainReport};
97pub use layout::{
98 ScreenLayout, TokenSpan, causal_softmask, causal_trim_relevance, trim_and_square,
99};
100pub use screen::{Screen, ScreenConfig};
101pub use tile::{ScreeningGridConfig, Tile, TileConfig};
102
103pub use burn::{
105 tensor::backend::{AutodiffBackend, Backend},
106 tensor::{Int, Tensor, TensorData},
107};
108
109#[cfg(feature = "cuda")]
110pub use burn::backend::Cuda;
111
112#[deprecated(note = "use MultiscreenConfig; the paper styles this as one word")]
113pub type MultiScreenConfig = MultiscreenConfig;
114
115#[deprecated(note = "use MultiscreenEngine; the paper styles this as one word")]
116pub type MultiScreenEngine = MultiscreenEngine;
117
118#[deprecated(note = "use ScreeningGridConfig for N_L x N_H naming")]
119pub type GridConfig = ScreeningGridConfig;