天天看点

OOM参考方法 待验证

https://blog.csdn.net/ONE_SIX_MIX/article/details/82080331

将batch再分成多个 subbatch 之后累计本轮的梯度。前提是 batchesize=1的时候不能OOM

另外还有一个分成多个cache 每个cache 分成多个batch

那意思是这样:

总数据 train_data = 1w

从总数据中分出 cache_size = 1000,得到10个 cache

从cache 中分出 batch_size = 100,得到10个batch

最终一共有 100个 batch

然后每次的训练数据是一个batch,100个batch为一个epoch?

是这样的吗?

如果是这样的话,跟直接将 1w总数据分成100个batch有什么区别呀?

答:一次加载的数据量不同

估计就是这种方法

https://www.sohu.com/a/166403960_642762

还有一篇berkeley论文解读 关于batch size的

使用 AlexNet 模型(2)在 NVIDIA K20 GPU 上训练 ImageNet 数据集(1)需要 6 天才能实现 58% 的 top-1 准确度