【问题标题】:Loading TensorFlow model from checkpoint and change last layer, Error从检查点加载 TensorFlow 模型并更改最后一层,错误
【发布时间】:2018-10-04 12:27:44
【问题描述】:

我已经使用 TensorFlow 在两个类上训练了一个神经网络,现在我想将最后一层从两个输出更改为一个输出以进行回归并加载模型。

很遗憾,我收到了这个错误:

INFO:tensorflow:Error 报告给 Coordinator: ,Assign 需要两个张量的形状匹配。 lhs 形状= [50,1] rhs 形状= [50,2] [[节点:save/Assign_11 = Assign[T=DT_FLOAT, _class=["loc:@Regress/weights"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0 /device:CPU:0"](Regress/weights/Adam_1, save/RestoreV2_11)]]

我的倒数第二层有 50 个节点。

还原时我也排除了最后一层。

有人知道这里发生了什么吗?

我正在使用train_image_classifier.py,我已经更改了最后几层以满足我的需要。

【问题讨论】:

    标签: python tensorflow keras


    【解决方案1】:

    解决了。

    我不得不删除 model.ckpt 文件中的checkpoint 文件。

    更改架构后我想使用 TensorFlow 进行迁移学习的清单:

    • 使用inspect_checkpoint.py 验证您的model.ckpt 文件是否存储了正确的变量。
    • 确保您阅读了正确的 model.ckpt 文件。
    • 确保在恢复时排除正确的范围。
    • 如有必要,删除checkpoint

    【讨论】:

      猜你喜欢
      • 2021-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-10
      • 1970-01-01
      • 2021-10-21
      • 2019-11-18
      相关资源
      最近更新 更多