【问题标题】:How to start training from different epoch Mask R-CNN?如何从不同时期的 Mask R-CNN 开始训练?
【发布时间】:2020-09-09 06:52:37
【问题描述】:

我正在训练 Mask R-CNN model

我在“头部”训练 2 个 epoch 后保存了权重,我想从 epoch 3 继续。但是 model.train() 函数没有 initial_epoch 参数作为 model.fit 例如在顺序模型中。

我有以下代码,但如果我使用加载的权重运行它,它会从第一个时期开始,我不希望这样:

EPOCHS = [1, 3, 5, 8]  

model.train(dataset_train, dataset_val,
                learning_rate = LEARNING_RATE,
                epochs = EPOCHS[1],
                layers = 'all',
                augmentation = augmentation)

如果有人能告诉我在我的情况下什么是 initial_epoch 的替代品,我将不胜感激。

【问题讨论】:

    标签: tensorflow keras deep-learning image-segmentation


    【解决方案1】:

    在拟合模型的前 2 个 epoch 后,它的权重发生了变化。因此,当您再次致电fit 时,模型将继续训练。您的进度不会丢失

    【讨论】:

    • 但我不叫 .fit。我打电话给.train。我找不到是否有任何区别。当我调用 .train 时,我再次从 epoch 1 开始。这就是我想知道这是否与我训练的第一个 epoch 相同,或者就像从头开始训练一个新模型一样。如果这听起来很愚蠢,我很抱歉,但我需要理解它。
    • 不问问题的人是愚蠢的。看看里面train。有一个电话 fit_generator 现在作为 fit 工作(使用新版本的 tensorflow)。每次调用 fit 时,您都会看到从 epoch 1 开始的拟合信息。但这并不意味着您是重新训练模型。通过调用fit 两次,您将继续培训过程
    • 我建议您仅使用 keras 构建模型以了解它是如何工作的
    • 感谢您的回答。这非常有用。
    猜你喜欢
    • 1970-01-01
    • 2020-02-09
    • 2018-06-06
    • 1970-01-01
    • 2018-01-03
    • 2019-03-09
    • 2022-10-14
    • 2020-07-28
    • 2020-04-07
    相关资源
    最近更新 更多