Выполнить прогнозирование из сохраненной модели в tenorflow 2.0 - PullRequest
1 голос
/ 09 октября 2019

У меня есть сохраненная модель (каталог с model.pd и переменными), и я хотел запускать прогнозы на фрейме данных pandas.

Я безуспешно пытался сделать это несколькими способами:

Попытка 1: восстановить оценщик из сохраненной модели

estimator = tf.estimator.LinearClassifier(
    feature_columns=create_feature_cols(),
    model_dir=path,
    warm_start_from=path)

Гдепуть - это каталог, в котором есть папка model.pd и переменные. Я получил ошибку

ValueError: Tensor linear/linear_model/dummy_feature1/weights is not found in 
gs://bucket/Trainer/output/2013/20191008T170504.583379-63adee0eaee0/serving_model_dir/export/1570554483/variables/variables 
checkpoint {'linear/linear_model/dummy_feature1/weights': [1, 1], 'linear/linear_model/dummy_feature2/weights': [1, 1]
}

Попытка 2: Запустить прогнозирование непосредственно из сохраненной модели, запустив

imported = tf.saved_model.load(path)  # path is the directory that has a `model.pd` and variables folder
imported.signatures["predict"](example)

Но не удалось успешно передать аргумент - похоже,функция ищет tf.example, и я не уверен, как преобразовать фрейм данных в tf.example. Моя попытка конвертации приведена ниже, но я получил ошибку, что df [f] не является тензорным:

for f in features:
    example.features.feature[f].float_list.value.extend(df[f])

Я видел решения для stackoverflow, но все они - tenorflow 1.14. Очень признателен, если кто-то может помочь с tenorflow 2.0.

...