在试图理解为什么我的 PyTorch 模型的最大批量大小受到限制时,我注意到使用最多内存的不是模型本身,也不是将张量加载到 GPU 上。第一次生成预测时,大部分内存都会被用完,例如在训练循环中使用以下行:
output = model(images)
Run Code Online (Sandbox Code Playgroud)
其中 images 是一些输入张量, model 是我的 PyTorch 模型。在运行该行之前,我有大约 9GB 的可用 GPU 内存,之后我的可用内存降至 2.5GB(运行loss = criterion(outputs, labels).
两个问题: