Введение
Это руководство предназначено для ознакомления с конвейерами TensorFlow Extended (TFX) и AIPlatform и поможет вам научиться создавать собственные конвейеры машинного обучения в Google Cloud. На нем показана интеграция с TFX, AI Platform Pipelines и Kubeflow, а также взаимодействие с TFX в ноутбуках Jupyter.
В конце этого руководства вы создадите и запустите конвейер машинного обучения, размещенный в Google Cloud. Вы сможете визуализировать результаты каждого запуска и просмотреть происхождение созданных артефактов.
Вы будете следовать типичному процессу разработки машинного обучения, начиная с изучения набора данных и заканчивая полным рабочим конвейером. Попутно вы изучите способы отладки и обновления конвейера и измерения производительности.
Набор данных такси Чикаго
Вы используете набор данных о поездках на такси , опубликованный городом Чикаго.
Подробнее о наборе данных можно прочитать в Google BigQuery . Изучите полный набор данных в пользовательском интерфейсе BigQuery .
Цель модели — бинарная классификация
Будет ли клиент давать чаевые больше или меньше 20%?
1. Настройте проект Google Cloud
1.a Настройте свою среду в Google Cloud
Для начала вам потребуется учетная запись Google Cloud. Если он у вас уже есть, перейдите к разделу «Создать новый проект» .
Перейдите в облачную консоль Google .
Примите условия Google Cloud
Если вы хотите начать с бесплатной пробной учетной записи, нажмите « Попробовать бесплатно » (или «Начать бесплатно »).
Выберите свою страну.
Согласитесь с условиями обслуживания.
Введите платежные реквизиты.
На этом этапе с вас не будет взиматься плата. Если у вас нет других проектов Google Cloud, вы можете выполнить это руководство, не превышая ограничения уровня бесплатного пользования Google Cloud , которые включают до 8 ядер, работающих одновременно.
1.b Создайте новый проект.
- На главной панели управления Google Cloud щелкните раскрывающийся список проектов рядом с заголовком Google Cloud Platform и выберите «Новый проект» .
- Дайте вашему проекту имя и введите другие сведения о проекте.
- После создания проекта обязательно выберите его в раскрывающемся списке проектов.
2. Настройте и разверните AI Platform Pipeline в новом кластере Kubernetes.
Перейдите на страницу кластеров конвейеров платформы AI .
В главном меню навигации: ≡ > AI Platform > Pipelines.
Нажмите + New Instance , чтобы создать новый кластер.
На странице обзора Kubeflow Pipelines нажмите Configure .
Нажмите «Включить», чтобы включить Kubernetes Engine API.
На странице « Развертывание конвейеров Kubeflow »:
Выберите зону (или «регион») для своего кластера. Сеть и подсеть можно установить, но для целей этого руководства мы оставим их по умолчанию.
ВАЖНО Установите флажок Разрешить доступ к следующим облачным API . (Это необходимо для того, чтобы этот кластер имел доступ к другим частям вашего проекта. Если вы пропустите этот шаг, исправить его позже будет немного сложно.)
Щелкните Create New Cluster и подождите несколько минут, пока кластер не будет создан. Это займет несколько минут. Когда он завершится, вы увидите сообщение вроде:
Кластер «кластер-1» успешно создан в зоне «us-central1-a».
Выберите пространство имен и имя экземпляра (можно использовать значения по умолчанию). Для целей этого руководства не проверяйте executor.emissary или managestorage.enabled .
Щелкните Развернуть и подождите несколько секунд, пока конвейер не будет развернут. Развертывая Kubeflow Pipelines, вы принимаете Условия обслуживания.
3. Настройте экземпляр ноутбука Cloud AI Platform.
Перейдите на страницу Vertex AI Workbench . При первом запуске Workbench вам потребуется включить Notebooks API.
В главном меню навигации: ≡ -> Vertex AI -> Workbench
При появлении запроса включите API Compute Engine.
Создайте новую записную книжку с установленным TensorFlow Enterprise 2.7 (или выше).
Новый ноутбук -> TensorFlow Enterprise 2.7 -> без графического процессора
Выберите регион и зону и дайте экземпляру записной книжки имя.
Чтобы не выходить за пределы уровня бесплатного пользования, вам может потребоваться изменить здесь настройки по умолчанию, чтобы уменьшить количество виртуальных ЦП, доступных для этого экземпляра, с 4 до 2:
- Выберите « Дополнительные параметры » в нижней части формы « Новая записная книжка ».
В разделе « Конфигурация компьютера» вы можете выбрать конфигурацию с 1 или 2 виртуальными ЦП, если вам нужно оставаться на уровне бесплатного пользования.
Подождите, пока будет создана новая записная книжка, а затем нажмите « Включить API записных книжек».
4. Запустите блокнот для начинающих.
Перейдите на страницу кластеров конвейеров платформы AI .
В главном меню навигации: ≡ -> AI Platform -> Pipelines.
В строке кластера, который вы используете в этом руководстве, щелкните Открыть панель мониторинга конвейеров .
На странице « Начало работы » нажмите «Открыть записную книжку Cloud AI Platform в Google Cloud» .
Выберите экземпляр Notebook, который вы используете для этого руководства, и нажмите « Продолжить », а затем « Подтвердить ».
5. Продолжайте работать в блокноте
Установить
Записная книжка по началу работы начинается с установки TFX и Kubeflow Pipelines (KFP) на виртуальную машину, в которой работает Jupyter Lab.
Затем он проверяет, какая версия TFX установлена, выполняет импорт, устанавливает и печатает идентификатор проекта:
Подключитесь к своим облачным сервисам Google
Для конфигурации конвейера требуется идентификатор вашего проекта, который вы можете получить через блокнот и установить в качестве переменной среды.
# Read GCP project id from env.
shell_output=!gcloud config list --format 'value(core.project)' 2>/dev/null
GCP_PROJECT_ID=shell_output[0]
print("GCP project ID:" + GCP_PROJECT_ID)
Теперь установите конечную точку кластера KFP.
Это можно найти по URL-адресу панели инструментов Pipelines. Перейдите на панель инструментов Kubeflow Pipeline и посмотрите на URL-адрес. Конечная точка — это все в URL-адресе, начиная с https://
и googleusercontent.com
.
ENDPOINT='' # Enter YOUR ENDPOINT here.
Затем блокнот устанавливает уникальное имя для пользовательского образа Docker:
# Docker image name for the pipeline image
CUSTOM_TFX_IMAGE='gcr.io/' + GCP_PROJECT_ID + '/tfx-pipeline'
6. Скопируйте шаблон в каталог вашего проекта
Отредактируйте следующую ячейку записной книжки, чтобы задать имя конвейера. В этом уроке мы будем использовать my_pipeline
.
PIPELINE_NAME="my_pipeline"
PROJECT_DIR=os.path.join(os.path.expanduser("~"),"imported",PIPELINE_NAME)
Затем блокнот использует интерфейс командной строки tfx
для копирования шаблона конвейера. В этом руководстве используется набор данных Chicago Taxi для выполнения бинарной классификации, поэтому шаблон устанавливает модель для taxi
:
!tfx template copy \
--pipeline-name={PIPELINE_NAME} \
--destination-path={PROJECT_DIR} \
--model=taxi
Затем блокнот изменяет свой контекст CWD на каталог проекта:
%cd {PROJECT_DIR}
Просмотрите файлы конвейера
С левой стороны блокнота Cloud AI Platform вы должны увидеть файловый браузер. Там должен быть каталог с именем вашего конвейера ( my_pipeline
). Откройте его и просмотрите файлы. (Вы также сможете открывать их и редактировать из среды записной книжки.)
# You can also list the files from the shell
ls
Вышеприведенная команда tfx template copy
создала базовый каркас файлов, которые создают конвейер. К ним относятся исходные коды Python, образцы данных и записные книжки Jupyter. Они предназначены для этого конкретного примера. Для ваших собственных конвейеров это будут вспомогательные файлы, которые требуются вашему конвейеру.
Вот краткое описание файлов Python.
-
pipeline
— этот каталог содержит определение конвейера-
configs.py
— определяет общие константы для запуска конвейера. -
pipeline.py
— определяет компоненты TFX и конвейер
-
-
models
— этот каталог содержит определения моделей машинного обучения.-
features.py
features_test.py
— определяет функции для модели. -
preprocessing.py
/preprocessing_test.py
— определяет задания предварительной обработки с использованиемtf::Transform
-
estimator
— этот каталог содержит модель на основе Estimator.-
constants.py
— определяет константы модели -
model.py
/model_test.py
— определяет модель DNN с помощью оценщика TF.
-
-
keras
— этот каталог содержит модель на основе Keras.-
constants.py
— определяет константы модели -
model.py
/model_test.py
— определяет модель DNN с помощью Keras
-
-
-
beam_runner.py
/kubeflow_runner.py
— определить бегунов для каждого механизма оркестровки.
7. Запустите свой первый конвейер TFX на Kubeflow
Блокнот запустит конвейер с помощью команды CLI tfx run
.
Подключиться к хранилищу
Запущенные конвейеры создают артефакты, которые необходимо хранить в метаданных ML . Артефакты относятся к полезной нагрузке, которая представляет собой файлы, которые должны храниться в файловой системе или блочном хранилище. В этом руководстве мы будем использовать GCS для хранения наших полезных данных метаданных, используя корзину, которая была создана автоматически во время установки. Его имя будет <your-project-id>-kubeflowpipelines-default
.
Создайте конвейер
Блокнот загрузит наши образцы данных в корзину GCS, чтобы мы могли использовать их позже в нашем конвейере.
gsutil cp data/data.csv gs://{GOOGLE_CLOUD_PROJECT}-kubeflowpipelines-default/tfx-template/data/taxi/data.csv
Затем блокнот использует команду tfx pipeline create
для создания конвейера.
!tfx pipeline create \
--pipeline-path=kubeflow_runner.py \
--endpoint={ENDPOINT} \
--build-image
При создании конвейера будет создан Dockerfile
для создания образа Docker. Не забудьте добавить эти файлы в вашу систему контроля версий (например, git) вместе с другими исходными файлами.
Запустить конвейер
Затем блокнот использует команду tfx run create
, чтобы запустить выполнение конвейера. Вы также увидите этот запуск в списке экспериментов на панели инструментов Kubeflow Pipelines.
tfx run create --pipeline-name={PIPELINE_NAME} --endpoint={ENDPOINT}
Вы можете просмотреть свой конвейер на панели инструментов Kubeflow Pipelines.
8. Подтвердите свои данные
Первая задача в любом проекте по науке о данных или машинному обучению — понять и очистить данные.
- Понимание типов данных для каждой функции
- Ищите аномалии и пропущенные значения
- Разберитесь с дистрибутивами для каждой функции
Составные части
- ExampleGen принимает и разбивает входной набор данных.
- StatisticsGen вычисляет статистику для набора данных.
- SchemaGen SchemaGen проверяет статистику и создает схему данных.
- ExampleValidator ищет аномалии и отсутствующие значения в наборе данных.
В редакторе файлов Jupyter lab:
В pipeline
/ pipeline.py
раскомментируйте строки, которые добавляют эти компоненты к вашему конвейеру:
# components.append(statistics_gen)
# components.append(schema_gen)
# components.append(example_validator)
( ExampleGen
уже был включен при копировании файлов шаблонов.)
Обновите конвейер и перезапустите его.
# Update the pipeline
! tfx pipeline update \
--pipeline-path=kubeflow_runner.py \
--endpoint={ENDPOINT}
! tfx run create --pipeline-name "{PIPELINE_NAME}"
Проверьте трубопровод
Для Kubeflow Orchestrator посетите панель инструментов KFP и найдите выходные данные конвейера на странице для запуска вашего конвейера. Нажмите вкладку «Эксперименты» слева и «Все запуски» на странице «Эксперименты». Вы должны быть в состоянии найти прогон по названию вашего конвейера.
Более сложный пример
Представленный здесь пример на самом деле предназначен только для того, чтобы вы начали. Более продвинутый пример см. в TensorFlow Data Validation Colab .
Дополнительные сведения об использовании TFDV для изучения и проверки набора данных см. в примерах на сайте tensorflow.org .
9. Разработка функций
Вы можете повысить прогностическое качество ваших данных и/или уменьшить размерность с помощью разработки признаков.
- Характерные кресты
- Словари
- Вложения
- СПС
- Категориальное кодирование
Одним из преимуществ использования TFX является то, что вы напишете свой код преобразования один раз, и полученные преобразования будут согласованными между обучением и обслуживанием.
Составные части
- Преобразование выполняет разработку функций в наборе данных.
В редакторе файлов Jupyter lab:
В файле pipeline.py
pipeline
и раскомментируйте строку, которая добавляет Transform к конвейеру.
# components.append(transform)
Обновите конвейер и перезапустите его.
# Update the pipeline
! tfx pipeline update \
--pipeline-path=kubeflow_runner.py \
--endpoint={ENDPOINT}
! tfx run create --pipeline-name "{PIPELINE_NAME}"
Проверьте выходные данные конвейера
Для Kubeflow Orchestrator посетите панель инструментов KFP и найдите выходные данные конвейера на странице для запуска вашего конвейера. Нажмите вкладку «Эксперименты» слева и «Все запуски» на странице «Эксперименты». Вы должны быть в состоянии найти прогон по названию вашего конвейера.
Более сложный пример
Представленный здесь пример на самом деле предназначен только для того, чтобы вы начали. Более продвинутый пример см. в TensorFlow Transform Colab .
10. Обучение
Обучите модель TensorFlow с вашими красивыми, чистыми, преобразованными данными.
- Включите преобразования из предыдущего шага, чтобы они применялись последовательно
- Сохраните результаты как SavedModel для производства.
- Визуализируйте и исследуйте процесс обучения с помощью TensorBoard
- Также сохраните EvalSavedModel для анализа производительности модели.
Составные части
- Тренер обучает модель TensorFlow.
В редакторе файлов Jupyter lab:
В файле pipeline.py
pipeline
и раскомментируйте файл, который добавляет Trainer к конвейеру:
# components.append(trainer)
Обновите конвейер и перезапустите его.
# Update the pipeline
! tfx pipeline update \
--pipeline-path=kubeflow_runner.py \
--endpoint={ENDPOINT}
! tfx run create --pipeline-name "{PIPELINE_NAME}"
Проверьте выходные данные конвейера
Для Kubeflow Orchestrator посетите панель инструментов KFP и найдите выходные данные конвейера на странице для запуска вашего конвейера. Нажмите вкладку «Эксперименты» слева и «Все запуски» на странице «Эксперименты». Вы должны быть в состоянии найти прогон по названию вашего конвейера.
Более сложный пример
Представленный здесь пример на самом деле предназначен только для того, чтобы вы начали. Более продвинутый пример смотрите в TensorBoard Tutorial .
11. Анализ производительности модели
Понимание не только метрик верхнего уровня.
- Пользователи испытывают производительность модели только для своих запросов
- Низкая производительность на срезах данных может быть скрыта метриками верхнего уровня.
- Справедливость модели важна
- Часто ключевые подмножества пользователей или данных очень важны и могут быть небольшими.
- Производительность в критических, но необычных условиях
- Производительность для ключевых аудиторий, таких как влиятельные лица
- Если вы заменяете модель, которая в настоящее время находится в производстве, сначала убедитесь, что новая модель лучше.
Составные части
- Оценщик выполняет глубокий анализ результатов обучения.
В редакторе файлов Jupyter lab:
В файле pipeline.py
pipeline
и раскомментируйте строку, которая добавляет Evaluator в конвейер:
components.append(evaluator)
Обновите конвейер и перезапустите его.
# Update the pipeline
! tfx pipeline update \
--pipeline-path=kubeflow_runner.py \
--endpoint={ENDPOINT}
! tfx run create --pipeline-name "{PIPELINE_NAME}"
Проверьте выходные данные конвейера
Для Kubeflow Orchestrator посетите панель инструментов KFP и найдите выходные данные конвейера на странице для запуска вашего конвейера. Нажмите вкладку «Эксперименты» слева и «Все запуски» на странице «Эксперименты». Вы должны быть в состоянии найти прогон по названию вашего конвейера.
12. Подача модели
Если новая модель готова, сделайте так.
- Pusher развертывает SavedModels в хорошо известных местах.
Цели развертывания получают новые модели из хорошо известных мест.
- Обслуживание TensorFlow
- ТензорФлоу Лайт
- ТензорФлоу JS
- Концентратор TensorFlow
Составные части
- Pusher развертывает модель в обслуживающей инфраструктуре.
В редакторе файлов Jupyter lab:
В файле pipeline.py
pipeline
и раскомментируйте строку, которая добавляет Pusher в конвейер:
# components.append(pusher)
Проверьте выходные данные конвейера
Для Kubeflow Orchestrator посетите панель инструментов KFP и найдите выходные данные конвейера на странице для запуска вашего конвейера. Нажмите вкладку «Эксперименты» слева и «Все запуски» на странице «Эксперименты». Вы должны быть в состоянии найти прогон по названию вашего конвейера.
Доступные цели развертывания
Вы обучили и проверили свою модель, и теперь она готова к производству. Теперь вы можете развернуть свою модель в любой из целей развертывания TensorFlow, включая:
- TensorFlow Serving для обслуживания вашей модели на сервере или ферме серверов и обработки запросов вывода REST и/или gRPC.
- TensorFlow Lite для включения вашей модели в собственное мобильное приложение Android или iOS или в приложение Raspberry Pi, IoT или микроконтроллер.
- TensorFlow.js для запуска вашей модели в веб-браузере или приложении Node.JS.
Более сложные примеры
Пример, представленный выше, на самом деле предназначен только для того, чтобы вы начали. Ниже приведены несколько примеров интеграции с другими облачными сервисами.
Рекомендации по ресурсам Kubeflow Pipelines
В зависимости от требований вашей рабочей нагрузки конфигурация по умолчанию для развертывания Kubeflow Pipelines может соответствовать или не соответствовать вашим потребностям. Вы можете настроить свои конфигурации ресурсов с помощью pipeline_operator_funcs
в вашем вызове KubeflowDagRunnerConfig
.
pipeline_operator_funcs
— это список элементов OpFunc
, который преобразует все сгенерированные экземпляры ContainerOp
в спецификацию конвейера KFP, скомпилированную из KubeflowDagRunner
.
Например, для настройки памяти мы можем использовать set_memory_request
, чтобы объявить необходимый объем памяти. Типичный способ сделать это — создать оболочку для set_memory_request
и использовать ее для добавления в список конвейерных OpFunc
:
def request_more_memory():
def _set_memory_spec(container_op):
container_op.set_memory_request('32G')
return _set_memory_spec
# Then use this opfunc in KubeflowDagRunner
pipeline_op_funcs = kubeflow_dag_runner.get_default_pipeline_operator_funcs()
pipeline_op_funcs.append(request_more_memory())
config = KubeflowDagRunnerConfig(
pipeline_operator_funcs=pipeline_op_funcs,
...
)
kubeflow_dag_runner.KubeflowDagRunner(config=config).run(pipeline)
Аналогичные функции настройки ресурсов включают в себя:
-
set_memory_limit
-
set_cpu_request
-
set_cpu_limit
-
set_gpu_limit
Попробуйте BigQueryExampleGen
BigQuery — это бессерверное, масштабируемое и экономичное облачное хранилище данных. BigQuery можно использовать как источник обучающих примеров в TFX. На этом этапе мы добавим BigQueryExampleGen
в конвейер.
В редакторе файлов Jupyter lab:
Дважды щелкните, чтобы открыть pipeline.py
Закомментируйте CsvExampleGen
и раскомментируйте строку, создающую экземпляр BigQueryExampleGen
. Вам также необходимо раскомментировать аргумент query
функции create_pipeline
.
Нам нужно указать, какой проект GCP использовать для BigQuery, и это делается установкой --project
в beam_pipeline_args
при создании пайплайна.
Дважды щелкните, чтобы открыть configs.py
. Раскомментируйте определение BIG_QUERY_WITH_DIRECT_RUNNER_BEAM_PIPELINE_ARGS
и BIG_QUERY_QUERY
. Вы должны заменить идентификатор проекта и значение региона в этом файле правильными значениями для вашего проекта GCP.
Сменить каталог на один уровень вверх. Щелкните имя каталога над списком файлов. Имя каталога — это имя конвейера, которое равно my_pipeline
, если вы не изменили имя конвейера.
Дважды щелкните, чтобы открыть kubeflow_runner.py
. Раскомментируйте два аргумента, query
и beam_pipeline_args
, для функции create_pipeline
.
Теперь конвейер готов использовать BigQuery в качестве примера источника. Обновите конвейер, как и раньше, и создайте новый запуск выполнения, как мы делали на шагах 5 и 6.
Обновите конвейер и перезапустите его.
# Update the pipeline
!tfx pipeline update \
--pipeline-path=kubeflow_runner.py \
--endpoint={ENDPOINT}
!tfx run create --pipeline-name {PIPELINE_NAME} --endpoint={ENDPOINT}
Попробуйте поток данных
Некоторые компоненты TFX используют Apache Beam для реализации параллельных конвейеров данных, а это означает, что вы можете распределять рабочие нагрузки по обработке данных с помощью Google Cloud Dataflow . На этом этапе мы настроим оркестратор Kubeflow на использование Dataflow в качестве серверной части обработки данных для Apache Beam.
# Select your project:
gcloud config set project YOUR_PROJECT_ID
# Get a list of services that you can enable in your project:
gcloud services list --available | grep Dataflow
# If you don't see dataflow.googleapis.com listed, that means you haven't been
# granted access to enable the Dataflow API. See your account adminstrator.
# Enable the Dataflow service:
gcloud services enable dataflow.googleapis.com
Дважды щелкните pipeline
, чтобы изменить каталог, и дважды щелкните, чтобы открыть configs.py
. Раскомментируйте определение GOOGLE_CLOUD_REGION
и DATAFLOW_BEAM_PIPELINE_ARGS
.
Сменить каталог на один уровень вверх. Щелкните имя каталога над списком файлов. Имя каталога — это имя конвейера, которое равно my_pipeline
, если вы не меняли его.
Дважды щелкните, чтобы открыть kubeflow_runner.py
. beam_pipeline_args
. (Также обязательно закомментируйте текущие beam_pipeline_args
, которые вы добавили на шаге 7.)
Обновите конвейер и перезапустите его.
# Update the pipeline
!tfx pipeline update \
--pipeline-path=kubeflow_runner.py \
--endpoint={ENDPOINT}
!tfx run create --pipeline-name {PIPELINE_NAME} --endpoint={ENDPOINT}
Вы можете найти свои задания Dataflow в Dataflow в Cloud Console .
Попробуйте обучение и прогнозирование платформы облачного ИИ с помощью KFP
TFX взаимодействует с несколькими управляемыми сервисами GCP, такими как Cloud AI Platform for Training and Prediction . Вы можете настроить компонент Trainer
для использования Cloud AI Platform Training, управляемой службы для обучения моделей машинного обучения. Более того, когда ваша модель построена и готова к обслуживанию, вы можете отправить ее в Cloud AI Platform Prediction для обслуживания. На этом этапе мы настроим наш компонент Trainer
и Pusher
для использования сервисов Cloud AI Platform.
Прежде чем редактировать файлы, вам, возможно, придется сначала включить AI Platform Training & Prediction API .
Дважды щелкните pipeline
, чтобы изменить каталог, и дважды щелкните, чтобы открыть configs.py
. Раскомментируйте определение GOOGLE_CLOUD_REGION
, GCP_AI_PLATFORM_TRAINING_ARGS
и GCP_AI_PLATFORM_SERVING_ARGS
. Мы будем использовать наш специально созданный образ контейнера для обучения модели в Cloud AI Platform Training, поэтому мы должны установить masterConfig.imageUri
в GCP_AI_PLATFORM_TRAINING_ARGS
то же значение, что и CUSTOM_TFX_IMAGE
выше.
Измените каталог на один уровень выше и дважды щелкните, чтобы открыть kubeflow_runner.py
. ai_platform_training_args
и ai_platform_serving_args
.
Обновите конвейер и перезапустите его.
# Update the pipeline
!tfx pipeline update \
--pipeline-path=kubeflow_runner.py \
--endpoint={ENDPOINT}
!tfx run create --pipeline-name {PIPELINE_NAME} --endpoint={ENDPOINT}
Вы можете найти работу по обучению в Cloud AI Platform Jobs . Если ваш пайплайн успешно завершен, вы можете найти свою модель в Cloud AI Platform Models .
14. Используйте свои собственные данные
В этом руководстве вы создали конвейер для модели с использованием набора данных Chicago Taxi. Теперь попробуйте поместить свои собственные данные в конвейер. Ваши данные могут храниться везде, где конвейер может получить к ним доступ, включая Google Cloud Storage, BigQuery или файлы CSV.
Вам необходимо изменить определение конвейера, чтобы оно соответствовало вашим данным.
Если ваши данные хранятся в файлах
- Измените
DATA_PATH
вkubeflow_runner.py
, указав местоположение.
Если ваши данные хранятся в BigQuery
- Измените
BIG_QUERY_QUERY
в configs.py на свой оператор запроса. - Добавьте функции в
models
/features.py
. - Измените
models
/preprocessing.py
, чтобы преобразовать входные данные для обучения . - Измените
models
/keras
/model.py
иmodels
/keras
/constants.py
, чтобы они описывали вашу модель машинного обучения.
Узнать больше о тренере
Дополнительные сведения о конвейерах обучения см. в руководстве по компоненту Trainer .
Убираться
Чтобы очистить все ресурсы Google Cloud, используемые в этом проекте, вы можете удалить проект Google Cloud, который вы использовали для руководства.
Кроме того, вы можете очистить отдельные ресурсы, посетив каждую консоль: - Google Cloud Storage - Google Container Registry - Google Kubernetes Engine.