You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Keras Tuner报错Tensor shape不兼容 新建项目正常原因求解

报错原因及解决方案

核心原因

该形状不匹配报错是Keras Tuner本地缓存冲突导致的:

  • Keras Tuner首次运行调参任务时,会默认在当前工作目录生成./untitled_project缓存文件夹,存储当时的模型结构定义、调参历史记录
  • 你后续调整了Dense层的输出维度(旧版本代码第一个Dense层输出为15,修改后为18),但旧缓存未被清理,Tuner读取旧缓存中的模型结构定义和新代码的定义冲突,就会触发形状不匹配报错
  • 完全新建项目时工作目录没有旧缓存,会重新生成对应结构记录,因此运行正常

附带代码问题

你贴出的代码存在逻辑缺陷:自编码器的输出层维度需要和输入维度对齐,当前输出层为Dense(10),但输入维度是20,你采用MSE作为损失函数和输入做拟合的话,输出维度需要等于输入维度20,否则后续也会触发形状不匹配问题。

解决方案

  • 每次修改模型结构后,先删除当前工作目录下的untitled_project缓存文件夹,再重新运行调参任务即可
  • 也可以在初始化kt.Hyperband时指定overwrite=True参数,强制每次运行都覆盖旧缓存,避免冲突,示例如下:
tuner = kt.Hyperband(
            self.build_auto_encoder_model,
            objective='val_loss',
            max_epochs=30,
            hyperband_iterations=20,
            overwrite=True # 新增该参数强制覆盖旧缓存
)

内容的提问来源于stack exchange,提问作者OmG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 02:42:04