Развертывание модели PyTorch в AI Platform - PullRequest
1 голос
/ 27 февраля 2020

Я развертываю модель Pytorch в Google Cloud AI Platform, получаю следующую ошибку:

ERROR: (gcloud.beta.ai-platform.versions.create) Create Version failed. Bad model detected with error: Model requires more memory than allowed. Please try to decrease the model size and re-deploy. If you continue to have error, please contact Cloud ML.

Конфигурация:

setup.py

from setuptools import setup

REQUIRED_PACKAGES = ['torch']

setup(
    name="iris-custom-model",
    version="0.1",
    scripts=["model.py"],
    install_requires=REQUIRED_PACKAGES
)

Создание версии модели

MODEL_VERSION='v1'
RUNTIME_VERSION='1.15'
MODEL_CLASS='model.PyTorchIrisClassifier'

!gcloud beta ai-platform versions create {MODEL_VERSION} --model={MODEL_NAME} \
            --origin=gs://{BUCKET}/{GCS_MODEL_DIR} \
            --python-version=3.7 \
            --runtime-version={RUNTIME_VERSION} \
            --package-uris=gs://{BUCKET}/{GCS_PACKAGE_URI} \
            --prediction-class={MODEL_CLASS}

1 Ответ

0 голосов
/ 27 февраля 2020

Вам необходимо использовать скомпилированные пакеты Pytorch, совместимые с платформой Cloud AI. Информация о пакете здесь

Этот блок содержит скомпилированные пакеты для PyTorch, совместимые с платформой Cloud AI прогнозирование. Файлы отражены в официальных сборках по адресу https://download.pytorch.org/whl/cpu/torch_stable.html

Из документации

Чтобы развернуть модель PyTorch в онлайн-прогнозах Cloud AI Platform, вы необходимо добавить один из этих пакетов в поле packageURIs в развернутой версии. Выберите пакет, соответствующий вашей версии Python и PyTorch. Имена пакетов следуют этому шаблону:

Имя пакета = torch-{TORCH_VERSION_NUMBER}-{PYTHON_VERSION}-linux_x86_64.whl, где PYTHON_VERSION = cp35-cp35m для Python 3 с версиями времени выполнения <1.15, cp37-cp37m для Python 3 с версиями времени выполнения> = 1.15

Например, если бы я развернул модель PyTorch на основе PyTorch 1.1.0 и Python 3, моя команда gcloud выглядела бы так:

gcloud beta ai-platform versions create {VERSION_NAME} --model {MODEL_NAME} 
 ...
--package-uris=gs://{MY_PACKAGE_BUCKET}/my_package-0.1.tar.gz,gs://cloud->ai-pytorch/torch-1.1.0-cp35-cp35m-linux_x86_64.whl

В итоге:

1) Удалите torch из ваших install_requires зависимостей в setup.py

2) Включите пакет torch при создании модели версии.

!gcloud beta ai-platform versions create {VERSION_NAME} --model {MODEL_NAME} \
 --origin=gs://{BUCKET}/{MODEL_DIR}/ \
 --python-version=3.7 \
 --runtime-version={RUNTIME_VERSION} \
 --package-uris=gs://{BUCKET}/{PACKAGES_DIR}/text_classification-0.1.tar.gz,gs://cloud-ai-pytorch/torch-1.3.1+cpu-cp37-cp37m-linux_x86_64.whl \
 --prediction-class=model_prediction.CustomModelPrediction
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...