Tensorflow Serving Преобразование данных из входной функции - PullRequest
0 голосов
/ 21 марта 2019

В настоящее время я работаю над моделью тензорного потока.Эта модель классифицирует ситуацию на основе 2 строки и числа.Таким образом, мои заполнители выглядят следующим образом:

Input1 = tf.placeholder("string", shape=None, name="string1")
Input2 = tf.placeholder("string", shape=None, name="string2")
Input3 = tf.placeholder("float", shape=None, name="distance")
label = tf.placeholder("int64", shape=None, name="output")

Я хочу обслуживать эту модель с помощью Tensorflow Обслуживание с этим кодом:

    signature_definition = tf.saved_model.signature_def_utils.build_signature_def(
        inputs={'input1': model_input1, 'input2': model_input2, 'input3': model_input3},
        outputs={'outputs': model_output},
        method_name=tf.saved_model.signature_constants.PREDICT_METHOD_NAME)

    builder = tf.saved_model.builder.SavedModelBuilder(SERVE_PATH)

    builder.add_meta_graph_and_variables(
        sess, [tf.saved_model.tag_constants.SERVING],
        signature_def_map={
            tf.saved_model.signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY:
                signature_definition
        }) 

Но в модели, которую я написал, нужны строки как кодированный ввод one_hot,Кто-нибудь знает, как преобразовать входные тензоры в закодированные one_hot и передать их в мою модель?Во время тренировки моей модели я просто трансформировал их с помощью функции перед тем, как кормить их.Это кажется невозможным во время обслуживания, потому что я могу определить только функцию ввода, а не поток ввода данных.

1 Ответ

0 голосов
/ 09 апреля 2019

tf.one_hot обеспечивает горячее кодирование.

Однако, в более широком смысле, вам необходимо координировать обучение и обслуживание, чтобы использовать один и тот же индекс. Tensorflow Transform предоставляет способ выполнять множество преобразований (одно горячее, масштабное, пакетное), включая одно горячее кодирование, на этапе обработки обучающих данных и сохранять преобразование как часть графа модели, поэтому автоматически повторно применяет то же преобразование во время обслуживания, экономя вам ручную работу. Проверьте их пример по ссылке ниже:

Пример: https://www.tensorflow.org/tfx/transform/tutorials/TFT_simple_example

Пример 2: https://github.com/tensorflow/transform/blob/master/examples/sentiment_example.py

Полный API Python: https://www.tensorflow.org/tfx/transform/api_docs/python/tft

Функция, которую вы ищете, - это tft.compute_and_apply_vocabulary.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...