我正在尝试直接从他们的语言理解教程中训练一个CNTK模型。
Sequential([
Embedding(emb_dim),
OneWordWindow(),
BatchNormalization(),
BiRecurrence(LSTM(hidden_dim), LSTM(hidden_dim)),
BatchNormalization(),
Dense(num_labels)
])似乎训练速度在每个时期之后都会放慢(见下文)。这是因为学习率时间表的原因,还是我错过了什么?
Adam的LR调度是
lr_per_sample = [0.003]*4+[0.0015]*24+[0.0003]
lr_per_minibatch = [x * minibatch_size for x in lr_per_sample]
lr_schedule = learning_rate_schedule(lr_per_minibatch, UnitType.minibatch, epoch_size)
Finished Epoch[1 of 1000]: [Training] loss = 0.149485 * 18059, metric = 3.46% * 18059 10.189s (1772.3 samples per second);
Finished Epoch[2 of 1000]: [Training] loss = 0.071990 * 17974, metric = 1.47% * 17974 51.836s (346.7 samples per second);
Finished Epoch[3 of 1000]: [Training] loss = 0.106882 * 17992, metric = 2.08% * 17992 60.175s (299.0 samples per second);
Finished Epoch[4 of 1000]: [Training] loss = 0.074046 * 17987, metric = 1.51% * 17987 68.655s (262.0 samples per second);
Finished Epoch[5 of 1000]: [Training] loss = 0.052539 * 17995, metric = 1.28% * 17995 77.627s (231.8 samples per second);
Finished Epoch[6 of 1000]: [Training] loss = 0.057482 * 18011, metric = 1.55% * 18011 86.191s (209.0 samples per second);发布于 2017-03-10 06:29:47
在ProgreessPrinter中发现了一个错误,会影响每秒样本数的打印输出。实际速度不受影响,只是报告速度受影响。这个bug已经在master中修复了--所以你现在就可以得到这个,或者你可以等待下一个正式的版本,该版本预定于2017年3月14日发布。
https://stackoverflow.com/questions/42706203
复制相似问题