Как повторно использовать преобразования TFX для вывода в продакшене (потоковый конвейер)?

Я хочу создать обучающий конвейер с использованием TFX и, в конечном итоге, повторно использовать свои преобразования данных для выполнения запросов вывода к TensorFlow-Serving, что предположительно может выполнять TFX. Все примеры TFX, которые я нашел, похоже, создают конвейер пакетного обучения и в конечном итоге продвигают модель в TensorFlow-Serving, но они не обращаются к части вывода, которая должна быть потоковым конвейером по причинам задержки. Я, вероятно, мог бы написать свой собственный инструмент для выполнения запроса, но кажется бесполезным не использовать повторно мой компонент Transform для части вывода.

Я запускал локально примеры, установленные в dags скриптом установки TFX examples. Пользовательский интерфейс воздушного потока дает понять, что это конвейеры пакетной обработки.


person Vincent Bernardi    schedule 03.07.2019    source источник


Ответы (1)


TFX позволяет вам определить вашу логику преобразования внутри обучающего конвейера и сохранить логику как часть результирующего графа модели, так что ваша сохраненная модель будет включать в себя как преобразования, так и обычную модель, а служба tf сможет принять запрос в формат данных перед преобразованием, и выполнять как правильные преобразования, так и вывод модели без какой-либо дополнительной работы. Поэтому по замыслу TFX не участвует в выводе.

person Happy Gene    schedule 27.11.2019
comment
В качестве продолжения, есть ли простой способ подключить мой собственный код SerDe внутри графа TFX, чтобы служба TF могла десериализовать данные перед их преобразованием, или мне следует сделать это на отдельном уровне? - person Vincent Bernardi; 29.11.2019
comment
Я так не думаю. TFX требует, чтобы вы использовали преобразования, поддерживаемые tf. *, Чтобы они могли гарантировать правильную сериализацию и десериализацию преобразований. См. Эту ссылку для API: tensorflow.org/tfx/transform/api_docs/python / tft. API действительно включает в себя множество часто используемых преобразований, и вам необходимо перенести свой собственный код SerDe на его предоставленные вызовы. - person Happy Gene; 30.11.2019
comment
при этом одним из поддерживаемых вызовов является apply_pyfunc, что обеспечивает большую гибкость. tensorflow.org/tfx/transform/api_docs/python/tft/apply_pyfunc < / а> - person Happy Gene; 30.11.2019