前言
CNTK中目前仅提供了一种学习方法,即SGD(Stochastic Gradient Descent Learner)随机梯度下降法。本文将针对CNTK中有关SGD随机梯度下降相关的训练配置选项进行说明。本文虽说是一片交流用文章,但是更加类似于针对CNTK的内容的一些翻译,因为在讨论SGD相关内容时如果不提及其中机理,那就只剩下如何使用了。
SGD块的基本格式如下,如同其他数据块一样,很多参数都会有默认的参数,所以具体的使用时,按需要进行配置。
SGD = [
modelPath = "$ModelDir$/myModel.dnn"
epochSize = 60000
minibatchSize = 32
learningRatesPerMB = 0.1
maxEpochs = 30
]
Training process control 训练过程控制
modePath
modePath参数用于设定一个全路径,用于指定最终保存的网络模型文件。
trainCriterionNodeName
trainCriterionNodeName参数用于指定一个用于训练的训练准则节点名称,如果没有指定,则会使用默认的训练准则。
evalCriterionNodeName
evalCriterionNodeName参数通trainCriterionNodeName参数类似,用于指定一个用于评估的评估准侧节点名称,如果没有指定,则会使用默认的评估准则。
epochSize
epochSize参数用于指定epoch的大小,epochSize一般默认为整个数据集的大小。每个epoch都会被保存下来。当epochSize设置为0时,则相当于设定为整个数据集大小。
keepCheckPointFiles
keepCheckPointFiles参数用于指定是否在每