Обслуживание двигателя модели Tensorflow Keras GCP ML - PullRequest
0 голосов
/ 11 июня 2018

Я работаю над классификатором изображений с оценщиком тензорного потока + керас переподготовка последнего слоя предварительно обученного приложения inception_v3 на GCP ML engine.

Модель keras экспортируется с помощью tf.keras.estimator.model_to_estimator, а функция ввода получает путь к изображению, хранящемуся в облачном хранилище GCP , открывает изображение с помощью tf.image.decode_jpeg и возвращаетнабор данных в следующем формате dict(zip(['inception_v3_input'], [image])), label

Я пытаюсь определить tf.estimator.export.ServingInputReceiver, но у меня возникают некоторые трудности при его определении.

Модель корректно выполняет прогнозирование с помощью predict метод с использованием функции ввода без меток.Моя идея заключалась в том, чтобы повторно использовать функцию input_function для декодирования изображения, передавая только путь изображения в облачном хранилище, к прогнозу также для конечной точки Google, но я не могу понять, как это сделать.

Спасибо за вашепомощь

1 Ответ

0 голосов
/ 17 октября 2018

Если я правильно понимаю, ваш вопрос заключается в том, как получить файл из облачного хранилища, учитывая, что вы хотите декодировать изображение следующим образом:

image_decoded = tf.image.decode_jpeg(image_string)

Итак, в этом случае вы можетеиспользуйте:

image_string = file_io.FileIO(filename, mode='r')

Сначала импортируя file_io:

from tensorflow.python.lib.io import file_io

Согласно комментарии к этому вопросу о чтении входных данных из GCS с использованием функции file_read должныобеспечить те же результаты, поскольку «была проделана большая работа по абстрагированию файловых и файловых систем, поэтому все функциональные возможности io работают согласованно».Так что вы можете попробовать также с функцией read_file.

...