【发布时间】:2017-12-21 07:35:34
【问题描述】:
我正在使用 GPU 训练深度神经网络。如果我制作的样本太大、批次太大或网络太深,就会出现内存不足错误。在这种情况下,有时可以制作较小的批次并进行训练。
是否可以预先计算训练所需的 GPU 大小并确定要选择的批量大小?
更新
如果我打印网络摘要,它会显示“可训练参数”的数量。我不能从这个值估计吗?例如,拿这个,乘以批量大小,加倍梯度等?
【问题讨论】:
-
从萨尔瓦多给出的链接中,您还需要计算保存图像及其转换的中间内存。一共是3*4*(中间内存*num_image+可训练参数)/1024**3GB
-
理想情况下,我认为应该是可能的。每个层都应该通过接受输入大小以及是否在训练模式和模型类应该只通过调用其各个层占用的内存来计算总内存来提供它将占用的内存量。只需要这些框架(pytorch/.tensorflow)来添加这个功能。
标签: tensorflow out-of-memory deep-learning gpu keras