TFX на конвейерах платформы облачного ИИ

Введение

Это руководство предназначено для ознакомления с конвейерами 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. Если он у вас уже есть, перейдите к разделу «Создать новый проект» .

  1. Перейдите в облачную консоль Google .

  2. Примите условия Google Cloud

  3. Если вы хотите начать с бесплатной пробной учетной записи, нажмите « Попробовать бесплатно » (или «Начать бесплатно »).

    1. Выберите свою страну.

    2. Согласитесь с условиями обслуживания.

    3. Введите платежные реквизиты.

      На этом этапе с вас не будет взиматься плата. Если у вас нет других проектов Google Cloud, вы можете выполнить это руководство, не превышая ограничения уровня бесплатного пользования Google Cloud , которые включают до 8 ядер, работающих одновременно.

1.b Создайте новый проект.

  1. На главной панели управления Google Cloud щелкните раскрывающийся список проектов рядом с заголовком Google Cloud Platform и выберите «Новый проект» .
  2. Дайте вашему проекту имя и введите другие сведения о проекте.
  3. После создания проекта обязательно выберите его в раскрывающемся списке проектов.

2. Настройте и разверните AI Platform Pipeline в новом кластере Kubernetes.

  1. Перейдите на страницу кластеров конвейеров платформы AI .

    В главном меню навигации: ≡ > AI Platform > Pipelines.

  2. Нажмите + New Instance , чтобы создать новый кластер.

  3. На странице обзора Kubeflow Pipelines нажмите Configure .

  4. Нажмите «Включить», чтобы включить Kubernetes Engine API.

  5. На странице « Развертывание конвейеров Kubeflow »:

    1. Выберите зону (или «регион») для своего кластера. Сеть и подсеть можно установить, но для целей этого руководства мы оставим их по умолчанию.

    2. ВАЖНО Установите флажок Разрешить доступ к следующим облачным API . (Это необходимо для того, чтобы этот кластер имел доступ к другим частям вашего проекта. Если вы пропустите этот шаг, исправить его позже будет немного сложно.)

    3. Щелкните Create New Cluster и подождите несколько минут, пока кластер не будет создан. Это займет несколько минут. Когда он завершится, вы увидите сообщение вроде:

      Кластер «кластер-1» успешно создан в зоне «us-central1-a».

    4. Выберите пространство имен и имя экземпляра (можно использовать значения по умолчанию). Для целей этого руководства не проверяйте executor.emissary или managestorage.enabled .

    5. Щелкните Развернуть и подождите несколько секунд, пока конвейер не будет развернут. Развертывая Kubeflow Pipelines, вы принимаете Условия обслуживания.

3. Настройте экземпляр ноутбука Cloud AI Platform.

  1. Перейдите на страницу Vertex AI Workbench . При первом запуске Workbench вам потребуется включить Notebooks API.

    В главном меню навигации: ≡ -> Vertex AI -> Workbench

  2. При появлении запроса включите API Compute Engine.

  3. Создайте новую записную книжку с установленным TensorFlow Enterprise 2.7 (или выше).

    Новый ноутбук -> TensorFlow Enterprise 2.7 -> без графического процессора

    Выберите регион и зону и дайте экземпляру записной книжки имя.

    Чтобы не выходить за пределы уровня бесплатного пользования, вам может потребоваться изменить здесь настройки по умолчанию, чтобы уменьшить количество виртуальных ЦП, доступных для этого экземпляра, с 4 до 2:

    1. Выберите « Дополнительные параметры » в нижней части формы « Новая записная книжка ».
    2. В разделе « Конфигурация компьютера» вы можете выбрать конфигурацию с 1 или 2 виртуальными ЦП, если вам нужно оставаться на уровне бесплатного пользования.

    3. Подождите, пока будет создана новая записная книжка, а затем нажмите « Включить API записных книжек».

4. Запустите блокнот для начинающих.

  1. Перейдите на страницу кластеров конвейеров платформы AI .

    В главном меню навигации: ≡ -> AI Platform -> Pipelines.

  2. В строке кластера, который вы используете в этом руководстве, щелкните Открыть панель мониторинга конвейеров .

  3. На странице « Начало работы » нажмите «Открыть записную книжку Cloud AI Platform в Google Cloud» .

  4. Выберите экземпляр Notebook, который вы используете для этого руководства, и нажмите « Продолжить », а затем « Подтвердить ».

    выбрать блокнот

5. Продолжайте работать в блокноте

Установить

Записная книжка по началу работы начинается с установки TFX и Kubeflow Pipelines (KFP) на виртуальную машину, в которой работает Jupyter Lab.

Затем он проверяет, какая версия TFX установлена, выполняет импорт, устанавливает и печатает идентификатор проекта:

проверить версию python и импортировать

Подключитесь к своим облачным сервисам 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 для анализа производительности модели.

Составные части

В редакторе файлов 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.

Вам необходимо изменить определение конвейера, чтобы оно соответствовало вашим данным.

Если ваши данные хранятся в файлах

  1. Измените DATA_PATH в kubeflow_runner.py , указав местоположение.

Если ваши данные хранятся в BigQuery

  1. Измените BIG_QUERY_QUERY в configs.py на свой оператор запроса.
  2. Добавьте функции в models / features.py .
  3. Измените models / preprocessing.py , чтобы преобразовать входные данные для обучения .
  4. Измените models / keras / model.py и models / keras / constants.py , чтобы они описывали вашу модель машинного обучения.

Узнать больше о тренере

Дополнительные сведения о конвейерах обучения см. в руководстве по компоненту Trainer .

Убираться

Чтобы очистить все ресурсы Google Cloud, используемые в этом проекте, вы можете удалить проект Google Cloud, который вы использовали для руководства.

Кроме того, вы можете очистить отдельные ресурсы, посетив каждую консоль: - Google Cloud Storage - Google Container Registry - Google Kubernetes Engine.