【问题标题】:why 1st epoch takes a lot of time in training neural network model?为什么 1st epoch 需要花费大量时间来训练神经网络模型?
【发布时间】:2019-06-29 06:10:01
【问题描述】:

我对训练我的神经网络有疑问,所以我的第一个 epoch 花费的时间最多,例如现在第一个 epoch 大约需要 50 分钟,而随后的 epoch 只需要 2 分钟,为什么会这样?

如果是问题,我应该去哪里解决这个问题?

这是参考的型号代码:

model = Sequential()
model.add(Conv3D(2, (3,3,3), padding = 'same', input_shape= [num_of_frame, 
          img_rows,img_cols, img_channels] ))
model.add(Activation('relu'))
model.add(Conv3D(64, (3,3,3)))
model.add(Activation('relu'))
model.add(MaxPooling3D(pool_size=(2, 2, 2)))
model.add(Dropout(0.25))

model.add(Flatten())
model.add(Dense(32))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(Dense(nb_classes))
model.add(Activation('softmax'))

我使用 adam 作为优化器,批量大小为 30,在 Google Colab 上运行。

这是训练和验证的代码:

model.fit_generator(train_generator, steps_per_epoch=steps_per_epoch, epochs=num_epochs, verbose=1, 
                    callbacks=callbacks_list, validation_data=val_generator, 
                    validation_steps=validation_steps, class_weight=None, workers=1, initial_epoch=0)

【问题讨论】:

  • 是否可以添加 Colab 链接?在上面的代码块中,一切看起来都很好。
  • 您添加的代码是模型,而不是实际的训练过程。添加它。

标签: neural-network conv-neural-network


【解决方案1】:

事实证明,随着我的训练代码与生成器合并,总时间更长。一旦我在我的数据生成器上手动调用 next(),所有时代都开始以类似的方式表现。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-12
    • 1970-01-01
    • 1970-01-01
    • 2012-03-15
    • 1970-01-01
    • 2020-08-24
    • 2011-04-07
    • 1970-01-01
    相关资源
    最近更新 更多