首页 文章

如何将单个批处理分区为多个调用以节省内存

提问于
浏览
1

我有一个很大的模型,只能在小批量的GPU上训练,但我需要使用更大的批量(从其他实验,我知道这可以提高最终的准确性和收敛时间)

Caffe通过'iter_size'选项为这个问题提供了一个很好的解决方案,它将批处理分成n个较小的批次,累积n个渐变然后更新一次

如何在TensorFlow中有效实施?

1 回答

  • 0

    您可以使用较小的批次,手动计算渐变,然后将它们添加起来并立即应用它们 . 例如,如果要批量大小为100,则计算10批次10的批次,然后添加渐变并应用它们 . 这是解释here .

    您可以使用tf.gradients()op分别计算每个批次的渐变并添加它们 . 然后对要执行训练步骤的任何优化程序使用apply_gradients()方法 .

相关问题