"""Getting real data into lattice layout. Scoped by one distinction: **building a lattice from data is lattice construction, which this library already owns. Running a training loop is not.** Everything here is the former. There is no trainer, no optimizer, no normalization policy, and no dataset downloads — and there never will be. There is also no DataLoader. ``torch.utils.data.DataLoader`` is fine; this module supplies the three things it needs:: import torch_dimensions as td from torch.utils.data import DataLoader table = td.data.from_table(coords, times, values, names=("state", "sku")) windows = td.data.LatticeWindow(len(table), input_len=36, horizon=1) train, test = windows.split_at_time(table.times, "2025-01") ds = td.data.LatticeDataset(td.data.TensorSource(table.series, table.lattice), train) dl = DataLoader(ds, batch_size=8, shuffle=True, collate_fn=td.data.collate_lattice) model = td.LSTM(d_model=64, n_layers=6, lattice=table.lattice, d_input=table.n_features) for batch in dl: model(batch.x).pow(2).mean().backward() """ from torch_dimensions.data.collate import Batch, collate_lattice from torch_dimensions.data.coords import CoordMap, from_coords from torch_dimensions.data.memmap import MemmapSource, Normalizer, masked_stats from torch_dimensions.data.source import LatticeDataset, LatticeSource, Sample, TensorSource from torch_dimensions.data.sparsity import SparsityReport, sparsity from torch_dimensions.data.table import LatticeTable, from_table from torch_dimensions.data.window import LatticeWindow, Window __all__ = [ "Batch", "SparsityReport", "CoordMap", "LatticeDataset", "LatticeSource", "LatticeTable", "LatticeWindow", "MemmapSource", "Normalizer", "Sample", "TensorSource", "Window", "collate_lattice", "sparsity", "from_coords", "from_table", "masked_stats", ]