Тензорный поток - фрейм данных подачи в DNNClassifier для прогнозов - PullRequest
0 голосов
/ 02 мая 2019

Я изо всех сил пытаюсь передать данные в tf.esitimator.DNNClassifier после перезагрузки через tf.contrib.predictor.from_saved_model.Я был бы очень признателен за вашу помощь.

Я нашел это и это ссылки, но я получаю ошибку.Ниже моя реализация:

Сохранение модели:

feature_spec = tf.feature_column.make_parse_example_spec(feat_cols)
export_fn = tf.estimator.export.build_parsing_serving_input_receiver_fn(feature_spec)
tuned_model.export_savedmodel('./model_dir/saved_models/', export_fn)

Это успешно сохраняет модель со следующей информацией:

INFO:тензор потока: вызов model_fn.ИНФОРМАЦИЯ: tenorflow: Закончен вызов model_fn.ИНФОРМАЦИЯ: tennflow: подписи включены в экспорт для Classify: ['serve_default', 'классификация'] ИНФО: tenorflow: подписи включены в экспорт для регрессии: ['regression'] ИНФО: тензор: подписи включены в экспорт для Predict: ['предсказание'] ИНФОРМАЦИЯ: tennflow: подписи, включенные в экспорт для Train: нет. ИНФО: tenorflow: подписи, включенные в экспорт для Eval: нет. ИНФО: тензор: восстановление параметров из /nimble/kdalal/model_dir/model.ckpt-28917 ИНФО: tenorflow: активыдобавлено в график.ИНФОРМАЦИЯ: tenorflow: нет ресурсов для записи.ИНФОРМАЦИЯ: тензор потока: SavedModel записывается по адресу: ./model_dir/saved_models/temp-b'1556819228'/saved_model.pb

Перезагрузка для прогнозов:

predict_prod = tf.contrib.predictor.from_saved_model('./model_dir/saved_models/1556819228')
predict_prod(dict(X_test))

Я получаю следующую ошибку:

ValueError: Получены непредвиденные ключи в input_dict: {'DOW', 'JOB_FUNCTION', 'ACC_SIZE', 'answers_20D', 'MatchType', 'CONTACT_STATE',Ожидается 'СЕЗОНЫ', 'Позвонил_20D', 'st_cb_ans_20D', 'JOB_ROLE', 'st_cb_called_20D', 'CALL_BLOCKS'}: {'inputs}}

My X_test - это кадр данных, который япытаюсь получить прогнозы для.

[РЕДАКТИРОВАНИЕ]:

Мой ввод dict выглядит следующим образом:

{'JOB_ROLE': 714859     Manager-Level
 714860     Manager-Level
 714861     Manager-Level
 714862     Manager-Level
 714863    Director-Level
 Name: JOB_ROLE, dtype: object,
 'JOB_FUNCTION': 714859    Information Technology
 714860    Information Technology
 714861    Information Technology
 714862    Information Technology
 714863    Information Technology
 Name: JOB_FUNCTION, dtype: object,
 'MatchType': 714859            Work Phone
 714860            Work Phone
 714861            Work Phone
 714862            Work Phone
 714863    Account Main Phone
 Name: MatchType, dtype: object,
 'CALL_BLOCKS': 714859    17_18
 714860    17_18
 714861    17_18
 714862    17_18
 714863    17_18
 Name: CALL_BLOCKS, dtype: object,
 'ACC_SIZE': 714859    StartUps
 714860    StartUps
 714861       Small
 714862    StartUps
 714863       Small
 Name: ACC_SIZE, dtype: object,
 'CONTACT_STATE': 714859    WA
 714860    CA
 714861    CA
 714862    CA
 714863    CA
 Name: CONTACT_STATE, dtype: object,
 'SEASONS': 714859    Spring
 714860    Spring
 714861    Spring
 714862    Spring
 714863    Spring
 Name: SEASONS, dtype: object,
 'DOW': 714859    Monday
 714860    Monday
 714861    Monday
 714862    Monday
 714863    Monday
 Name: DOW, dtype: object,
 'called_20D': 714859    0.038760
 714860    0.077519
 714861    0.217054
 714862    0.046512
 714863    0.038760
 Name: called_20D, dtype: float64,
 'answered_20D': 714859    0.000000
 714860    0.086957
 714861    0.043478
 714862    0.000000
 714863    0.130435
 Name: answered_20D, dtype: float64,
 'st_cb_called_20D': 714859    0.050233
 714860    0.282496
 714861    0.282496
 714862    0.282496
 714863    0.282496
 Name: st_cb_called_20D, dtype: float64,
 'st_cb_ans_20D': 714859    0.059761
 714860    0.314741
 714861    0.314741
 714862    0.314741
 714863    0.314741
 Name: st_cb_ans_20D, dtype: float64}

IЯ новичок с tf, и я не знаю, как передать фреймы данных в модель, чтобы я мог вызвать метод predcit и получить прогнозы.

Кроме того, мне следует преобразовать мои входные данные в некоторые другие dtype?

Ответы [ 2 ]

0 голосов
/ 03 мая 2019

ValueError: Невозможно передать значение shape (75116, 12) для Tensor 'input_example_tensor: 0', у которого есть shape '(?,)

об этом вопросе, который ваша модель должна предсказать 1 раз

вы можете кормить только один элемент, например {'input': X_test.values ​​[0]}

, вы можете изменить модель, чтобы предсказать группу элементов

Удачи

0 голосов
/ 02 мая 2019

Я нашел ответ. Обратитесь по ссылке , чтобы понять, как передавать данные в импортированную модель estimator.

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