【问题标题】:First training epoch is very slow第一个训练时期非常慢
【发布时间】:2018-08-06 22:26:05
【问题描述】:

嗨……我在我的 P3 AWS 机器上运行 mnist 代码,与我之前的 P2 机器相比,初始化过程似乎很长(尽管 P3>P2)

Train on 60000 samples, validate on 10000 samples
Epoch 1/10
60000/60000 [==============================] - 265s 4ms/step - loss: 0.2674 - acc: 0.9175 - val_loss: 0.0602 - val_acc: 0.9811
Epoch 2/10
60000/60000 [==============================] - 3s 51us/step - loss: 0.0860 - acc: 0.9742 - val_loss: 0.0393 - val_acc: 0.9866
Epoch 3/10
60000/60000 [==============================] - 3s 50us/step - loss: 0.0647 - acc: 0.9808 - val_loss: 0.0338 - val_acc: 0.9884
Epoch 4/10
60000/60000 [==============================] - 3s 50us/step - loss: 0.0542 - acc: 0.9839 - val_loss: 0.0337 - val_acc: 0.9887
Epoch 5/10
60000/60000 [==============================] - 3s 50us/step - loss: 0.0453 - acc: 0.9863 - val_loss: 0.0311 - val_acc: 0.9900
Epoch 6/10
60000/60000 [==============================] - 3s 51us/step - loss: 0.0412 - acc: 0.9873 - val_loss: 0.0291 - val_acc: 0.9898
Epoch 7/10
60000/60000 [==============================] - 3s 50us/step - loss: 0.0368 - acc: 0.9891 - val_loss: 0.0300 - val_acc: 0.9901
Epoch 8/10
60000/60000 [==============================] - 3s 50us/step - loss: 0.0340 - acc: 0.9897 - val_loss: 0.0298 - val_acc: 0.9897
Epoch 9/10
60000/60000 [==============================] - 3s 50us/step - loss: 0.0320 - acc: 0.9908 - val_loss: 0.0267 - val_acc: 0.9916
Epoch 10/10
60000/60000 [==============================] - 3s 50us/step - loss: 0.0286 - acc: 0.9914 - val_loss: 0.0276 - val_acc: 0.9903
Test loss: 0.02757222411266339
Test accuracy: 0.9903

我正在使用 Keras=2.1.4 tensorflow-gpu=1.5.0

我的keras.json文件配置如下:

{
    "floatx": "float32",
    "epsilon": 1e-07,
    "backend": "tensorflow",
    "image_data_format": "channels_last"
}

任何想法为什么会这样?

提前致谢

【问题讨论】:

    标签: tensorflow deep-learning keras mnist


    【解决方案1】:

    基于此issue

    第一个 epoch 需要相同的时间,但计数器也需要 考虑构建计算图的一部分所花费的时间 处理培训(几秒钟)。这曾经在 compile 步骤,但现在懒惰地做一个要求避免 不必要的工作。

    【讨论】:

    • 这可能是原因之一。除了内核启动之外,还有数据生成和缓存,这可能对执行时间产生更大的影响。我仍在试图找出训练时有时会发生的激增。答案真的很有帮助。
    猜你喜欢
    • 2021-07-24
    • 2016-06-20
    • 2018-04-18
    • 2019-06-08
    • 2019-06-28
    • 2020-12-27
    • 2018-03-22
    • 2020-04-07
    • 1970-01-01
    相关资源
    最近更新 更多