Рубрики
Uncategorized

Развертывание моделей на GCP

Чтобы развернуть свои модели машинного обучения после их экспорта, вам нужно развернуть экспортируемые … Tagged с Google Cloud, Machine Learning, DevOps.

Чтобы развернуть модели машинного обучения после того, как вы их экспортируете, вам нужно развернуть экспортируемые модели. Первый шаг в развертывании ваших моделей — хранить их в ведре Google Cloud Storage. В целом, выделенное ведро облачного хранилища легче использовать для того же проекта для платформы Google Cloud AI. Если вы используете ведро из другого проекта, вам необходимо убедиться, что у вас есть доступ к вашей модели облачного хранилища в своей учетной записи службы платформы Google Cloud AI. Ваша попытка создать версию модели Google Cloud Ai Platform Platform будет проходить без необходимых разрешений.

Давайте начнем с того, как создать ведро для хранения Google Cloud. Существующее ведро можно использовать, но оно должно быть в той же области, где вы планируете работать на платформе Google Cloud AI. Следующий код может помочь вам создать новое ведро:

BUCKET_NAME="google_cloud_ai_platform_your_bucket_name"

PROJECT_ID=$(gcloud config list project --format "value(core.project)")

BUCKET_NAME=${PROJECT_ID}-mlengine

echo $BUCKET_NAME

REGION=us-east2

gsutil mb -l $REGION gs://$BUCKET_NAME


Загрузка сохраненных моделей в ведро для хранения Google

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

SAVED_MODEL_DIR=$(ls ./your-export-dir-base | tail -1)
gsutil cp -r $SAVED_MODEL_DIR gs://your-bucket

Если вы экспортировали свою модель, используя Scikit-Learn или Xgboost, то вы можете использовать следующий код для экспорта ваших моделей в .joblib, *.pk1 или *.bst Форматы:

gsutil cp ./model.joblib gs://your-bucket/model.joblib
gsutil cp ./model.pkl gs://your-bucket/model.pkl
gsutil cp ./model.bst gs://your-bucket/model.bst

Развертывание моделей и их версию

Платформа Google Cloud AI использует ресурсы модели и версии для организации ваших обученных моделей. Платформа AI — это контейнер для моделей вашей учебной машины. На платформе искусственного интеллекта вы создаете ресурс базы данных для развертывания модели, создавать модельную версию, а затем подключать версию модели с файлом модели, который хранится в облачном хранилище. Вы можете использовать консоль GCLOUD для создания инструмента по умолчанию для версий продукта, заполняя предпочтительное имя модели без закрытых кронштейнов, как показано здесь:

gcloud ai-platform models create "[YOUR-MODEL-NAME]"

Например, модельная версия с функцией идентификации сервисного агента ML ML (IAM) имеет разрешения со стороны учетной записи, управляемой Google. Для большинства ситуаций эта учетная запись службы по умолчанию является адекватной. Однако, если вы используете пользовательскую процедуру прогнозирования и нуждаетесь в другом наборе разрешений в версии вашей модели, вы можете добавить другую учетную запись службы для вашего использования. Например, если ваша версия модели требует доступа к ведро облачного хранилища из конкретного облачного проекта Google, можно определить учетную запись службы с разрешением чтения из этого ведра. Пример кода Python для создания учетной записи службы показан в следующем блоке кода:

import os

from google.oauth2 import service_account
import googleapiclient.discovery


def create_service_account(project_id, name, display_name):

  """Creates a service account."""
  credentials=service_account.Credentials.from_service_account_file(filename=os.environ['GOOGLE_APPLICATION_CREDENTIALS'],
      scopes['https://www.googleapis.com/auth/ cloud-platform'])

  service = googleapiclient.discovery.build('iam', 'v1', credentials=credentials)

  my_service_account = service.projects().serviceAccounts().create( name='projects/' + project_id, 
        body={ 'accountId': name,'serviceAccount': {'displayName':display_name}}
      ).execute()

  print('Created service account: ' + my_service_account['email'])

  return my_service_account


Оригинал: «https://dev.to/salah856/deploying-the-models-on-gcp-36ak»