【问题标题】:Modify pretrained model in tensorflow在 tensorflow 中修改预训练模型
【发布时间】:2019-01-29 12:38:29
【问题描述】:

我想知道如何对从 tensorflow 的元和检查点文件加载的图形进行更改,例如:

saver = tf.train.import_meta_graph('***.meta') saver.restore(sess,tf.train.latest_checkpoint('./'))

例如,现有图中有 old_layer1 -> old_layer2 具有预训练的权重。我想插入一个然后它变成 old_layer1 -> new_layer -> old_layer2,并且 new_layer 是随机初始化的,因为它没有预训练的参数。回答here说不可能,因为tf的图只允许追加,这是真的吗?

所以我想知道这是否可以通过将预训练层加载为单独的变量,并将预训练的权重分配为初始值并自己连接它们来解决,这样我就可以在旧层之间添加新层。但我不知道如何在代码中做到这一点。

【问题讨论】:

    标签: python tensorflow


    【解决方案1】:

    使用原始张量流执行此操作可能会很复杂,因为 tf 图不直接编码层的结构。但是,如果您的模型是使用 tf.keras 构建的,则这相当简单,因为加载 keras 模型也会加载其层结构。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-20
      • 1970-01-01
      • 1970-01-01
      • 2021-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多