我正在训练一个像 ResNet 这样的大型网络,批量大小非常小,比如 25。当我这样做时,我得到的 GPU 利用率非常低且不稳定。我看过几篇关于 PyTorch 中 GPU 利用率低的帖子。但是,他们提出以下任一建议:
“增加批量大小。”:但是,这不是一个计算选择,我希望我的批量大小很小。
“增加工作人员的数量,因为数据加载可能是瓶颈。”:首先,数据加载不是瓶颈,因为它花费的时间要少得多。其次,增加加载程序的数量会增加我的代码的运行时间。第三,即使在增加加载程序的数量之后,GPU 利用率低且不稳定的情况仍然存在。因此,该建议也不适用。
“Set shuffle = False”:同样不是一个可行的解决方案,因为我必须以某种方式对我的数据进行洗牌。
当我们有小批量时,您对更有效地使用 GPU 有什么其他建议吗?