henrydee1 2022-08-13 11:13 采纳率: 0%
浏览 417

TensorFlow加载模型就报错:ValueError: Received incompatible tensor with shape,怎么回事啊?

用TensorFlow的Object Detection API做目标识别,一直能正常训练、导出模型、加载训练好的模型、在图片里有效搜索识别。
以前训练好的模型现在还都正常(再次导出、加载、识别均正常)。

现在新训练的模型和以前一样的环境:python 3.9,tensorflow==2.8.0。
新训练的也能导出模型,加载训练好的模型就出错,就错在这一句:
detect_fn = tf.saved_model.load(PATH_TO_SAVED_MODEL)
改成detect_fn = tf.saved_model.load(PATH_TO_SAVED_MODEL, tags=None, options=None)还是出错。

报错好像是:恢复检查点有问题。
我故意把checkpoint文件第一行里model_checkpoint_path: "ckpt-11"改成10,导出模型后还是加载不了模型。

怎么会非得要shape (3, 3, 256, 12)和shape (3, 3, 256, 24)兼容呢?
老板找事,实在是没办法,束手无策。


完整错误信息如下:

Traceback (most recent call last):
  File "C:\TensorFlowObjectDetectionAPITest\Bill\inference_main_v2.py", line 73, in <module>
    detect_fn = tf.saved_model.load(PATH_TO_SAVED_MODEL)
  File "C:\ProgramData\Anaconda3\envs\tensorflow2\lib\site-packages\tensorflow\python\saved_model\load.py", line 782, in load
    result = load_partial(export_dir, None, tags, options)["root"]
  File "C:\ProgramData\Anaconda3\envs\tensorflow2\lib\site-packages\tensorflow\python\saved_model\load.py", line 912, in load_partial
    loader = Loader(object_graph_proto, saved_model_proto, export_dir,
  File "C:\ProgramData\Anaconda3\envs\tensorflow2\lib\site-packages\tensorflow\python\saved_model\load.py", line 189, in __init__
    self._restore_checkpoint()
  File "C:\ProgramData\Anaconda3\envs\tensorflow2\lib\site-packages\tensorflow\python\saved_model\load.py", line 507, in _restore_checkpoint
    load_status = saver.restore(variables_path, self._checkpoint_options)
  File "C:\ProgramData\Anaconda3\envs\tensorflow2\lib\site-packages\tensorflow\python\training\tracking\util.py", line 1468, in restore
    base.CheckpointPosition(
  File "C:\ProgramData\Anaconda3\envs\tensorflow2\lib\site-packages\tensorflow\python\training\tracking\base.py", line 295, in restore
    restore_ops = trackable._restore_from_checkpoint_position(self)  # pylint: disable=protected-access
  File "C:\ProgramData\Anaconda3\envs\tensorflow2\lib\site-packages\tensorflow\python\training\tracking\base.py", line 1060, in _restore_from_checkpoint_position
    current_position.checkpoint.restore_saveables(tensor_saveables,
  File "C:\ProgramData\Anaconda3\envs\tensorflow2\lib\site-packages\tensorflow\python\training\tracking\util.py", line 349, in restore_saveables
    new_restore_ops = functional_saver.MultiDeviceSaver(
  File "C:\ProgramData\Anaconda3\envs\tensorflow2\lib\site-packages\tensorflow\python\training\saving\functional_saver.py", line 415, in restore
    restore_ops = restore_fn()
  File "C:\ProgramData\Anaconda3\envs\tensorflow2\lib\site-packages\tensorflow\python\training\saving\functional_saver.py", line 398, in restore_fn
    restore_ops.update(saver.restore(file_prefix, options))
  File "C:\ProgramData\Anaconda3\envs\tensorflow2\lib\site-packages\tensorflow\python\training\saving\functional_saver.py", line 112, in restore
    restore_ops[saveable.name] = saveable.restore(
  File "C:\ProgramData\Anaconda3\envs\tensorflow2\lib\site-packages\tensorflow\python\training\saving\saveable_object_util.py", line 133, in restore
    raise ValueError(
ValueError: Received incompatible tensor with shape (3, 3, 256, 12) when attempting to restore variable with shape (3, 3, 256, 24) and name _model/_box_predictor/variables/2/.ATTRIBUTES/VARIABLE_VALUE.
  • 写回答

2条回答 默认 最新

  • Franklin 博客专家认证 2022-08-14 03:13
    关注

    PATH_TO_SAVED_MODEL,变量没定义?

    评论

报告相同问题?

问题事件

  • 创建了问题 8月13日

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。