有没有办法在 CNTK 中进行 early-stopping 和交叉验证?

Is there a way to do early-stopping and cross validation in CNTK?

如标题中所问,我想知道是否可以在训练期间将模型early-stop当错误减少到足够多时制作一个模型,这样我就可以避免过度拟合和猜测正确的数字每次调用的纪元数。

This 是我在官方文档中找到的唯一东西,但它是在 brainscript 中使用的,我对此一无所知。我正在使用 Python 3.6 和 CNTK 2.6。

另外,有没有办法在 CNTK CNN 中执行交叉验证??这怎么可能?

提前致谢。

cntk 中没有任何提前停止的本机实现。对于交叉验证,您可以查找 CrossValidationConfig

CrossValidationConfig class 告诉 CNTK 在验证数据集上定期评估模型,然后 调用用户指定的回调函数,然后可用于更新学习率或 return False 以指示 early stopping.

有关如何实施提前停止的示例:

  1. test_session_cv_callback_early_exit function here
  2. cntk.train.training_session的源代码here.