从检查点加载TensorFlow模型并更改最后一层,错误

时间:2018-04-24 09:43:27

标签: python tensorflow keras

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

不幸的是我收到了这个错误:

  

INFO:tensorflow:向协调员报告错误:,Assign要求两个张量的形状匹配。 lhs shape = [50,1] rhs shape = [50,2]        [[节点:保存/分配_11 =分配[T = DT_FLOAT,_class = [“loc:@Recress / weights”],use_locking = true,validate_shape = true,_device =“/ job:localhost / replica:0 / task:0 / device:CPU:0“](回归/权重/ Adam_1,保存/恢复V2_11)]]

我的第二层有50个节点。

我还在恢复时排除了最后一层。

有没有人知道最近会发生什么?

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

1 个答案:

答案 0 :(得分:1)

解决了它。

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

下次核对清单我想在更改架构后使用TensorFlow进行传输学习:

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