Python 现代开发学习笔记

(十七)从划分编号取得实际批次

# 续写同一文件:training_project/src/readingtorch/data.py
def make_loader(bundle, name, batch_size=24, generator=None):
    # Subset 保存样本编号,验证与测试按固定顺序读取。
    subset = Subset(ArrayDataset(bundle.x, bundle.y), bundle.splits[name].tolist())
    return DataLoader(
        subset,
        batch_size=batch_size,
        shuffle=name == "train",
        generator=generator,
        num_workers=0,
    )

Subset 把指定编号映射到原 Dataset,不必再手动复制三套输入。训练组打乱,验证和测试按固定顺序读取;num_workers=0 让这份小数据直接由当前进程加载,便于观察每次取值。

回归每批得到 (B,2) 输入与 (B,1) 目标;图形每批得到 (B,1,8,8) 输入与 (B,) 目标。后面每种模型与损失都要与这两个约定对应。

原始编号经 Subset 限定为某一组,再按训练打乱或固定顺序读取,回归和图形各自形成输入目标的批次形状

笔记正文与全部题解 · Ctrl / ⌘ K