- 图像数据的格式:灰度和彩色数据
图像数据在深度学习中以张量形式存储,核心区别是通道数,PyTorch 中张量形状为 (通道数, 图像高度, 图像宽度)(与 PIL/OpenCV 的(高,宽,通道)格式不同,需转换)。
1.1 灰度图像数据
通道数:1(单通道,仅亮度信息)
形状示例:MNIST 手写数字(28×28 像素)的张量形状为 (1, 28, 28)
数据范围:原始像素值通常是 0-255(整数),训练前需归一化到 0-1(浮点型)

1.2 彩色图像数据
通道数:3(RGB 三通道,红、绿、蓝)
形状示例:CIFAR-10 数据集(32×32 像素)的张量形状为 (3, 32, 32)
数据范围:同灰度图,需将0-255归一化到0-1

- 图像任务的模型定义(以 CNN 为例)
图像任务常用卷积神经网络(CNN),核心层包括卷积层(提取特征)、池化层(降维)、全连接层(分类)。

- 显存占用的 4 种地方
GPU 显存是训练图像模型的核心资源限制,主要占用场景包括:
a. 模型参数 + 梯度参数
模型参数:模型的权重、偏置(如卷积层的 kernel、全连接层的 weight)
梯度参数:反向传播时计算的参数梯度(每个参数对应一个梯度,占用显存与参数等量)
b. 优化器参数
不同优化器会额外存储参数(如动量、二阶矩):
SGD:仅需模型参数 + 梯度,显存占用少;
Adam:需存储动量(m)和二阶矩(v),显存占用是模型参数的 3 倍(参数 + 梯度 + 动量 + 二阶矩)。
c. 数据批量所占显存
单批次数据的显存占用 = batch_size × 单张图像的字节数:
单张 CIFAR 图(3×32×32,float32):3×32×32×4字节=12288字节≈12KB
若batch_size=128:128×12KB≈1.5MB
batch_size 越大,这部分显存占用越高。
d. 神经元输出中间状态
前向传播时,各层的输出需要保存,用于反向传播的梯度计算:
- batchsize 和训练的关系
batchsize(批次大小)是训练中显存与训练效果的核心平衡项,影响如下:
