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 准确度