python - ValueError:仅支持单个签名密钥
问题描述
我正在开发一个 tensorflow 2.0 项目,在保存我的模型并尝试转换为 tensorflow lite 格式时,我遇到了这个错误。
saved_decoder2=tf.saved_model.save(decoder, "C:\\Users\\...\\saved_model_for_decoder")
converter2 = tf.lite.TFLiteConverter.from_saved_model("C:\\Users\\...\\saved_model_for_decoder", signature_keys=None)
tflite_model2 = converter2.convert()
open("decoder.tflite", "wb").write(tflite_model2)
错误说:
回溯(最后一次调用):文件“c:/Users/user.../Image-Captioning_using_Tensorflow.py”,第 323 行,在 converter2 = tf.lite.TFLiteConverter.from_saved_model("C:\Users\... \saved_model_for_decoder", signature_keys=None) 文件“C:\Users\user\AppData\Local\Programs\Python\Python38\lib\site-packages\tensorflow\lite\python\lite.py”,第 1033 行,from_saved_model raise ValueError("仅支持单个签名密钥。") ValueError:仅支持单个签名密钥。
请帮我!
解决方案
您能否加载 saved_model 并打印签名并查看它是否包含多个签名?如果是,请指定一个签名。
imported = tf.saved_model.load(path)
print(imported.signatures)
推荐阅读
- python - 30 类的 LSTM,严重过拟合,不能超过 76% 的测试准确率
- ssis - 完成后使SSIS foreach循环重新扫描文件夹
- python - 在多处理池进程中运行代码
- mysql - root 用户无权访问 RDS MYSql 实例
- scala - 在 SBT 项目中运行标记测试
- python - 带有graphql的Aiohttp:字符串不能代表值
- c - PIC24F开发板上无法通过UART发送或接收数据
- python - 制作直方图 Matplotlib Python 时,x 值和 y 值互换了吗?
- aws-cdk - AWS-CDK:如何将新映像部署到现有的 Fargate-Cluster?
- laravel - Laravel 通过 whereNotIn 过滤 whereIn