在CIFAR-10上训练Resnet所需的时间

时间:2018-09-02 11:25:17

标签: tensorflow neural-network deep-learning resnet

我正在编写一个神经网络,以在 CIFAR-10 数据集上训练Resnet。 论文Deep Residual Learning For Image Recognition提到了大约60,000个纪元的培训。

我想知道-在这种情况下,纪元指的是什么?它是一次通过大小为128的小批量交易吗(这意味着整个50000张图像训练集中大约有150次通过交易?

这还需要多长时间训练(假设仅CPU,20层或32层ResNet)?有了以上定义的时代,似乎将需要很长的时间...

我原本只希望在2-3个小时左右就能完成一些工作,这相当于通过50000张图像训练集进行了大约10次传递。

1 个答案:

答案 0 :(得分:2)

该论文从未提及60000个纪元。通常将 epoch 表示整个数据集上的一遍。 60000个纪元是疯狂的。他们在CIFAR-10上使用了64000个迭代次数。迭代涉及处理一个小批量,计算然后应用渐变。

您是正确的,因为这意味着数据集上有150个以上的经过(这些历元)。现代的神经网络模型通常需要几天或几周的时间进行训练。由于其庞大的规模/深度,ResNets特别麻烦。请注意,在论文中他们提到在两个GPU上训练模型,这将比在CPU上更快。

如果您只是在“有趣”地训练某些模型,我建议您将其比例显着缩小。尝试8层左右;甚至可能太多了。如果您将其用于研究/生产用途,请获取一些GPU。