Я пытаюсь экспортировать модель с подписью.
tf.saved_model.save(serving_model1, export_dir='export/transformed_for_serving', signatures=model_serving)
В качестве части подписи я хочу добавить несколько шагов предварительной обработки.
@tf.function(input_signature=[tf.TensorSpec(shape=[],dtype=tf.string)])
def model_serving(input_string):
tf_x_input_processed = tf.strings.split(input_string,sep=' ')
tf_tokenized_input = lookup_table.lookup(tf_x_input_processed)
tf_tokenized_input = tf.expand_dims(tf.reshape(tf_tokenized_input, [-1]), 0)
tf_padded_input = tf.pad(tf_tokenized_input, tf.constant([[0, 0], [0, maxlen]]))
tf_padded_input = tf.slice(tf_padded_input, [0, 0], [-1, maxlen])
return {'prediction': serving_model1.predict(tf_padded_input,steps=1)}
Это похоже на требования упоминается в: https://github.com/tensorflow/tensorflow/issues/31055
Но вышеприведенное выдает ошибку - Неизвестный график. Aborting. Это упомянуто в следующем обсуждении: Оценка модели TF внутри ошибки бросков операции TF
Как решить эту проблему? Если вышеупомянутое является неправильным способом сделать это в tenorflow, пожалуйста, дайте мне знать правильный способ добавить шаги предварительной обработки в TensorFlow2.0 для обслуживания в TensorFlow Serving. Заранее спасибо.