Устранение неполадок с средой

Из этой статьи вы узнаете, как устранять распространенные проблемы, с которыми могут столкнуться сборки образов среды и узнать об уязвимостях среды AzureML.

Мы активно ищем ваши отзывы! Если вы перейдете на эту страницу с помощью журналов определения среды или анализа сбоев сборки, мы хотели бы узнать, полезна ли функция для вас или если вы хотите сообщить о сценарии сбоя, который еще не рассматривается нашим анализом. Вы также можете оставить отзыв об этой документации. Оставьте свои мысли здесь.

Среды Машинного обучения Azure

Среды Машинного обучения Azure представляют собой инкапсуляцию среды, в которой происходит машинное обучение. Они определяют базовый образ Docker, пакеты Python и параметры программного обеспечения для ваших скриптов обучения и оценки. Среды — это управляемые ресурсы с контролем версий в рабочей области Машинного обучения, которые обеспечивают воспроизводимые и переносимые рабочие процессы машинного обучения, поддерживающие аудит, в разных целевых объектах вычислений.

Типы сред

Среды делятся на три категории: курированные, управляемые пользователем и управляемые системой.

Курируемые среды — это предварительно созданные среды, управляемые Машинное обучение Azure и доступны по умолчанию в каждой рабочей области. Они содержат коллекции пакетов и параметров Python, которые помогут вам приступить к работе с различными платформами машинного обучения, и вы должны использовать их как есть. Эти предварительно созданные среды также обеспечивают более быстрое время развертывания.

В средах, управляемых пользователями, вы несете ответственность за настройку среды и установку каждого пакета, который необходим вашему обучающему сценарию на целевом объекте вычислений. Также обязательно включите все зависимости, необходимые для развертывания модели.

Эти типы сред имеют два подтипа. Для первого типа BYOC (принести собственный контейнер), вы доведете существующий образ Docker к Машинное обучение Azure. Во втором типе среды на основе контекста сборки Docker Машинное обучение Azure материализует изображение из предоставленного контекста.

Если вы хотите, чтобы conda управляла средой Python для вас, используйте системную среду. Машинное обучение Azure создает новую изолированную среду conda, материализуя спецификацию conda на основе базового образа Docker. По умолчанию Машинное обучение Azure добавляет общие функции в производный образ. Все пакеты Python, присутствующих в базовом образе, недоступны в изолированной среде conda.

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

Вы можете создавать среды и управлять ими из клиентов, таких как пакет SDK для Python Машинное обучение Azure Python, Машинное обучение Azure CLI, пользовательский интерфейс Машинное обучение Azure Studio, расширение Visual Studio Code.

"Анонимные" среды автоматически регистрируются в вашей рабочей области, когда вы отправляете эксперимент без регистрации или ссылки на уже существующую среду. Они не указаны, но их можно получить по версии или метки.

Машинное обучение Azure создает определения среды в образы Docker. Кроме того, он кэширует образы в Реестр контейнеров Azure, связанных с рабочей областью Машинное обучение Azure, чтобы их можно было повторно использовать в последующих заданиях обучения и развертываниях конечных точек службы. Несколько сред с одинаковым определением могут привести к тому же кэшированному изображению.

Для выполнения скрипта обучения удаленно требуется создать образ Docker.

Уязвимости в средах AzureML

Вы можете устранить уязвимости, обновив более новую версию зависимости (базовый образ, пакет Python и т. д.) или переключившись на другую зависимость, которая удовлетворяет требованиям безопасности. Устранение уязвимостей занимает много времени и затратно, так как может потребовать рефакторинг кода и инфраструктуры. При распространенности открытый код программного обеспечения и использования сложных вложенных зависимостей важно управлять уязвимостями и отслеживать их.

Существует несколько способов снижения влияния уязвимостей:

  • Уменьшите количество зависимостей. Используйте минимальный набор зависимостей для каждого сценария.
  • Секционируйте среду, чтобы можно было область и устранить проблемы в одном месте.
  • Ознакомьтесь с помеченными уязвимостями и их релевантностью для вашего сценария.

Проверка уязвимостей

Вы можете отслеживать и поддерживать гигиену среды с помощью Microsoft Defender для реестра контейнеров, чтобы помочь сканировать образы уязвимостей.

Чтобы автоматизировать этот процесс на основе триггеров из Microsoft Defender, см. раздел "Автоматизация ответов на триггеры Microsoft Defender для облака".

Уязвимости и воспроизводимость

Воспроизводимость является одной из основ разработки программного обеспечения. При разработке рабочего кода повторная операция должна гарантировать тот же результат. Устранение уязвимостей может нарушить воспроизводимость путем изменения зависимостей.

основное внимание Машинное обучение Azure заключается в обеспечении воспроизводимости. Среды делятся на три категории: курированные, управляемые пользователем и управляемые системой.

Курированные среды

Курируемые среды — это предварительно созданные среды, которые Машинное обучение Azure управляют и доступны по умолчанию в каждой подготовленной Машинное обучение Azure рабочей области. Новые версии выпускаются Машинное обучение Azure для устранения уязвимостей. Можно ли использовать последнее изображение как компромисс между воспроизводимостью и управление уязвимостями.

Курированные среды содержат коллекции пакетов и параметров Python, которые помогут вам приступить к работе с различными платформами машинного обучения. Вы должны использовать их как есть. Эти предварительно созданные среды также обеспечивают более быстрое время развертывания.

Управляемые пользователем среды

В управляемых пользователем средах вы отвечаете за настройку среды и установку каждого пакета, который требуется скрипту обучения в целевом объекте вычислений и развертывании модели. Эти типы сред имеют два подтипа:

  • BYOC (принести собственный контейнер): пользователь предоставляет образ Docker для Машинное обучение Azure
  • Контекст сборки Docker: Машинное обучение Azure материализует изображение из предоставленного пользователем содержимого

После установки дополнительных зависимостей на вершине предоставленного корпорацией Майкрософт образа или принести собственный базовый образ, управление уязвимостями становится вашей ответственностью.

Системные управляемые среды

Если необходимо, чтобы Conda управляла средой Python, вы используете среду, управляемую системой. Машинное обучение Azure создает новую изолированную среду conda, материализуя спецификацию conda на основе базового образа Docker. Хотя Машинное обучение Azure исправления базовых образов с каждым выпуском, возможно ли использование последнего образа, может быть компромиссом между воспроизводимостью и управление уязвимостями. Поэтому вы несете ответственность за выбор версии среды, используемой для заданий или развертываний моделей при использовании системных сред.

Уязвимости: распространенные проблемы

Уязвимости в базовых образах Docker

Уязвимости системы в среде обычно представлены из базового образа. Например, уязвимости, помеченные как Ubuntu или Debian, относятся к системным уровням среды — базовому образу Docker. Если базовый образ получен из стороннего издателя, проверка, если последняя версия исправлена для помеченных уязвимостей. Наиболее распространенные источники базовых образов в Машинное обучение Azure:

  • Реестр артефактов Microsoft (MAR) ака Реестр контейнеров Майкрософт (mcr.microsoft.com).
    • Изображения могут быть перечислены на домашней странице MAR, вызове API каталога или /tags/list
    • Заметки о исходном и выпуске для обучения базовых образов из AzureML можно найти в Azure/AzureML-Containers
  • Nvidia (nvcr.io или профиль nvidia)

Если последняя версия базового образа не устраняет уязвимости, уязвимости базового образа можно устранить путем установки версий, рекомендуемых при проверке уязвимостей:

apt-get install -y library_name

Уязвимости в пакетах Python

Уязвимости также могут быть установлены пакеты Python на основе управляемого системой базового образа. Эти уязвимости, связанные с Python, должны быть устранены путем обновления зависимостей Python. Уязвимости Python (pip) на изображении обычно происходят из определяемых пользователем зависимостей.

Чтобы найти известные уязвимости и решения Python, ознакомьтесь с базой данных рекомендаций GitHub. Чтобы устранить уязвимости Python, обновите пакет до версии, которая исправлена для помеченной проблемы:

pip install -u my_package=={good.version}

Если вы используете среду conda, обновите ссылку в файле зависимостей conda.

В некоторых случаях пакеты Python будут автоматически установлены во время настройки среды conda на основе базового образа Docker. Действия по устранению рисков для этих пакетов совпадают с действиями, описанными в пакетах, представленных пользователем. Conda устанавливает необходимые зависимости для каждой среды, в которой она материализуется. Пакеты, такие как криптография, программа установки, колесо и т. д., будут автоматически установлены из каналов по умолчанию conda. Существует известная проблема с каналом anaconda по умолчанию, отсутствующими последними версиями пакетов, поэтому рекомендуется определить приоритеты канала conda-forge, поддерживаемого сообществом. В противном случае явно укажите пакеты и версии, даже если вы не ссылаетесь на них в коде, который планируется выполнить в этой среде.

Проблемы с кэшем

Связанная с рабочей областью Машинное обучение Azure — это экземпляр Реестр контейнеров Azure, который является кэшем для образов контейнеров. Любой материализованный образ отправляется в реестр контейнеров и используется при активации экспериментирования или развертывания для соответствующей среды. Машинное обучение Azure не удаляет образы из реестра контейнеров, и вы несете ответственность за оценку того, какие образы необходимо поддерживать с течением времени.

Устранение неполадок сборок образа среды

Узнайте, как устранять неполадки сборок образов среды и установок пакетов.

Проблемы определения среды

Проблемы с именем среды

Исправленный префикс не разрешен

Эта проблема может возникать, если имя пользовательской среды использует термины, зарезервированные только для курируемых сред. Курируемые среды — это среды, поддерживающие корпорацию Майкрософт. Пользовательские среды — это среды, которые создаются и поддерживаются.

Возможные причины:

  • Имя среды начинается с Microsoft или AzureML

Затронутые области (симптомы):

  • Сбой при регистрации среды

Действия по устранению неполадок

Обновите имя среды, чтобы исключить зарезервированный префикс, который вы используете в настоящее время.

Ресурсы

Слишком длинное имя среды

Возможные причины:

  • Имя среды превышает 255 символов.

Затронутые области (симптомы):

  • Сбой при регистрации среды

Действия по устранению неполадок

Обновление имени среды до 255 символов или меньше

Проблемы Docker

ОБЛАСТЬ ПРИМЕНЕНИЯ: Расширение ML для Azure CLI версии 1

ОБЛАСТЬ ПРИМЕНЕНИЯ:Пакет SDK для Python для ML Azure версии 1

Чтобы создать новую среду, необходимо использовать один из следующих подходов (см . раздел DockerSection):

  • Базовый образ
    • Укажите имя базового образа, репозиторий, из которого нужно извлечь его, и учетные данные при необходимости
    • Предоставьте спецификацию Conda.
  • Базовый Dockerfile
    • Предоставьте Dockerfile.
    • Предоставьте спецификацию Conda.
  • Контекст сборки Docker
    • Предоставьте расположение контекста сборки (URL-адрес).
    • Контекст сборки должен содержать по крайней мере Dockerfile, но может содержать и другие файлы.

ОБЛАСТЬ ПРИМЕНЕНИЯ:расширение Машинного обучения для Azure CLI версии 2 (текущая версия)

ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python azure-ai-ml версии 2 (current)

Чтобы создать новую среду, необходимо использовать один из следующих подходов:

  • Образ Docker
    • Укажите URI образа, размещенного в реестре, например Docker Hub или Реестр контейнеров Azure
    • Пример здесь
  • Контекст сборки Docker
    • Укажите каталог, который служит контекстом сборки
    • Каталог должен содержать Dockerfile и любые другие файлы, необходимые для сборки образа.
    • Пример здесь
  • Спецификация Conda
    • Необходимо указать базовый образ Docker для среды; Машинное обучение Azure создает среду conda на основе предоставленного образа Docker
    • Укажите относительный путь к файлу conda
    • Пример здесь

Отсутствует определение Docker

ОБЛАСТЬ ПРИМЕНЕНИЯ:Пакет SDK для Python для ML Azure версии 1

Эта проблема может возникать DockerSection, когда определение среды отсутствует. В этом разделе настраивается параметры, связанные с окончательным образом Docker, созданным из спецификации среды.

Возможные причины:

  • Вы не указали DockerSection определение среды

Затронутые области (симптомы):

  • Сбой при регистрации среды

Действия по устранению неполадок

Добавьте определение DockerSection среды, указав базовый образ, базовый файл dockerfile или контекст сборки Docker.

from azureml.core import Environment
myenv = Environment(name="myenv")
# Specify docker steps as a string.
dockerfile = r'''
FROM mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04
RUN echo "Hello from custom container!"
'''

myenv.docker.base_dockerfile = dockerfile

Ресурсы

Слишком много вариантов Docker

Возможные причины:

ОБЛАСТЬ ПРИМЕНЕНИЯ:Пакет SDK для Python для ML Azure версии 1

У вас есть несколько из этих параметров Docker, указанных в определении среды.

  • base_image
  • base_dockerfile
  • build_context
  • Дополнительные сведения см. в статье DockerSection.

ОБЛАСТЬ ПРИМЕНЕНИЯ:расширение Машинного обучения для Azure CLI версии 2 (текущая версия)

ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python azure-ai-ml версии 2 (current)

У вас есть несколько из этих параметров Docker, указанных в определении среды.

Затронутые области (симптомы):

  • Сбой при регистрации среды

Действия по устранению неполадок

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

ОБЛАСТЬ ПРИМЕНЕНИЯ:Пакет SDK для Python для ML Azure версии 1

from azureml.core import Environment
myenv = Environment(name="myEnv")
dockerfile = r'''
FROM mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04
RUN echo "Hello from custom container!"
'''
myenv.docker.base_dockerfile = dockerfile
myenv.docker.base_image = "pytorch/pytorch:latest"

# Having both base dockerfile and base image set will cause failure. Delete the one you won't use.
myenv.docker.base_image = None

Отсутствует параметр Docker

Возможные причины:

Вы не указали один из следующих параметров в определении среды.

  • base_image
  • base_dockerfile
  • build_context
  • Дополнительные сведения см. в статье DockerSection.

ОБЛАСТЬ ПРИМЕНЕНИЯ:расширение Машинного обучения для Azure CLI версии 2 (текущая версия)

ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python azure-ai-ml версии 2 (current)

Вы не указали один из следующих параметров в определении среды.

Затронутые области (симптомы):

  • Сбой при регистрации среды

Действия по устранению неполадок

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

ОБЛАСТЬ ПРИМЕНЕНИЯ:Пакет SDK для Python для ML Azure версии 1

from azureml.core import Environment
myenv = Environment(name="myEnv")
myenv.docker.base_image = "pytorch/pytorch:latest"

ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python azure-ai-ml версии 2 (current)

env_docker_image = Environment(
    image="pytorch/pytorch:latest",
    name="docker-image-example",
    description="Environment created from a Docker image.",
)
ml_client.environments.create_or_update(env_docker_image)

Ресурсы

Учетные данные реестра контейнеров отсутствуют либо имя пользователя, либо пароль

Возможные причины:

  • Вы указали имя пользователя или пароль для реестра контейнеров в определении среды, но не оба

Затронутые области (симптомы):

  • Сбой при регистрации среды

Действия по устранению неполадок

ОБЛАСТЬ ПРИМЕНЕНИЯ:Пакет SDK для Python для ML Azure версии 1

Добавьте отсутствующие имя пользователя или пароль в определение среды, чтобы устранить проблему

myEnv.docker.base_image_registry.username = "username"

Кроме того, предоставьте проверку подлинности через подключения к рабочей области

from azureml.core import Workspace
ws = Workspace.from_config()
ws.set_connection("connection1", "ACR", "<URL>", "Basic", "{'Username': '<username>', 'Password': '<password>'}")

ОБЛАСТЬ ПРИМЕНЕНИЯ:расширение Машинного обучения для Azure CLI версии 2 (текущая версия)

Создание подключения к рабочей области из файла спецификации YAML

az ml connection create --file connection.yml --resource-group my-resource-group --workspace-name my-workspace

Примечание.

  • Предоставление учетных данных в определении среды больше не поддерживается. Используйте вместо этого подключения к рабочей области.

Ресурсы

Несколько учетных данных для реестра базовых образов

Возможные причины:

  • Вы указали несколько наборов учетных данных для реестра базовых образов

Затронутые области (симптомы):

  • Сбой при регистрации среды

Действия по устранению неполадок

ОБЛАСТЬ ПРИМЕНЕНИЯ:Пакет SDK для Python для ML Azure версии 1

Если вы используете подключения к рабочей области, просмотрите заданные подключения и удалите нужные подключения.

from azureml.core import Workspace
ws = Workspace.from_config()
ws.list_connections()
ws.delete_connection("myConnection2")

Если вы указали учетные данные в определении среды, выберите один набор учетных данных для использования и задайте для всех остальных значение NULL.

myEnv.docker.base_image_registry.registry_identity = None

Примечание.

  • Предоставление учетных данных в определении среды больше не поддерживается. Используйте вместо этого подключения к рабочей области.

Ресурсы

Секреты в реестре базовых образов

Возможные причины:

  • Вы указали учетные данные в определении среды

Затронутые области (симптомы):

  • Сбой при регистрации среды

Действия по устранению неполадок

Указание учетных данных в определении среды больше не поддерживается. Удалите учетные данные из определения среды и используйте подключения к рабочей области.

ОБЛАСТЬ ПРИМЕНЕНИЯ:Пакет SDK для Python для ML Azure версии 1

Настройка подключения к рабочей области

from azureml.core import Workspace
ws = Workspace.from_config()
ws.set_connection("connection1", "ACR", "<URL>", "Basic", "{'Username': '<username>', 'Password': '<password>'}")

ОБЛАСТЬ ПРИМЕНЕНИЯ:расширение Машинного обучения для Azure CLI версии 2 (текущая версия)

Создание подключения к рабочей области из файла спецификации YAML

az ml connection create --file connection.yml --resource-group my-resource-group --workspace-name my-workspace

Ресурсы

Устаревший атрибут Docker

Возможные причины:

  • Вы указали атрибуты Docker в определении среды, которые теперь устарели
  • Ниже перечислены устаревшие свойства:
    • enabled
    • arguments
    • shared_volumes
    • gpu_support
      • Машинное обучение Azure теперь автоматически обнаруживает и использует расширение NVIDIA Docker при наличии
    • smh_size

Затронутые области (симптомы):

  • Сбой при регистрации среды

Действия по устранению неполадок

ОБЛАСТЬ ПРИМЕНЕНИЯ:Пакет SDK для Python для ML Azure версии 1

Вместо указания этих атрибутов в DockerSection определении среды используйте DockerConfiguration

Ресурсы

Длина Dockerfile превышает ограничение

Возможные причины:

  • Указанный файл Dockerfile превысил максимальный размер 100 КБ

Затронутые области (симптомы):

  • Сбой при регистрации среды

Действия по устранению неполадок

Сокращение файла Dockerfile, чтобы получить его под этим ограничением

Ресурсы

Проблемы с контекстом сборки Docker

Отсутствует расположение контекста сборки Docker

Возможные причины:

  • Вы не указали путь к каталогу контекста сборки в определении среды

Затронутые области (симптомы):

  • Сбой при регистрации среды

Действия по устранению неполадок

ОБЛАСТЬ ПРИМЕНЕНИЯ:Пакет SDK для Python для ML Azure версии 1

Включение пути в build_context dockerSection

ОБЛАСТЬ ПРИМЕНЕНИЯ:расширение Машинного обучения для Azure CLI версии 2 (текущая версия)

ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python azure-ai-ml версии 2 (current)

Убедитесь, что вы включили путь к контексту сборки

Ресурсы

Отсутствует путь Dockerfile

Эта проблема может возникать, если Машинное обучение Azure не удается найти Файл Dockerfile. По умолчанию Машинное обучение Azure ищет Dockerfile с именем Dockerfile в корне каталога контекста сборки, если не указать путь к Dockerfile.

Возможные причины:

  • Dockerfile не находится в корне каталога контекста сборки и (или) называется чем-то, кроме Dockerfile, и вы не предоставили путь к нему.

Затронутые области (симптомы):

  • Сбой при регистрации среды

Действия по устранению неполадок

ОБЛАСТЬ ПРИМЕНЕНИЯ:Пакет SDK для Python для ML Azure версии 1

build_context В dockerSection добавьтеdockerfile_path

Ресурсы

Запрещено указывать атрибут с контекстом сборки Docker

Эта проблема может возникать, если вы указали свойства в определении среды, которые не могут быть включены в контекст сборки Docker.

Возможные причины:

  • Вы указали контекст сборки Docker, а также хотя бы одно из следующих свойств в определении среды:
    • Переменные среды
    • Зависимости Conda.
    • R
    • Spark

Затронутые области (симптомы):

  • Сбой при регистрации среды

Действия по устранению неполадок

ОБЛАСТЬ ПРИМЕНЕНИЯ:Пакет SDK для Python для ML Azure версии 1

Если в определении среды указан любой из перечисленных выше свойств, удалите их.

  • Если вы используете контекст сборки Docker и хотите указать зависимости conda, спецификация conda должна находиться в каталоге контекста сборки.

Ресурсы

Тип расположения не поддерживается или тип неизвестного расположения

Возможные причины:

  • Вы указали тип расположения для контекста сборки Docker, который не поддерживается или неизвестен

Затронутые области (симптомы):

  • Сбой при регистрации среды

Действия по устранению неполадок

ОБЛАСТЬ ПРИМЕНЕНИЯ:Пакет SDK для Python для ML Azure версии 1

Типы допустимых расположений:

  • Git
    • Вы можете предоставить URL-адреса Git для Машинное обучение Azure, но их нельзя использовать для создания образов. Используйте учетную запись хранения, пока в сборках не будет поддерживаться Git.
  • учетная запись служба хранилища

Ресурсы

Недопустимое расположение

Возможные причины:

  • Указанное расположение контекста сборки Docker недопустимо

Затронутые области (симптомы):

  • Сбой при регистрации среды

Действия по устранению неполадок

ОБЛАСТЬ ПРИМЕНЕНИЯ:Пакет SDK для Python для ML Azure версии 1

В сценариях хранения контекста сборки Docker в учетной записи хранения

  • Необходимо указать путь контекста сборки как

    https://<storage-account>.blob.core.windows.net/<container>/<path>

  • Убедитесь, что указанное расположение является допустимым URL-адресом

  • Убедитесь, что вы указали контейнер и путь

Ресурсы

Проблемы с базовым изображением

Базовый образ не рекомендуется

Возможные причины:

  • Вы использовали устаревший базовый образ
    • Машинное обучение Azure не удается обеспечить поддержку устранения неполадок для неудачных сборок с устаревшими образами
    • Машинное обучение Azure не обновляет или не поддерживает эти образы, поэтому они подвергаются риску уязвимостей.

Следующие базовые образы не рекомендуется использовать:

  • azureml/base
  • azureml/base-gpu
  • azureml/base-lite
  • azureml/intelmpi2018.3-cuda10.0-cudnn7-ubuntu16.04
  • azureml/intelmpi2018.3-cuda9.0-cudnn7-ubuntu16.04
  • azureml/intelmpi2018.3-ubuntu16.04
  • azureml/o16n-base/python-slim
  • azureml/openmpi3.1.2-cuda10.0-cudnn7-ubuntu16.04
  • azureml/openmpi3.1.2-ubuntu16.04
  • azureml/openmpi3.1.2-cuda10.0-cudnn7-ubuntu18.04
  • azureml/openmpi3.1.2-cuda10.1-cudnn7-ubuntu18.04
  • azureml/openmpi3.1.2-cuda10.2-cudnn7-ubuntu18.04
  • azureml/openmpi3.1.2-cuda10.2-cudnn8-ubuntu18.04
  • azureml/openmpi3.1.2-ubuntu18.04
  • azureml/openmpi4.1.0-cuda11.0.3-cudnn8-ubuntu18.04
  • azureml/openmpi4.1.0-cuda11.1-cudnn8-ubuntu18.04

Затронутые области (симптомы):

  • Сбой при регистрации среды

Действия по устранению неполадок

Обновление базового образа до последней версии поддерживаемых образов

Нет тега или дайджеста

Возможные причины:

  • Вы не включили тег версии или дайджест на указанном базовом образе.
  • Без одного из этих описателей среда не воспроизводима

Затронутые области (симптомы):

  • Сбой при регистрации среды

Действия по устранению неполадок

Включение по крайней мере одного из следующих описателей на базовом изображении

Проблемы с переменными среды

Неуместные переменные среды выполнения

Возможные причины:

  • Указанные переменные среды выполнения в определении среды

Затронутые области (симптомы):

  • Сбой при регистрации среды

Действия по устранению неполадок

ОБЛАСТЬ ПРИМЕНЕНИЯ:Пакет SDK для Python для ML Azure версии 1

Вместо этого используйте атрибут environment_variables в объекте RunConfiguration.

Проблемы с Python

Отсутствует раздел Python

Возможные причины:

  • Определение среды не содержит раздел Python

Затронутые области (симптомы):

  • Сбой при регистрации среды

Действия по устранению неполадок

ОБЛАСТЬ ПРИМЕНЕНИЯ:Пакет SDK для Python для ML Azure версии 1

Заполнение раздела Python определения среды

Отсутствует версия Python

Возможные причины:

  • Вы не указали версию Python в определении среды

Затронутые области (симптомы):

  • Сбой при регистрации среды

Действия по устранению неполадок

ОБЛАСТЬ ПРИМЕНЕНИЯ:Пакет SDK для Python для ML Azure версии 1

Добавление Python в виде пакета conda и указание версии

from azureml.core.environment import CondaDependencies

myenv = Environment(name="myenv")
conda_dep = CondaDependencies()
conda_dep.add_conda_package("python==3.8")
env.python.conda_dependencies = conda_dep

Если вы используете YAML для спецификации conda, включите Python в качестве зависимостей.

name: project_environment
dependencies:
  - python=3.8
  - pip:
      - azureml-defaults
channels:
  - anaconda

Несколько версий Python

Возможные причины:

  • Вы указали несколько версий Python в определении среды

Затронутые области (симптомы):

  • Сбой при регистрации среды

Действия по устранению неполадок

ОБЛАСТЬ ПРИМЕНЕНИЯ:Пакет SDK для Python для ML Azure версии 1

Выберите версию Python, которую вы хотите использовать, и удалите все остальные версии.

myenv.python.conda_dependencies.remove_conda_package("python=3.8")

Если вы используете YAML для спецификации conda, включите только одну версию Python в качестве зависимости.

Версия Python не поддерживается

Возможные причины:

  • Вы указали версию Python, которая находится или находится в конце срока действия и больше не поддерживается

Затронутые области (симптомы):

  • Сбой при регистрации среды

Действия по устранению неполадок

Укажите версию Python, которая не достигнута и не приближается к концу срока жизни.

Возможные причины:

  • Вы указали версию Python, которая находится в конце или ближе к концу срока жизни.

Затронутые области (симптомы):

  • Сбой при регистрации среды

Действия по устранению неполадок

Укажите версию Python, которая не достигнута и не приближается к концу срока жизни.

Не удалось проверить версию Python

Возможные причины:

  • Вы указали версию Python с неправильным синтаксисом или неправильным форматированием

Затронутые области (симптомы):

  • Сбой при регистрации среды

Действия по устранению неполадок

ОБЛАСТЬ ПРИМЕНЕНИЯ:Пакет SDK для Python для ML Azure версии 1

Использование правильного синтаксиса для указания версии Python с помощью пакета SDK

myenv.python.conda_dependencies.add_conda_package("python=3.8")

Используйте правильный синтаксис, чтобы указать версию Python в conda YAML

name: project_environment
dependencies:
  - python=3.8
  - pip:
      - azureml-defaults
channels:
  - anaconda

Ресурсы

Проблемы с Conda

Отсутствующие зависимости conda

Возможные причины:

  • Вы не предоставили спецификацию conda в определении среды и user_managed_dependencies имеет значение False (по умолчанию)

Затронутые области (симптомы):

  • Сбой при регистрации среды

Действия по устранению неполадок

ОБЛАСТЬ ПРИМЕНЕНИЯ:Пакет SDK для Python для ML Azure версии 1

Если вы не хотите, чтобы Машинное обучение Azure создать среду Python для вас на conda_dependencies, основе заданного значения user_managed_dependenciesTrue

env.python.user_managed_dependencies = True
  • Вы несете ответственность за обеспечение доступности всех необходимых пакетов в среде Python, в которой вы решили запустить скрипт.

Если вы хотите, чтобы Машинное обучение Azure создать среду Python для вас на основе спецификации conda, необходимо заполнить conda_dependencies определение среды.

from azureml.core.environment import CondaDependencies

env = Environment(name="env")
conda_dep = CondaDependencies()
conda_dep.add_conda_package("python==3.8")
env.python.conda_dependencies = conda_dep

ОБЛАСТЬ ПРИМЕНЕНИЯ:расширение Машинного обучения для Azure CLI версии 2 (текущая версия)

ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python azure-ai-ml версии 2 (current)

Необходимо указать базовый образ Docker для среды и Машинное обучение Azure затем создать среду conda на основе этого образа.

Ресурсы

Недопустимые зависимости conda

Возможные причины:

  • Неправильно отформатированы зависимости conda, указанные в определении среды.

Затронутые области (симптомы):

  • Сбой при регистрации среды

Действия по устранению неполадок

ОБЛАСТЬ ПРИМЕНЕНИЯ:Пакет SDK для Python для ML Azure версии 1

Убедитесь, что conda_dependencies это версия JSONified структуры зависимостей CONDA YAML

"condaDependencies": {
    "channels": [
    "anaconda",
        "conda-forge"
    ],
    "dependencies": [
        "python=3.8",
        {
            "pip": [
                "azureml-defaults"
            ]
        }
    ],
    "name": "project_environment"
}

Можно также указать зависимости conda с помощью add_conda_package метода.

from azureml.core.environment import CondaDependencies

env = Environment(name="env")
conda_dep = CondaDependencies()
conda_dep.add_conda_package("python==3.8")
env.python.conda_dependencies = conda_dep

ОБЛАСТЬ ПРИМЕНЕНИЯ:расширение Машинного обучения для Azure CLI версии 2 (текущая версия)

ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python azure-ai-ml версии 2 (current)

Необходимо указать базовый образ Docker для среды и Машинное обучение Azure затем создать среду conda на основе этого образа.

Ресурсы

Отсутствующие каналы conda

Возможные причины:

  • Вы не указали каналы conda в определении среды

Затронутые области (симптомы):

  • Сбой при регистрации среды

Действия по устранению неполадок

Для воспроизведения среды укажите каналы, из которых следует извлекать зависимости. Если вы не указываете каналы conda, conda использует значения по умолчанию, которые могут измениться.

ОБЛАСТЬ ПРИМЕНЕНИЯ:Пакет SDK для Python для ML Azure версии 1

Добавление канала conda с помощью пакета SDK для Python

from azureml.core.environment import CondaDependencies

env = Environment(name="env")
conda_dep = CondaDependencies()
conda_dep.add_channel("conda-forge")
env.python.conda_dependencies = conda_dep

Если вы используете YAML для спецификации conda, включите каналы conda, которые вы хотите использовать.

name: project_environment
dependencies:
  - python=3.8
  - pip:
      - azureml-defaults
channels:
  - anaconda
  - conda-forge

Ресурсы

Возможные причины:

  • Вы указали базовую среду conda в определении среды.

Затронутые области (симптомы):

  • Сбой при регистрации среды

Действия по устранению неполадок

Частичные обновления среды могут привести к конфликтам зависимостей и /или непредвиденным ошибкам среды выполнения, поэтому не рекомендуется использовать базовые среды conda.

ОБЛАСТЬ ПРИМЕНЕНИЯ:Пакет SDK для Python для ML Azure версии 1

Удалите базовую среду conda и укажите все пакеты, необходимые для вашей среды в conda_dependencies разделе определения среды.

from azureml.core.environment import CondaDependencies

env = Environment(name="env")
env.python.base_conda_environment = None
conda_dep = CondaDependencies()
conda_dep.add_conda_package("python==3.8")
env.python.conda_dependencies = conda_dep

ОБЛАСТЬ ПРИМЕНЕНИЯ:расширение Машинного обучения для Azure CLI версии 2 (текущая версия)

ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python azure-ai-ml версии 2 (current)

Определение среды с помощью стандартного файла конфигурации YAML conda

Ресурсы

Незакреченные зависимости

Возможные причины:

  • Вы не указали версии для определенных пакетов в спецификации conda

Затронутые области (симптомы):

  • Сбой при регистрации среды

Действия по устранению неполадок

Если вы не указываете версию зависимости, сопоставитель пакетов conda может выбрать другую версию пакета в последующих сборках той же среды. Это нарушает воспроизводимость среды и может привести к непредвиденным ошибкам.

ОБЛАСТЬ ПРИМЕНЕНИЯ:Пакет SDK для Python для ML Azure версии 1

Включение номеров версий при добавлении пакетов в спецификацию conda

from azureml.core.environment import CondaDependencies

conda_dep = CondaDependencies()
conda_dep.add_conda_package("numpy==1.24.1")

Если вы используете YAML для спецификации conda, укажите версии для зависимостей.

name: project_environment
dependencies:
  - python=3.8
  - pip:
      - numpy=1.24.1
channels:
  - anaconda
  - conda-forge

Ресурсы

Проблемы с pip

Pip не указан

Возможные причины:

  • Вы не указали pip в качестве зависимости в спецификации conda

Затронутые области (симптомы):

  • Сбой при регистрации среды

Действия по устранению неполадок

Для воспроизведения следует указать и закрепить pip в качестве зависимости в спецификации conda.

ОБЛАСТЬ ПРИМЕНЕНИЯ:Пакет SDK для Python для ML Azure версии 1

Укажите pip как зависимость, а также ее версию

env.python.conda_dependencies.add_conda_package("pip==22.3.1")

Если вы используете YAML для спецификации conda, укажите pip в качестве зависимости

name: project_environment
dependencies:
  - python=3.8
  - pip=22.3.1
  - pip:
      - numpy=1.24.1
channels:
  - anaconda
  - conda-forge

Ресурсы

Pip не закреплен

Возможные причины:

  • Вы не указали версию для pip в спецификации conda

Затронутые области (симптомы):

  • Сбой при регистрации среды

Действия по устранению неполадок

Если вы не указываете версию pip, для последующих сборок той же среды может использоваться другая версия. Это поведение может привести к проблемам с воспроизводимостью и другими непредвиденными ошибками, если разные версии pip разрешают пакеты по-разному.

ОБЛАСТЬ ПРИМЕНЕНИЯ:Пакет SDK для Python для ML Azure версии 1

Указание версии pip в зависимости conda

env.python.conda_dependencies.add_conda_package("pip==22.3.1")

Если вы используете YAML для спецификации conda, укажите версию для pip

name: project_environment
dependencies:
  - python=3.8
  - pip=22.3.1
  - pip:
      - numpy=1.24.1
channels:
  - anaconda
  - conda-forge

Ресурсы

Другие проблемы с средой

Раздел R не рекомендуется

Возможные причины:

  • Вы указали раздел R в определении среды

Затронутые области (симптомы):

  • Сбой при регистрации среды

Действия по устранению неполадок

Пакет SDK Машинное обучение Azure для R был нерекомендуем в конце 2021 г. для улучшения обучения и развертывания R с помощью Azure CLI версии 2

ОБЛАСТЬ ПРИМЕНЕНИЯ:Пакет SDK для Python для ML Azure версии 1

Удаление раздела R из определения среды

env.r = None

Ознакомьтесь с репозиторием примеров для начала обучения моделей R с помощью Azure CLI версии 2

Определение среды не существует

Возможные причины:

  • Вы указали среду, которая не существует или не зарегистрирована
  • Произошла ошибка или синтаксическая ошибка в том, как вы указали имя среды или версию среды.

Затронутые области (симптомы):

  • Сбой при регистрации среды

Действия по устранению неполадок

Убедитесь, что имя среды указано правильно, а также правильная версия

  • path-to-resource:version-number

Следует указать последнюю версию среды другим способом.

  • path-to-resource@latest

Проблемы со сборкой образа

Проблемы с ACR

Неустранимый объект ACR

Эта проблема может возникнуть, когда возникает сбой при доступе к связанному ресурсу Реестр контейнеров Azure рабочей области (ACR).

Возможные причины:

  • ACR рабочей области находится за виртуальной сетью (виртуальная сеть) (частная конечная точка или конечная точка службы), и вы не используете вычислительный кластер для создания образов.
  • ACR рабочей области находится за виртуальной сетью (виртуальная сеть) (частная конечная точка или конечная точка службы), а вычислительный кластер, используемый для создания образов, не имеет доступа к ACR рабочей области.

Затронутые области (симптомы):

  • Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
  • Сбой при выполнении заданий, так как Машинное обучение Azure неявно создает среду на первом шаге.
  • Сбои заданий конвейера.
  • Сбои развертывания модели.

Действия по устранению неполадок

  • Убедитесь, что виртуальная сеть вычислительного кластера имеет доступ к ACR рабочей области.
  • Убедитесь, что вычислительный кластер основан на ЦП.

Примечание.

  • Поддерживаются только вычислительные кластеры Машинного обучения Azure. Вычисления, Служба Azure Kubernetes (AKS) и другие типы экземпляров не поддерживаются для вычислений сборки образа.

Ресурсы

Непредвиденный формат Dockerfile

Эта проблема может возникать, когда dockerfile отформатирован неправильно.

Возможные причины:

  • Файл Dockerfile содержит недопустимый синтаксис
  • Dockerfile содержит символы, несовместимые с UTF-8

Затронутые области (симптомы):

  • Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
  • Сбой при выполнении заданий, так как на первом шаге будет неявно создаваться среда.

Действия по устранению неполадок

  • Убедитесь, что Dockerfile отформатирован правильно и закодирован в UTF-8

Ресурсы

Проблемы с извлечением Docker

Не удалось извлечь образ Docker

Эта проблема может возникать, когда при извлечении образа Docker произошел сбой во время сборки образа.

Возможные причины:

  • Неправильное имя пути к реестру контейнеров
  • Реестр контейнеров под виртуальной сетью использует частную конечную точку в неподдерживаемом регионе.
  • Образ, на который вы пытаетесь ссылаться, не существует в указанном реестре контейнеров.
  • Вы не предоставили учетные данные для частного реестра, из которого пытаетесь извлечь образ, или предоставленные учетные данные неправильные.

Затронутые области (симптомы):

  • Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
  • Сбой при выполнении заданий, так как Машинное обучение Azure неявно создает среду на первом шаге.

Действия по устранению неполадок

Убедитесь, что имя пути к реестру контейнеров правильно

  • Для реестра my-registry.io и образа test/image с тегом 3.2 допустимый путь к образу будет my-registry.io/test/image:3.2.
  • Дополнительные сведения см. в статье Документация по пути к реестру.

Если реестр контейнеров находится за виртуальной сетью или использует частную конечную точку в неподдерживаемом регионе.

  • Настройка реестра контейнеров с помощью конечной точки службы (общедоступного доступа) на портале и повторных попыток
  • После размещения реестра контейнеров за виртуальной сетью выполните шаблон Azure Resource Manager, чтобы рабочая область могла обмениваться данными с экземпляром реестра контейнеров.

Если образ, на который вы пытаетесь ссылаться, не существует в указанном реестре контейнеров

  • Убедитесь, что вы использовали правильный тег и что вы задали значение user_managed_dependenciesTrue. Настройка user_managed_dependenciesTrue отключения conda и использования установленных пакетов пользователя

Если вы не предоставили учетные данные для частного реестра, из которых вы пытаетесь извлечь, или указанные учетные данные неверны.

Ресурсы

Ошибка ввода-вывода

Эта проблема может возникать, когда сбой извлечения образа Docker из-за проблемы с сетью.

Возможные причины:

  • Проблема с сетевым подключением, которая может быть временной
  • Брандмауэр блокирует подключение
  • ACR недоступен и существует сетевая изоляция. Дополнительные сведения см. в статье ACR, недоступной для доступа.

Затронутые области (симптомы):

  • Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
  • Сбой при выполнении заданий, так как Машинное обучение Azure неявно создает среду на первом шаге.

Действия по устранению неполадок

Добавление узла в правила брандмауэра

Оцените настройку рабочей области. Вы используете виртуальную сеть или какие-либо из ресурсов, к которых вы пытаетесь получить доступ во время сборки образа за виртуальной сетью?

  • Убедитесь, что вы выполнили действия, описанные в этой статье по защите рабочей области с помощью виртуальных сетей
  • Машинному обучению Azure требуется как входящий, так и исходящий доступ к общедоступному Интернету. Если возникла проблема с настройкой виртуальной сети, может возникнуть проблема с доступом к определенным репозиториям, необходимым во время сборки образа.

Если вы не используете виртуальную сеть или правильно настроили ее.

  • Попробуйте перестроить образ. Если время ожидания возникло из-за проблемы с сетью, проблема может быть временной, и перестроение может устранить проблему.

Проблемы Conda во время сборки

Плохая спецификация

Эта проблема может возникать, если пакет, указанный в спецификации conda, недопустим или когда вы неправильно выполнили команду conda.

Возможные причины:

  • Неправильный синтаксис, используемый в спецификации conda
  • Вы неправильно выполняете команду conda

Затронутые области (симптомы):

  • Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
  • Сбой при выполнении заданий, так как Машинное обучение Azure неявно создает среду на первом шаге.

Действия по устранению неполадок

Ошибки спецификаций Conda могут возникать, если команда conda create неправильно используется

Чтобы обеспечить успешную сборку, убедитесь, что вы используете правильный синтаксис и допустимую спецификацию пакета в yaml conda

Ошибка связи

Эта проблема может возникать, когда возникает сбой при взаимодействии с сущностью, из которой вы хотите скачать пакеты, перечисленные в спецификации conda.

Возможные причины:

  • Не удалось связаться с каналом conda или репозиторием пакетов
  • Эти сбои могут возникать из-за временных сбоев сети

Затронутые области (симптомы):

  • Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
  • Сбой при выполнении заданий, так как Машинное обучение Azure неявно создает среду на первом шаге.

Действия по устранению неполадок

Убедитесь, что каналы и репозитории conda, которые вы используете в спецификации conda, верны

  • Убедитесь, что они существуют, и правильно ли они написаны

Если каналы или репозитории conda верны

  • Попробуйте перестроить образ- есть вероятность того, что сбой временный, и перестроение может устранить проблему.
  • Убедитесь, что пакеты, перечисленные в спецификации conda, существуют в указанных каналах или репозиториях.

Ошибка компиляции

Эта проблема может возникать, когда возникает сбой сборки пакета, необходимого для среды conda из-за ошибки компилятора.

Возможные причины:

  • Вы неправильно описали пакет и поэтому не распознали его.
  • Есть что-то не так с компилятором

Затронутые области (симптомы):

  • Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
  • Сбой при выполнении заданий, так как Машинное обучение Azure неявно создает среду на первом шаге.

Действия по устранению неполадок

Если вы используете компилятор

  • Убедитесь, что используется компилятор, распознанный
  • При необходимости добавьте шаг установки в Dockerfile
  • Проверьте версию компилятора и проверка, что все команды или параметры, которые вы используете, совместимы с версией компилятора.
  • При необходимости обновите версию компилятора

Убедитесь, что вы правильно закрепили все перечисленные пакеты и правильно закрепили версии.

Ресурсы

Отсутствует команда

Эта проблема может возникать, если команда не распознана во время сборки образа или в указанном требовании пакета Python.

Возможные причины:

  • Вы не правильно орфографию команды
  • Невозможно выполнить команду, так как обязательный пакет не установлен

Затронутые области (симптомы):

  • Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
  • Сбой при выполнении заданий, так как Машинное обучение Azure неявно создает среду на первом шаге.

Действия по устранению неполадок

  • Убедитесь, что вы правильно орфографировали команду
  • Убедитесь, что вы установили все пакеты, необходимые для выполнения команды, которую вы пытаетесь выполнить.
  • При необходимости добавьте шаг установки в Dockerfile

Ресурсы

Время ожидания Conda

Эта проблема может возникнуть, когда разрешение пакетов conda занимает слишком много времени.

Возможные причины:

  • Существует большое количество пакетов, перечисленных в спецификации conda, и ненужные пакеты включены
  • Вы не закрепляли зависимости (вы включили tensorflow вместо tensorflow=2.8)
  • Вы перечислили пакеты, для которых нет решения (вы включили пакет X=1.3 и Y=2.8, но версия X несовместима с версией Y)

Затронутые области (симптомы):

  • Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
  • Сбой при выполнении заданий, так как Машинное обучение Azure неявно создает среду на первом шаге.

Действия по устранению неполадок

  • Удалите все пакеты из спецификации conda, которые являются ненужными
  • Закрепление пакетов —разрешение среды быстрее
  • Если у вас по-прежнему возникают проблемы, ознакомьтесь с этой статьей для подробного изучения и улучшения производительности conda

Недостаточно памяти

Эта проблема может возникать, если разрешение пакетов conda завершается ошибкой из-за нехватки доступной памяти.

Возможные причины:

  • Существует большое количество пакетов, перечисленных в спецификации conda, и ненужные пакеты включены
  • Вы не закрепляли зависимости (вы включили tensorflow вместо tensorflow=2.8)
  • Вы перечислили пакеты, для которых нет решения (вы включили пакет X=1.3 и Y=2.8, но версия X несовместима с версией Y)

Затронутые области (симптомы):

  • Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
  • Сбой при выполнении заданий, так как Машинное обучение Azure неявно создает среду на первом шаге.

Действия по устранению неполадок

  • Удалите все пакеты из спецификации conda, которые являются ненужными
  • Закрепление пакетов —разрешение среды быстрее
  • Если у вас по-прежнему возникают проблемы, ознакомьтесь с этой статьей для подробного изучения и улучшения производительности conda

Пакет не найден

Эта проблема может возникать, когда один или несколько пакетов conda, перечисленных в спецификации, не могут находиться в канале или репозитории.

Возможные причины:

  • Вы указали имя или версию пакета неправильно в спецификации conda.
  • Пакет существует в канале conda, который не указан в спецификации conda.

Затронутые области (симптомы):

  • Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
  • Сбой при выполнении заданий, так как Машинное обучение Azure неявно создает среду на первом шаге.

Действия по устранению неполадок

  • Убедитесь, что вы правильно описали пакет и что указанная версия существует
  • Убедитесь, что пакет существует в целевом канале
  • Убедитесь, что вы перечислили канал или репозиторий в спецификации conda, чтобы пакет можно было правильно извлечь во время разрешения пакета.

Укажите каналы в спецификации conda:

channels:
  - conda-forge
  - anaconda
dependencies:
  - python=3.8
  - tensorflow=2.8
Name: my_environment

Ресурсы

Отсутствует модуль Python

Эта проблема может возникать, если модуль Python, указанный в спецификации conda, не существует или недействителен.

Возможные причины:

  • Неправильно орфографический модуль
  • Модуль не распознает

Затронутые области (симптомы):

  • Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
  • Сбой при выполнении заданий, так как Машинное обучение Azure неявно создает среду на первом шаге.

Действия по устранению неполадок

  • Убедитесь, что вы правильно орфографировали модуль и что он существует
  • Убедитесь, что модуль совместим с версией Python, указанной в спецификации conda.
  • Если вы не перечислили определенную версию Python в спецификации conda, обязательно укажите определенную версию, совместимую с модулем, в противном случае может использоваться не совместимая по умолчанию версия.

Закрепление версии Python, совместимой с модулем pip, который вы используете:

channels:
  - conda-forge
  - anaconda
dependencies:
  - python=3.8
  - pip:
    - dataclasses
Name: my_environment

Нет соответствующего распределения

Эта проблема может возникать, если не найден пакет, соответствующий указанной версии.

Возможные причины:

  • Вы неправильно заклинали имя пакета
  • Пакет и версия не найдены в указанных каналах или каналах.
  • Указанная версия не существует

Затронутые области (симптомы):

  • Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
  • Сбой при выполнении заданий, так как Машинное обучение Azure неявно создает среду на первом шаге.

Действия по устранению неполадок

  • Убедитесь, что вы правильно описали пакет и что он существует
  • Убедитесь, что версия, указанная для пакета
  • Убедитесь, что вы указали канал, из которого будет установлен пакет. Если вы не указали канал, используются значения по умолчанию, и эти значения по умолчанию могут или не содержать нужный пакет.

Как перечислить каналы в спецификации conda yaml:

channels:
  - conda-forge
  - anaconda
dependencies:
  - python = 3.8
  - tensorflow = 2.8
Name: my_environment

Ресурсы

Не удается создать mpi4py

Эта проблема может возникать при сбое сборки колес для mpi4py.

Возможные причины:

  • Требования к успешной установке mpi4py не выполнены
  • Есть что-то неправильное с методом, который вы выбрали для установки mpi4py

Затронутые области (симптомы):

  • Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
  • Сбой при выполнении заданий, так как Машинное обучение Azure неявно создает среду на первом шаге.

Действия по устранению неполадок

Убедитесь, что у вас есть рабочая установка MPI (предпочтение поддержки MPI-3 и MPI, построенная с использованием общих и динамических библиотек)

Убедитесь, что вы используете совместимую версию Python

  • Рекомендуется использовать Python 3.8+ из-за более старых версий, достигающих окончания срока жизни.
  • Дополнительные сведения см. в статье Установка mpi4py.

Ресурсы

Предпринята попытка интерактивной проверки подлинности

Эта проблема может возникать при попытке pip интерактивной проверки подлинности во время установки пакета.

Возможные причины:

  • Вы указали пакет, требующий проверки подлинности, но не предоставили учетные данные.
  • Во время сборки образа pip попыталась выполнить проверку подлинности, которая завершилась сбоем сборки, так как во время сборки не удается предоставить интерактивную проверку подлинности.

Затронутые области (симптомы):

  • Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
  • Сбой при выполнении заданий, так как Машинное обучение Azure неявно создает среду на первом шаге.

Действия по устранению неполадок

Предоставление проверки подлинности через подключения к рабочей области

ОБЛАСТЬ ПРИМЕНЕНИЯ:Пакет SDK для Python для ML Azure версии 1

from azureml.core import Workspace
ws = Workspace.from_config()
ws.set_connection("connection1", "PythonFeed", "<URL>", "Basic", "{'Username': '<username>', 'Password': '<password>'}")

ОБЛАСТЬ ПРИМЕНЕНИЯ:расширение Машинного обучения для Azure CLI версии 2 (текущая версия)

Создание подключения к рабочей области из файла спецификации YAML

az ml connection create --file connection.yml --resource-group my-resource-group --workspace-name my-workspace

Ресурсы

Запрещенный большой двоичный объект

Эта проблема может возникать, когда попытка доступа к BLOB-объекту в учетной записи хранения отклоняется.

Возможные причины:

  • Метод авторизации, который вы используете для доступа к учетной записи хранения, является недопустимым.
  • Вы пытаетесь авторизовать с помощью подписанного URL-адреса (SAS), но срок действия маркера SAS истек или недопустим.

Затронутые области (симптомы):

  • Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
  • Сбой при выполнении заданий, так как Машинное обучение Azure неявно создает среду на первом шаге.

Действия по устранению неполадок

Ознакомьтесь со следующими сведениями о том, как авторизовать доступ к данным BLOB-объектов в портал Azure

Ознакомьтесь со следующими сведениями о том, как авторизовать доступ к данным в хранилище Azure

Ознакомьтесь со следующими сведениями, если вы хотите использовать SAS для доступа к ресурсам хранилища Azure.

Сборка Horovod

Эта проблема может возникать, когда не удалось создать или обновить среду conda, так как horovod не удалось выполнить сборку.

Возможные причины:

  • Установка Horovod требует других модулей, которые вы не установили
  • Для установки Horovod требуются определенные библиотеки, которые вы не включили

Затронутые области (симптомы):

  • Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
  • Сбой при выполнении заданий, так как Машинное обучение Azure неявно создает среду на первом шаге.

Действия по устранению неполадок

Многие проблемы могут вызвать ужасный сбой, и есть полный список из них в документации horovod

  • Ознакомьтесь с руководством по устранению неполадок horovod
  • Просмотрите журнал сборки, чтобы узнать, возникает ли сообщение об ошибке, которое появилось при сбое сборки horovod
  • Возможно, что в руководстве по устранению неполадок horovod объясняется проблема, с которой вы столкнулись, а также решением

Ресурсы

Команда Conda не найдена

Эта проблема может возникать, если команда conda не распознана во время создания или обновления среды conda.

Возможные причины:

  • Вы не установили conda в базовом образе, который вы используете
  • Вы не установили conda через Dockerfile, прежде чем пытаться выполнить команду conda
  • Вы не включили conda в свой путь или не добавили его в свой путь

Затронутые области (симптомы):

  • Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
  • Сбой при выполнении заданий, так как Машинное обучение Azure неявно создает среду на первом шаге.

Действия по устранению неполадок

Убедитесь, что у вас есть шаг установки conda в Dockerfile, прежде чем пытаться выполнить все команды conda

Если вы попытались установить conda и столкнулись с этой проблемой, убедитесь, что вы добавили conda в путь

Ресурсы

Несовместимая версия Python

Эта проблема может возникать, если в вашей среде conda указан пакет, несовместимый с указанной версией Python.

Затронутые области (симптомы):

  • Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
  • Сбой при выполнении заданий, так как Машинное обучение Azure неявно создает среду на первом шаге.

Действия по устранению неполадок

Используйте другую версию пакета, совместимого с указанной версией Python.

Кроме того, используйте другую версию Python, совместимую с указанным пакетом.

  • Если вы изменяете версию Python, используйте поддерживаемую версию, которая не приближается к концу его жизни в ближайшее время.
  • См. даты окончания срока действия Python

Ресурсы

Перенаправление с оси Conda

Эта проблема может возникать, если вы указали пакет в командной строке с помощью "<" или ">" без использования кавычки. Этот синтаксис может привести к сбою создания или обновления среды conda.

Затронутые области (симптомы):

  • Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
  • Сбой при выполнении заданий, так как Машинное обучение Azure неявно создает среду на первом шаге.

Действия по устранению неполадок

Добавление кавычки по спецификации пакета

  • Например, измените conda install -y pip<=20.1.1 на conda install -y "pip<=20.1.1".

Ошибка декодирования UTF-8

Эта проблема может возникать, когда в спецификации conda возникает сбой декодирования символа. 

Возможные причины:

  • Файл CONDA YAML содержит символы, несовместимые с UTF-8.

Затронутые области (симптомы):

  • Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
  • Сбой при выполнении заданий, так как Машинное обучение Azure неявно создает среду на первом шаге.

Проблемы pip во время сборки

Не удалось установить пакеты

Эта проблема может возникнуть, когда сборка образа завершается сбоем во время установки пакета Python.

Возможные причины:

  • Существует множество проблем, которые могут вызвать эту ошибку
  • Это сообщение является универсальным и отображается, когда анализ Машинное обучение Azure пока не охватывает обнаруженную ошибку.

Затронутые области (симптомы):

  • Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
  • Сбой при выполнении заданий, так как Машинное обучение Azure неявно создает среду на первом шаге.

Действия по устранению неполадок

Дополнительные сведения о сбое сборки образа см. в журнале сборки

Оставьте отзыв для команды Машинное обучение Azure, чтобы проанализировать ошибку, которую вы испытываете

Не удается удалить пакет

Эта проблема может возникнуть, если pip не удается удалить пакет Python, установленный диспетчером пакетов операционной системы.

Возможные причины:

  • Существующая проблема pip или проблематичная версия pip
  • Проблема, связанная с не использованием изолированной среды

Затронутые области (симптомы):

  • Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
  • Сбой при выполнении заданий, так как Машинное обучение Azure неявно создает среду на первом шаге.

Действия по устранению неполадок

Ознакомьтесь со следующими сведениями и определите, вызвана ли существующая проблема с pip

Попробуйте выполнить следующие действия.

pip install --ignore-installed [package]

Попробуйте создать отдельную среду с помощью conda

Недопустимый оператор

Эта проблема может возникать, если pip не удается установить пакет Python из-за недопустимого оператора, найденного в требовании.

Возможные причины:

  • Существует недопустимый оператор, найденный в требованиях к пакету Python

Затронутые области (симптомы):

  • Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
  • Сбой при выполнении заданий, так как Машинное обучение Azure неявно создает среду на первом шаге.

Действия по устранению неполадок

  • Убедитесь, что вы правильно описали пакет и что указанная версия существует
  • Убедитесь, что описатель версии пакета отформатирован правильно, и вы используете допустимые операторы сравнения. См. описатели версий
  • Замените недопустимый оператор оператором, рекомендованным в сообщении об ошибке

Нет соответствующего распределения

Эта проблема может возникать, если не найден пакет, соответствующий указанной версии.

Возможные причины:

  • Вы неправильно заклинали имя пакета
  • Пакет и версия не найдены в указанных каналах или каналах.
  • Указанная версия не существует

Затронутые области (симптомы):

  • Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
  • Сбой при выполнении заданий, так как Машинное обучение Azure неявно создает среду на первом шаге.

Действия по устранению неполадок

  • Убедитесь, что вы правильно описали пакет и что он существует
  • Убедитесь, что версия, указанная для пакета
  • Запустите pip install --upgrade pip и снова выполните исходную команду
  • Убедитесь, что пип, который вы используете, может устанавливать пакеты для требуемой версии Python. Посмотрите, следует ли использовать pip или pip3?

Ресурсы

Недопустимое имя файла колеса

Эта проблема может возникать при неправильном указании файла колесика.

Возможные причины:

  • Вы неправильно закрепили имя файла колеса или использовали неправильное форматирование
  • Указанный файл колесика не найден

Затронутые области (симптомы):

  • Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
  • Сбой при выполнении заданий, так как Машинное обучение Azure неявно создает среду на первом шаге.

Действия по устранению неполадок

Проблемы

Не заданы целевые объекты и не найдено файла makefile

Эта проблема может возникать, если вы не указали целевые объекты, и файл makefile не найден при выполнении make.

Возможные причины:

  • Makefile не существует в текущем каталоге
  • Целевые объекты не указаны

Затронутые области (симптомы):

  • Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
  • Сбой при выполнении заданий, так как Машинное обучение Azure неявно создает среду на первом шаге.

Действия по устранению неполадок

  • Убедитесь, что вы правильно описали файл makefile
  • Убедитесь, что файл makefile существует в текущем каталоге
  • Если у вас есть пользовательский файл makefile, укажите его с помощью make -f custommakefile
  • Укажите целевые объекты в файле makefile или в командной строке
  • Настройка сборки и создание файла makefile
  • Убедитесь, что вы правильно отформатировали файл makefile и использовали вкладки для отступа

Ресурсы

Проблемы с копированием

Файл не найден

Эта проблема может возникнуть, когда Docker не сможет найти и скопировать файл.

Возможные причины:

  • Исходный файл не найден в контексте сборки Docker
  • Исходный файл, исключенный .dockerignore

Затронутые области (симптомы):

  • Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
  • Сбой при выполнении заданий, так как на первом шаге будет неявно создаваться среда.

Действия по устранению неполадок

  • Убедитесь, что исходный файл существует в контексте сборки Docker
  • Убедитесь, что исходные и конечные пути существуют и правильно написаны
  • Убедитесь, что исходный файл не указан в .dockerignore текущих и родительских каталогах.
  • Удалите все конечные комментарии из той же строки, что COPY и команда

Ресурсы

Проблемы apt-Get

Не удалось выполнить команду apt-get

Эта проблема может возникать, когда не удается запустить apt-get.

Возможные причины:

  • Проблема с сетевым подключением, которая может быть временной
  • Неработаемые зависимости, связанные с пакетом, на котором выполняется apt-get
  • У вас нет правильных разрешений для использования команды apt-get

Затронутые области (симптомы):

  • Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
  • Сбой при выполнении заданий, так как на первом шаге будет неявно создаваться среда.

Действия по устранению неполадок

  • Проверка сетевых подключений и параметров DNS
  • Запуск apt-get check до проверка для неисправных зависимостей
  • Запустите apt-get update и снова запустите исходную команду
  • Выполните команду с флагом -f , который попытается устранить проблему из неработающих зависимостей.
  • Выполните команду с sudo разрешениями, такими как sudo apt-get install <package-name>

Ресурсы

Проблемы с отправкой Docker

Не удалось сохранить образ Docker

Эта проблема может возникнуть, когда произошел сбой при отправке образа Docker в реестр контейнеров.

Возможные причины:

  • Временная проблема возникла с ACR, связанной с рабочей областью
  • Реестр контейнеров под виртуальной сетью использует частную конечную точку в неподдерживаемом регионе.

Затронутые области (симптомы):

  • Сбой в создании сред из пользовательского интерфейса, пакета SDK и интерфейса командной строки.
  • Сбой при выполнении заданий, так как Машинное обучение Azure неявно создает среду на первом шаге.

Действия по устранению неполадок

Повторите сборку среды, если вы подозреваете, что сбой является временной проблемой с Реестр контейнеров Azure рабочей области (ACR)

Если реестр контейнеров находится за виртуальной сетью или использует частную конечную точку в неподдерживаемом регионе.

  • Настройка реестра контейнеров с помощью конечной точки службы (общедоступного доступа) на портале и повторных попыток
  • После размещения реестра контейнеров за виртуальной сетью выполните шаблон Azure Resource Manager, чтобы рабочая область могла обмениваться данными с экземпляром реестра контейнеров.

Если вы не используете виртуальную сеть или правильно настроили ее, проверьте правильность учетных данных для ACR путем попытки простой локальной сборки

Неизвестная команда Docker

Неизвестная инструкция Docker

Эта проблема может возникать, если Docker не распознает инструкцию в Dockerfile.

Возможные причины:

  • Неизвестная инструкция Docker, используемая в Dockerfile
  • Файл Dockerfile содержит недопустимый синтаксис

Затронутые области (симптомы):

  • Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
  • Сбой при выполнении заданий, так как на первом шаге будет неявно создаваться среда.

Действия по устранению неполадок

  • Убедитесь, что команда Docker действительна и правильно написана
  • Убедитесь, что между командой Docker и аргументами есть пробел.
  • Убедитесь, что в Dockerfile нет ненужных пробелов
  • Убедитесь, что Dockerfile отформатирован правильно и закодирован в UTF-8

Ресурсы

Команда не найдена

Command not recognized (Команда не распознана)

Эта проблема может возникать, когда команда, выполняемая, не распознается.

Возможные причины:

  • Вы не установили команду с помощью Dockerfile, прежде чем пытаться выполнить команду
  • Вы не включили команду в свой путь или не добавили ее в путь

Затронутые области (симптомы):

  • Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
  • Сбой при выполнении заданий, так как на первом шаге будет неявно создаваться среда.

Действия по устранению неполадок: убедитесь, что у вас есть шаг установки для команды в Dockerfile, прежде чем пытаться выполнить команду.

  • Ознакомьтесь с этим примером

Если вы попытались установить команду и столкнулись с этой проблемой, убедитесь, что вы добавили команду в путь.

Другие проблемы сборки

Журнал сборки недоступен

Возможные причины:

  • Машинное обучение Azure не разрешено хранить журналы сборки в учетной записи хранения.
  • При сохранении журналов сборки произошла временная ошибка
  • Произошла системная ошибка перед активацией сборки образа

Затронутые области (симптомы):

  • Успешная сборка, но нет доступных журналов.
  • Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
  • Сбой при выполнении заданий, так как Машинное обучение Azure неявно создает среду на первом шаге.

Действия по устранению неполадок

Перестроение может устранить проблему, если она временная

Изображение не найдено

Эта проблема может возникнуть, если указанный базовый образ не найден.

Возможные причины:

  • Вы неправильно указали изображение
  • Указанный образ не существует в указанном реестре.

Затронутые области (симптомы):

  • Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
  • Сбой при выполнении заданий, так как на первом шаге будет неявно создаваться среда.

Действия по устранению неполадок

  • Убедитесь, что базовый образ орфографирован и отформатирован правильно.
  • Убедитесь, что базовый образ, который вы используете, существует в указанном реестре.

Ресурсы