你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
CNTK中的 BrainScript epochSize
对于 Python 用户,请参阅 此处。
每个时期的动态轴) (张量的 标签 样本数。 CNTKepochSize
是标签样本数,之后将执行特定的附加操作,包括
- 可以在此处重启检查点模型 (训练)
- 交叉验证
- learning-rate 控制
- minibatch-scaling
请注意,标签样本数的定义类似于用于 迷你batchSize (minibatch_size_in_samples) 的示例数。 epochSize
定义不同于minitbatchSize
epochSize
标签样本的定义,而不是输入样本。
因此,对于顺序数据,示例是序列的各个项。
因此,CNTK epochSize
不引用多个序列,而是构成小块的序列标签中的序列项。
同样重要的是,它是 标签 样本,而不是输入样本,每个序列的标签数不一定是输入样本数。 例如,每个序列有一个标签,每个序列都有一个标签,并且每个序列有多个样本 (在这种情况下epochSize
,其作用类似于序列) 的序列数,并且每个样本都有一个标签,在这种情况下epochSize
minibatchSize
,每个样本 (不按顺序计算) 。
对于较小的数据集大小, epochSize
通常设置为等于数据集大小。 在 BrainScript 中,可以指定 0 来表示这一点。 在 Python 中,可以为此指定 cntk.io.INFINITELY_REPEAT
。 仅在 Python 中,还可以将其设置为 cntk.io.FULL_DATA_SWEEP
处理将在整个数据大小的一次传递后停止的位置。
对于大型数据集,可能需要通过检查点来指导你选择的纪元大小。 例如,如果要在发生停电或网络故障时最多丢失 30 分钟的计算,需要大约每 30 分钟创建一个检查点 (,以便从中恢复训练) 。 选择 epochSize
为计算大约需要 30 分钟的示例数。