Python OperatorNotAllowedInGraphError:不允许在“tf.Tensor”上迭代:AutoGraph未转换此函数

Python OperatorNotAllowedInGraphError:不允许在“tf.Tensor”上迭代:AutoGraph未转换此函数,python,tensorflow,nlp,tensorflow-serving,Python,Tensorflow,Nlp,Tensorflow Serving,我正在做一个二元情绪分析模型,我已经做了预处理,模型运行良好。我正在尝试创建一个初始输入层,然后创建一个Lambda层,以便在保存模型并将其上载到Docker以通过Tensorflow服务获得预测时获得输入 创建用于预处理模型输入的函数: @tf.function def serving(input_serving: tf.string)-> tf.Tensor: X = [] sentences = list(input_serving) for sen in s

我正在做一个二元情绪分析模型,我已经做了预处理,模型运行良好。我正在尝试创建一个初始输入层,然后创建一个Lambda层,以便在保存模型并将其上载到Docker以通过Tensorflow服务获得预测时获得输入

创建用于预处理模型输入的函数:

@tf.function
def serving(input_serving: tf.string)-> tf.Tensor:
    X = []
    sentences = list(input_serving)
    for sen in sentences:
      X.append(preprocess_text(sen))
    X = tokenizer.texts_to_sequences([input_serving])
    X = pad_sequences(X, padding='post', maxlen=100)
    rtn = tf.convert_to_tensor(X)
    return rtn
这是我的模型的结构:

model = Sequential()
model.add(Input(shape=(),dtype="string"))
model.add(Lambda(serving))
embedding_layer = Embedding(vocab_size, 300, weights=[embedding_matrix], input_length=100 , trainable=False)
model.add(embedding_layer)
model.add(Dense(256, activation='relu'))
model.add(Dropout(rate=0.5))
model.add(Dense(128, activation='relu'))
model.add(Dropout(rate=0.5))
model.add(Dense(64, activation='relu'))
model.add(Dropout(rate=0.5))
model.add(Flatten())
model.add(Dense(1, activation='sigmoid'))
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['acc'])
尝试编译模型时出现以下错误: 运算符或不允许Ingraph错误:不允许在
tf上迭代。不允许使用张量:AutoGraph未转换此函数。这可能表示您正试图使用不受支持的功能。

我应该修改什么来修复此问题?或者以其他方式为预测添加这些输入

谢谢