信息检索中“禁止文档”的过滤新方法
2025/12/21 7:00:32
数据形状 (Shape)
结构化数据:(样本数, 特征数)
图像数据
:
(通道数, 高, 宽)PyTorch 默认格式 (Channel First)
维度陷阱
(C, H, W)。(H, W, C)。plt.imshow()可视化 PyTorch 张量时,必须先使用np.transpose或permute交换维度顺序。nn.Flatten()或x.view()将(C, H, W)拉平为(C×H×W)的一维向量。nn.Linear等层定义时不涉及 Batch Size。DataLoader中设置 Batch Size。显存不仅仅用来存图片,主要由以下4部分组成:
| 组成部分 | 说明 | 估算公式 (Float32) |
|---|---|---|
| 1. 模型参数 | 模型的权重 (Weights) 和偏置 (Bias) | 参数量 ×× 4 Bytes |
| 2. 梯度 | 反向传播计算出的导数 | ≈≈ 参数量 ×× 4 Bytes |
| 3. 优化器状态 | 优化器更新参数所需的额外信息 | SGD: 0 Adam: ≈≈ 参数量 ×× 8 Bytes (动量+方差) |
| 4. 中间变量 & 数据 | 输入数据 + 每一层的输出特征图 (Activations) | 受 Batch Size 影响最大 Batch Size ×× (单样本大小 + 中间层大小) |
结论:模型参数和优化器占用是固定的(这也是为什么大模型很难跑起来),而调整 Batch Size 是控制显存占用的主要手段。
Out Of Memory。@浙大疏锦行