Чтобы развернуть модели машинного обучения после того, как вы их экспортируете, вам нужно развернуть экспортируемые модели. Первый шаг в развертывании ваших моделей — хранить их в ведре 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»