Создайте службу оценки tf.contrib.learn, которая принимает входные данные JSON

Я после некоторого кода, который я могу использовать для экспорта модели из тензорного потока Estimator это будет принимать JSON в качестве входных данных. Я мог бы сделать эту работу с tf.Estimator с помощью tf.estimator.export.ServingInputReceiver, но для моделей встроенных tf.contrib.learn Я не мог найти какую-либо документацию. Здесь есть один пример, который создает экспорт с tf.Example служа, но Example это немного сложно построить.

3 ответа

Решение

Чтобы использовать метод оценки contrib, вы должны взглянуть на более ранние версии примеров. Вот пример:

https://github.com/GoogleCloudPlatform/training-data-analyst/blob/85c57e4da2e7edeffbb6652636e3c65b313c568f/blogs/babyweight/babyweight/trainer/model.py

Не то чтобы вы возвращали входную функцию ops. Сказав это, я бы порекомендовал вам перейти на tf.estimator, если вы можете.

Ознакомьтесь с рядом примеров, в которых показано, как использовать оценку тензорного потока для моделей обслуживания в CloudML.

Код:

def serving_fn():
receiver_tensor = {
    commons.FEATURE_COL: tf.placeholder(dtype=tf.string, shape=None)
}

features = {
    key: tensor
    for key, tensor in receiver_tensor.items()
}

return tf.estimator.export.ServingInputReceiver(features, receiver_tensor)

В образце репозитория CloudML Engine есть несколько примеров, например, этот код.

То есть вы создаете заполнители и передаете их ServingInputReceiver конструктор. Внешнее измерение должно быть "Нет" для обработки пакетов переменного размера.

def build_receiver():
  x = tf.placeholder(tf.float32, size=[None])
  y = tf.placeholder(tf.int32, size=[None, 128, 128, 3])
  features = {'x': x, 'y': y}
  return tf.estimator.export.ServingInputReceiver(features, features)
Другие вопросы по тегам