Tensorflow lite转换在TensorFlow版本2.16.1中对于Keras模型失败,

u5rb5r59  于 6个月前  发布在  其他
关注(0)|答案(3)|浏览(69)

1. 系统信息

  • 操作系统平台和发行版:Linux Ubuntu 22.04
  • TensorFlow安装(pip包或从源代码构建):pip包
  • TensorFlow库(版本,如果是pip包或github SHA,如果是从源代码构建):2.16.1

2. 代码

import tensorflow as tf
import pdb
print("TensorFlow version:", tf.__version__)

class network(tf.keras.Model):
    def __init__(self):
        super().__init__()
        self.conv1 = tf.keras.layers.Conv2D(filters=2, kernel_size=3, strides=2, activation='relu')

    def call(self, x):
        x = self.conv1(x)

        return x
    
model = network()

inp  = tf.keras.Input(shape=(28, 28, 1))
out = model(inp)
model.build(input_shape=(None, 28, 28, 1))

model.summary()

converter = tf.lite.TFLiteConverter.from_keras_model(model)
tfliteModel = converter.convert()

输出

LLVM ERROR: Failed to infer result type(s).
Aborted (core dumped

ouptut.txt

d5vmydt9

d5vmydt91#

original issue ..
在2.15.0版本中运行正常

20jt8wwn

20jt8wwn2#

你好,@vmanoj1996。
目前,TF2.16与Keras 3.0存在一个问题。作为解决方法,请按照以下步骤安装Keras 2:

pip install -U tf_keras # Keras 2
import os
os.environ["TF_USE_LEGACY_KERAS"] = "1"

请查看此gist并告知我问题是否仍然存在。

vlju58qv

vlju58qv3#

这个问题已经过期,因为它已经开放了7天,没有活动。如果没有进一步的活动发生,它将被关闭。谢谢。

相关问题