gonganDV 2020-11-18 20:42 采纳率: 0%
浏览 91

Python inputs incompatible with input_signature:

ValueError: Python inputs incompatible with input_signature:
inputs: (
Tensor("ExpandDims_2:0", shape=(1, 1), dtype=int64),
Tensor("cnn__encoder/StatefulPartitionedCall:0", shape=(1, 64, 256), dtype=float32),
Tensor("rnn__decoder/StatefulPartitionedCall:1", shape=(1, 512), dtype=float32))
input_signature: (
TensorSpec(shape=(1, 1), dtype=tf.int32, name=None),
TensorSpec(shape=(1, 64, 256), dtype=tf.float32, name=None),
TensorSpec(shape=(1, 512), dtype=tf.float32, name=None))

Github issue 链接:https://github.com/tensorflow/tensorflow/issues/42319

https://github.com/tensorflow/tensorflow/issues/44512

在tensorflow提问题都三个月了没人理????试了各种方法都不行。难道TFLiteConvert不能转换带有@tf.function(input_signature=[])的tf.kearas.Model的类?

  • 写回答

1条回答 默认 最新

  • 码农阿豪@新空间代码工作室 Java领域优质创作者 2024-07-24 21:14
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    问题分析: 该错误是由于Python输入与input_signature不兼容所导致的。在给定的输入中,有三个张量:一个形状为(1, 1)的int64类型张量,一个形状为(1, 64, 256)的float32类型张量,一个形状为(1, 512)的float32类型张量。但是input_signature中对应的TensorSpec是(1, 1)的int32类型张量,(1, 64, 256)的float32类型张量,(1, 512)的float32类型张量。由此可以看出,输入的数据类型或形状与input_signature不匹配,因此报错。 解决方案:
    1. 确保输入的数据类型和形状与input_signature中的TensorSpec匹配。
    2. 可以尝试将输入的Tensor中的dtype改为int32,并确保形状与input_signature中对应的TensorSpec匹配。 示例代码:
    import tensorflow as tf
    # 输入数据
    input_1 = tf.constant([[1]], dtype=tf.int32)
    input_2 = tf.constant(tf.random.normal((1, 64, 256)), dtype=tf.float32)
    input_3 = tf.constant(tf.random.normal((1, 512)), dtype=tf.float32)
    # 将输入数据调整为input_signature中指定的形状和数据类型
    input_1 = tf.dtypes.cast(input_1, tf.int32)
    # 定义模型
    model = tf.keras.Model(inputs=[input_1, input_2, input_3], outputs=...)
    # 转换为TFLite模型
    converter = tf.lite.TFLiteConverter.from_keras_model(model)
    tflite_model = converter.convert()
    

    参考链接: 1. Github issue链接:https://github.com/tensorflow/tensorflow/issues/42319 2. Github issue链接:https://github.com/tensorflow/tensorflow/issues/44512

    评论

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵