【发布时间】:2016-05-17 01:51:39
【问题描述】:
假设如果一个人有训练样本,并且他的批量大小是 500,那么完成 1 个 epoch 需要 2 次迭代。现在假设我正在使用 caffe 框架的动态数据增强,即;每个示例 10 种作物。
我的问题是 epoch 大小仍然会像上面的例子那样是 2 次迭代还是变成 2*10 = 20?
【问题讨论】:
标签: neural-network deep-learning caffe
假设如果一个人有训练样本,并且他的批量大小是 500,那么完成 1 个 epoch 需要 2 次迭代。现在假设我正在使用 caffe 框架的动态数据增强,即;每个示例 10 种作物。
我的问题是 epoch 大小仍然会像上面的例子那样是 2 次迭代还是变成 2*10 = 20?
【问题讨论】:
标签: neural-network deep-learning caffe
一个时期是遍历训练数据一次所需的迭代次数。由于您增加了数据,因此您需要 10 倍以上的迭代才能完成一次训练数据的遍历。因此1 epoch = 2*10 iterations 现在。
【讨论】:
transform_param,我们应该期望更快的训练(更少的图像),对吗?我做了这个实验,将裁剪设置为仅比原始输入大小小 1 个像素,并且使用的训练时间和 GPU 内存几乎相同。我认为动态数据增强只是为了在不同时期之间改变图像,实际上增加了网络看到的图像数量。
"Data" 层中从transform_param 中删除增强,您只需在每批中处理更多“真实”图像。但是,批量大小将保持不变,caffe 的迭代次数也将保持不变,因此您将不会看到运行时的实际减少。