遵循TensorFlow中ML初学者的MNIST,我们学习最基本的SGD,学习率为0.5,批量大小为100和1000步,如下所示
train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)`
...
for i in range(1000):
batch_xs, batch_ys = mnist.train.next_batch(100)
sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys})
在 CNTK 中,直观的等价物
SGD = {
minibatchSize = 100
maxEpochs = 1000
learningRatesPerMB = 0.5
}
看起来它正在做更多的计算,至少它肯定更冗长。
CNTK 中的minibatch和epochs的概念与我所看到的不同,它处理学习率的方式也不同。
显示的 TensorFlow 中基本 SGD 的直接等价物(或最接近的可能)是什么?每个概念如何在每个框架之间转换?