解决tf2.0中model.save()保存pb模型时cannot be saved because the input shapes have not been set.的报错

在TF2.0中,使用model.save('filepath', save_format='tf')保存模型时遇到'cannot be saved because the input shapes have not been set.'的错误。该错误通常发生在自定义模型且训练过程未自动识别input shape时。通过手动设置inputs的维度可以解决此问题,具体做法是在模型创建后添加一行代码来指定input_signature,以确保模型能正确保存为pb格式。" 131151965,8651756,马克扎克伯格评Apple Vision Pro:价格与社交体验,"['VR', '虚拟现实', 'Apple', 'Meta', '高科技产品']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在进行保存模型时,TF2.0有三种保存方式,分别是model.save_weights('filepath');model.save('filepath',save_format='tf');tf.saved_model.save(model,'filepath')

三种方式都有各自的特点:

  • save_weights只保存模型权重,意味着当你要加载模型时,需要先搭建原来的模型,然后load一下参数从文件中,加载参数文件使用model.load_weights('filepath')。
  • model.save保存整个模型,包括模型参数,模型的输入输出,优化器的配置等,TF支持保存两种格式的文件:
  1. H5格式的文件,使用方式为model.save('path.h5'),h5格式的文件内容比较全,一般文件比较大。(注意:如果是用户自定义模型,采用的是subclassing方式创建的,则无法保存为H5格式的文件,会报错!)
  2. pb格式的文件,使用方式为model.save('path',save_format='tf'),pb格式的文件一般适合用来部署,文件的大小要小一点。
  • tf.saved_model.save(model,'filepath')保存整个模型,是TF2.0中支持的方法,一般也是用来模型部署的。模型加载预测起来比较麻烦一点 

 开始进入主题:

在model.save('filepath

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值