【问题标题】:How to pass a layer from one model to another when two models are training on different data simultaneously?当两个模型同时对不同的数据进行训练时,如何将一个模型从一个模型传递到另一个模型?
【发布时间】:2021-02-20 19:26:34
【问题描述】:

我有两个模型在两个不同的数据集上进行训练。但我想用不同的数据训练第二个模型,其初始点将是第一个模型的最后一个 dropout 层(附图显示了两个模型的架构)。我怎么能做到这一点?

model architecture

【问题讨论】:

    标签: python machine-learning keras lstm keras-layer


    【解决方案1】:

    不确定您使用的是什么框架,但我知道 Pytorch 可以做到这一点。不确定TensorFlow或其他。在训练您的第一个模型之后,您可以构建第二个模型的架构并从第一个模型中获取权重并逐层分配相应的层。如果您有一些代码示例,我可以进一步帮助您。假设您使用的是 Pytorch,您可以使用类似 here 的内容。

    【讨论】:

    • 我正在使用 Keras,但我可以切换到 PyTorch 来实现这一点。我对此还有一个问题。是否可以实现同时在两组不同数据集上训练的这两个模型?因为我不想在完全训练完第一个模型后才使用权重。我想使用每个时期的第一个模型的权重,然后用它训练第二个模型。
    • 你正在做的看起来类似于多任务学习。根据我的经验,我不知道有什么直接的方法可以“同时”用不同的数据集训练两个模型,同时共享模型权重。
    猜你喜欢
    • 2021-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多