модель сохранения оценки тензорного потока - PullRequest
0 голосов
/ 07 мая 2020

Я экспериментирую с классификацией текста для character_rnn (https://github.com/tensorflow/tensorflow/blob/671baf080238025da9698ea980cd9504005f727c/tensorflow/examples/learn/text_classification_character_rnn.py).

Как мне написать для него serv_input_fn? Я хочу сохранить и восстановить эту модель

расширенный код для сохранения, но с ошибкой, пожалуйста, помогите

from tensorflow.contrib.learn.python.learn.utils import input_fn_utils
feature_spec = {"feature":tf.FixedLenFeature([100],tf.int64)}
serving_input_fn = input_fn_utils.build_parsing_serving_input_fn(feature_spec)

, а затем

classifier.export_savedmodel(export_dir_base='model', serving_input_receiver_fn=serving_input_fn)

и получите эту ошибку

TypeError: Не удалось преобразовать объект типа в Tensor. Содержание: {'feature':}. Рассмотрите возможность преобразования элементов в поддерживаемый тип.

пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 23 мая 2020

serving_fn требует, чтобы функции были tensor.

См. Ниже образец:

def serving_fn():
    day_of_month      = tf.Variable([], dtype=tf.int64, name='DAY_OF_MONTH')
    day_of_week       = tf.Variable([], dtype=tf.int64, name='DAY_OF_WEEK')
    tail_num          = tf.Variable([], dtype=tf.string,name='TAIL_NUM')
    op_carrier_fl_num = tf.Variable([], dtype=tf.int64, name='OP_CARRIER_FL_NUM')
    origin_airport_id = tf.Variable([], dtype=tf.int64, name='ORIGIN_AIRPORT_ID')
    dest_airport_id   = tf.Variable([], dtype=tf.int64, name='DEST_AIRPORT_ID')
    dep_time_blk      = tf.Variable([], dtype=tf.string,name='DEP_TIME_BLK')

    reqd_inputs =  {'DAY_OF_MONTH':day_of_month,
                    'DAY_OF_WEEK':day_of_week,
                    'TAIL_NUM':tail_num,
                    'OP_CARRIER_FL_NUM':op_carrier_fl_num,
                    'ORIGIN_AIRPORT_ID':origin_airport_id,
                    'DEST_AIRPORT_ID':dest_airport_id,
                    'DEP_TIME_BLK':dep_time_blk}

    fn = tf.estimator.export.build_raw_serving_input_receiver_fn(reqd_inputs)
    return fn

Исходя из ваших функций и типа данных, вам необходимо преобразовать их с соответствующими тензорами.

Если это поможет, вышеупомянутый образец доступен в виде записной книжки Kaggle по адресу: https://www.kaggle.com/jintolonappan/gbm-tf2-boostedtreesclassifier-export-to-serve

...