Устранение неполадок с средой
ОБЛАСТЬ ПРИМЕНЕНИЯ:Расширение машинного обучения Azure CLI версии 2 (current)Python SDK azure-ai-ml версии 2 (current)
ОБЛАСТЬ ПРИМЕНЕНИЯ:Расширение Машинного обучения для Azure CLI версии 1пакет SDK для Python azureml версии 1
Из этой статьи вы узнаете, как устранять распространенные проблемы, с которыми могут столкнуться сборки образов среды и узнать об уязвимостях среды 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
ОБЛАСТЬ ПРИМЕНЕНИЯ: расширение машинного обучения Azure CLI версии 1
ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 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 версии 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 версии 1
У вас есть несколько из этих параметров Docker, указанных в определении среды.
base_image
base_dockerfile
build_context
- Дополнительные сведения см. в статье DockerSection.
ОБЛАСТЬ ПРИМЕНЕНИЯ: расширение машинного обучения Azure CLI версии 2 (текущее)
ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python azure-ai-ml версии 2 (current)
У вас есть несколько из этих параметров Docker, указанных в определении среды.
image
build
- Дополнительные сведения см. в статье azure.ai.ml.entities.Environment.
Затронутые области (симптомы):
- Сбой при регистрации среды
Действия по устранению неполадок
Выберите вариант Docker, который вы хотите использовать для сборки среды. Затем задайте для всех остальных указанных параметров значение None.
ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 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)
Вы не указали один из следующих параметров в определении среды.
image
build
- Дополнительные сведения см. в статье azure.ai.ml.entities.Environment.
Затронутые области (симптомы):
- Сбой при регистрации среды
Действия по устранению неполадок
Выберите вариант Docker, который вы хотите использовать для сборки среды, а затем заполните этот параметр в определении среды.
ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 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 версии 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 версии 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 версии 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 версии 1
Вместо указания этих атрибутов в DockerSection
определении среды используйте DockerConfiguration
Ресурсы
- См.
DockerSection
устаревшие переменные
Длина Dockerfile превышает ограничение
Возможные причины:
- Указанный файл Dockerfile превысил максимальный размер 100 КБ
Затронутые области (симптомы):
- Сбой при регистрации среды
Действия по устранению неполадок
Сокращение файла Dockerfile, чтобы получить его под этим ограничением
Ресурсы
- Ознакомьтесь с рекомендациями
Проблемы с контекстом сборки Docker
Отсутствует расположение контекста сборки Docker
Возможные причины:
- Вы не указали путь к каталогу контекста сборки в определении среды
Затронутые области (симптомы):
- Сбой при регистрации среды
Действия по устранению неполадок
ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 1
ОБЛАСТЬ ПРИМЕНЕНИЯ: расширение машинного обучения Azure CLI версии 2 (текущее)
ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python azure-ai-ml версии 2 (current)
Убедитесь, что вы включили путь к контексту сборки
- См. класс BuildContext
- См. этот пример
Ресурсы
Отсутствует путь Dockerfile
Эта проблема может возникать, если Машинное обучение Azure не удается найти Файл Dockerfile. По умолчанию Машинное обучение Azure ищет Dockerfile с именем Dockerfile в корне каталога контекста сборки, если не указать путь к Dockerfile.
Возможные причины:
- Dockerfile не находится в корне каталога контекста сборки и (или) называется чем-то, кроме Dockerfile, и вы не предоставили путь к нему.
Затронутые области (симптомы):
- Сбой при регистрации среды
Действия по устранению неполадок
ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 1
ОБЛАСТЬ ПРИМЕНЕНИЯ: расширение машинного обучения Azure CLI версии 2 (текущее)
ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python azure-ai-ml версии 2 (current)
Указание пути Dockerfile
- См. класс BuildContext
- См. этот пример
Ресурсы
Запрещено указывать атрибут с контекстом сборки Docker
Эта проблема может возникать, если вы указали свойства в определении среды, которые не могут быть включены в контекст сборки Docker.
Возможные причины:
- Вы указали контекст сборки Docker, а также хотя бы одно из следующих свойств в определении среды:
- Переменные среды
- Зависимости Conda.
- R
- Spark
Затронутые области (симптомы):
- Сбой при регистрации среды
Действия по устранению неполадок
ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 1
Если в определении среды указан любой из перечисленных выше свойств, удалите их.
- Если вы используете контекст сборки Docker и хотите указать зависимости conda, спецификация conda должна находиться в каталоге контекста сборки.
Ресурсы
- Общие сведения о контексте сборки
- Класс среды пакета SDK для Python версии 1
Тип расположения не поддерживается или тип неизвестного расположения
Возможные причины:
- Вы указали тип расположения для контекста сборки Docker, который не поддерживается или неизвестен
Затронутые области (симптомы):
- Сбой при регистрации среды
Действия по устранению неполадок
ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 1
Типы допустимых расположений:
- Git
- Вы можете предоставить URL-адреса Git для Машинное обучение Azure, но их нельзя использовать для создания образов. Используйте учетную запись хранения, пока в сборках не будет поддерживаться Git.
- Учетная запись хранения
- Общие сведения об этой учетной записи хранения
- Узнайте, как создать учетную запись хранения
Ресурсы
Недопустимое расположение
Возможные причины:
- Указанное расположение контекста сборки Docker недопустимо
Затронутые области (симптомы):
- Сбой при регистрации среды
Действия по устранению неполадок
ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 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 версии 1
Вместо этого используйте атрибут environment_variables
в объекте RunConfiguration.
Проблемы с Python
Отсутствует раздел Python
Возможные причины:
- Определение среды не содержит раздел Python
Затронутые области (симптомы):
- Сбой при регистрации среды
Действия по устранению неполадок
ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 1
Заполнение раздела Python определения среды
- Дополнительные сведения см. в статье Класс PythonSection.
Отсутствует версия Python
Возможные причины:
- Вы не указали версию Python в определении среды
Затронутые области (симптомы):
- Сбой при регистрации среды
Действия по устранению неполадок
ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 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 версии 1
Выберите версию Python, которую вы хотите использовать, и удалите все остальные версии.
myenv.python.conda_dependencies.remove_conda_package("python=3.8")
Если вы используете YAML для спецификации conda, включите только одну версию Python в качестве зависимости.
Ресурсы
Версия Python не поддерживается
Возможные причины:
- Вы указали версию Python, которая находится или находится в конце срока действия и больше не поддерживается
Затронутые области (симптомы):
- Сбой при регистрации среды
Действия по устранению неполадок
Укажите версию Python, которая не достигнута и не приближается к концу срока жизни.
Не рекомендуется использовать версию Python
Возможные причины:
- Вы указали версию Python, которая находится в конце или ближе к концу срока жизни.
Затронутые области (симптомы):
- Сбой при регистрации среды
Действия по устранению неполадок
Укажите версию Python, которая не достигнута и не приближается к концу срока жизни.
Не удалось проверить версию Python
Возможные причины:
- Вы указали версию Python с неправильным синтаксисом или неправильным форматированием
Затронутые области (симптомы):
- Сбой при регистрации среды
Действия по устранению неполадок
ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 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
Возможные причины:
- Вы не предоставили спецификацию conda в определении среды и
user_managed_dependencies
имеет значениеFalse
(по умолчанию)
Затронутые области (симптомы):
- Сбой при регистрации среды
Действия по устранению неполадок
ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 1
Если вы не хотите, чтобы Машинное обучение Azure создать среду Python для вас на conda_dependencies,
основе заданного значения user_managed_dependencies
True
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
Ресурсы
- Дополнительные сведения см. в статье Создание файла Conda вручную.
- Дополнительные сведения см. в статье Класс CondaDependencies.
- Дополнительные сведения см. в статье Определение спецификации Conda для определения среды.
Недопустимые зависимости conda
Возможные причины:
- Неправильно отформатированы зависимости conda, указанные в определении среды.
Затронутые области (симптомы):
- Сбой при регистрации среды
Действия по устранению неполадок
ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 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 вручную.
- Дополнительные сведения см. в статье Класс CondaDependencies.
- Дополнительные сведения см. в статье Определение спецификации Conda для определения среды.
Отсутствующие каналы conda
Возможные причины:
- Вы не указали каналы conda в определении среды
Затронутые области (симптомы):
- Сбой при регистрации среды
Действия по устранению неполадок
Для воспроизведения среды укажите каналы, из которых следует извлекать зависимости. Если вы не указываете каналы conda, conda использует значения по умолчанию, которые могут измениться.
ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 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 для определения среды версии 1
- Дополнительные сведения см. в статье Класс CondaDependencies.
- Дополнительные сведения см. в статье Создание файла Conda вручную.
- Узнайте, как создать среду из спецификации conda версии 2
- Дополнительные сведения см. в статье Создание файла Conda вручную.
Не рекомендуется использовать базовую среду conda
Возможные причины:
- Вы указали базовую среду conda в определении среды.
Затронутые области (симптомы):
- Сбой при регистрации среды
Действия по устранению неполадок
Частичные обновления среды могут привести к конфликтам зависимостей и /или непредвиденным ошибкам среды выполнения, поэтому не рекомендуется использовать базовые среды conda.
ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 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 для определения среды версии 1
- Дополнительные сведения см. в статье Класс CondaDependencies.
- Дополнительные сведения см. в статье Создание файла Conda вручную.
- Дополнительные сведения см. в статье Создание файла Conda вручную.
Незакреченные зависимости
Возможные причины:
- Вы не указали версии для определенных пакетов в спецификации conda
Затронутые области (симптомы):
- Сбой при регистрации среды
Действия по устранению неполадок
Если вы не указываете версию зависимости, сопоставитель пакетов conda может выбрать другую версию пакета в последующих сборках той же среды. Это нарушает воспроизводимость среды и может привести к непредвиденным ошибкам.
ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 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
Ресурсы
- Дополнительные сведения см. в статье Закрепление пакета Conda.
Проблемы с pip
Pip не указан
Возможные причины:
- Вы не указали pip в качестве зависимости в спецификации conda
Затронутые области (симптомы):
- Сбой при регистрации среды
Действия по устранению неполадок
Для воспроизведения следует указать и закрепить pip в качестве зависимости в спецификации conda.
ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 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
Ресурсы
- Дополнительные сведения см. в статье Закрепление пакета Conda.
Pip не закреплен
Возможные причины:
- Вы не указали версию для pip в спецификации conda
Затронутые области (симптомы):
- Сбой при регистрации среды
Действия по устранению неполадок
Если вы не указываете версию pip, для последующих сборок той же среды может использоваться другая версия. Это поведение может привести к проблемам с воспроизводимостью и другими непредвиденными ошибками, если разные версии pip разрешают пакеты по-разному.
ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 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
Ресурсы
- Дополнительные сведения см. в статье Закрепление пакета Conda.
Другие проблемы с средой
Раздел R не рекомендуется
Возможные причины:
- Вы указали раздел R в определении среды
Затронутые области (симптомы):
- Сбой при регистрации среды
Действия по устранению неполадок
Пакет SDK Машинное обучение Azure для R был нерекомендуем в конце 2021 г. для улучшения обучения и развертывания R с помощью Azure CLI версии 2
ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 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_dependencies
True
. Настройка user_managed_dependenciesTrue
отключения conda и использования установленных пакетов пользователя
Если вы не предоставили учетные данные для частного реестра, из которых вы пытаетесь извлечь, или указанные учетные данные неверны.
- При необходимости настройте подключения к рабочей области для реестра контейнеров.
Ресурсы
Ошибка ввода-вывода
Эта проблема может возникать, когда сбой извлечения образа Docker из-за проблемы с сетью.
Возможные причины:
- Проблема с сетевым подключением, которая может быть временной
- Брандмауэр блокирует подключение
- ACR недоступен и существует сетевая изоляция. Дополнительные сведения см. в статье ACR, недоступной для доступа.
Затронутые области (симптомы):
- Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
- Сбой при выполнении заданий, так как Машинное обучение Azure неявно создает среду на первом шаге.
Действия по устранению неполадок
Добавление узла в правила брандмауэра
Оцените настройку рабочей области. Вы используете виртуальную сеть или какие-либо из ресурсов, к которых вы пытаетесь получить доступ во время сборки образа за виртуальной сетью?
- Убедитесь, что вы выполнили действия, описанные в этой статье по защите рабочей области с помощью виртуальных сетей
- Машинному обучению Azure требуется как входящий, так и исходящий доступ к общедоступному Интернету. Если возникла проблема с настройкой виртуальной сети, может возникнуть проблема с доступом к определенным репозиториям, необходимым во время сборки образа.
Если вы не используете виртуальную сеть или правильно настроили ее.
- Попробуйте перестроить образ. Если время ожидания возникло из-за проблемы с сетью, проблема может быть временной, и перестроение может устранить проблему.
Проблемы Conda во время сборки
Плохая спецификация
Эта проблема может возникать, если пакет, указанный в спецификации conda, недопустим или когда вы неправильно выполнили команду conda.
Возможные причины:
- Неправильный синтаксис, используемый в спецификации conda
- Вы неправильно выполняете команду conda
Затронутые области (симптомы):
- Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
- Сбой при выполнении заданий, так как Машинное обучение Azure неявно создает среду на первом шаге.
Действия по устранению неполадок
Ошибки спецификаций Conda могут возникать, если команда conda create неправильно используется
- Ознакомьтесь с документацией и убедитесь, что вы используете допустимые параметры и синтаксис
- Существует известная путаница относительно
conda env create
противconda create
. Дополнительные сведения об ответе conda и известных решениях других пользователей см. здесь
Чтобы обеспечить успешную сборку, убедитесь, что вы используете правильный синтаксис и допустимую спецификацию пакета в yaml conda
- Сведения о спецификациях соответствия пакетов и способах создания файла 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, построенная с использованием общих и динамических библиотек)
- Дополнительные сведения см. в статье Установка mpi4py.
- При необходимости выполните следующие действия по созданию MPI
Убедитесь, что вы используете совместимую версию Python
- Рекомендуется использовать Python 3.8+ из-за более старых версий, достигающих окончания срока жизни.
- Дополнительные сведения см. в статье Установка mpi4py.
Ресурсы
Предпринята попытка интерактивной проверки подлинности
Эта проблема может возникать при попытке pip интерактивной проверки подлинности во время установки пакета.
Возможные причины:
- Вы указали пакет, требующий проверки подлинности, но не предоставили учетные данные.
- Во время сборки образа pip попыталась выполнить проверку подлинности, которая завершилась сбоем сборки, так как во время сборки не удается предоставить интерактивную проверку подлинности.
Затронутые области (симптомы):
- Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
- Сбой при выполнении заданий, так как Машинное обучение Azure неявно создает среду на первом шаге.
Действия по устранению неполадок
Предоставление проверки подлинности через подключения к рабочей области
ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 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 и столкнулись с этой проблемой, убедитесь, что вы добавили conda в путь
- Ознакомьтесь с этим примером для получения рекомендаций
- Узнайте, как задать переменные среды в Dockerfile
Ресурсы
- Все доступные дистрибутивы 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
- Не удается удалить при создании образа Docker
- Ошибка частичного удаления pip 10 disutils
- pip 10 больше не удаляет неиспользуемые пакеты
Попробуйте выполнить следующие действия.
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>
Ресурсы
- Управление пакетами с помощью APT
- Ubuntu Apt-Get
- Что делать при сбое apt-get
- Команда apt-get в Linux с примерами
Проблемы с отправкой Docker
Не удалось сохранить образ Docker
Эта проблема может возникнуть, когда произошел сбой при отправке образа Docker в реестр контейнеров.
Возможные причины:
- Временная проблема возникла с ACR, связанной с рабочей областью
- Реестр контейнеров под виртуальной сетью использует частную конечную точку в неподдерживаемом регионе.
Затронутые области (симптомы):
- Сбой в создании сред из пользовательского интерфейса, пакета SDK и интерфейса командной строки.
- Сбой при выполнении заданий, так как Машинное обучение Azure неявно создает среду на первом шаге.
Действия по устранению неполадок
Повторите сборку среды, если вы подозреваете, что сбой является временной проблемой с Реестр контейнеров Azure рабочей области (ACR)
Если реестр контейнеров находится за виртуальной сетью или использует частную конечную точку в неподдерживаемом регионе.
- Настройка реестра контейнеров с помощью конечной точки службы (общедоступного доступа) на портале и повторных попыток
- После размещения реестра контейнеров за виртуальной сетью выполните шаблон Azure Resource Manager, чтобы рабочая область могла обмениваться данными с экземпляром реестра контейнеров.
Если вы не используете виртуальную сеть или правильно настроили ее, проверьте правильность учетных данных для ACR путем попытки простой локальной сборки
- Получение учетных данных для ACR рабочей области из портал Azure
- Вход в ACR с помощью
docker login <myregistry.azurecr.io> -u "username" -p "password"
- Для изображения helloworld проверьте отправку в ACR, выполнив команду
docker push helloworld
- См. краткое руководство. Создание и запуск образа контейнера с помощью задач Реестр контейнеров Azure
Неизвестная команда Docker
Неизвестная инструкция Docker
Эта проблема может возникать, если Docker не распознает инструкцию в Dockerfile.
Возможные причины:
- Неизвестная инструкция Docker, используемая в Dockerfile
- Файл Dockerfile содержит недопустимый синтаксис
Затронутые области (симптомы):
- Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
- Сбой при выполнении заданий, так как на первом шаге будет неявно создаваться среда.
Действия по устранению неполадок
- Убедитесь, что команда Docker действительна и правильно написана
- Убедитесь, что между командой Docker и аргументами есть пробел.
- Убедитесь, что в Dockerfile нет ненужных пробелов
- Убедитесь, что Dockerfile отформатирован правильно и закодирован в UTF-8
Ресурсы
Команда не найдена
Command not recognized (Команда не распознана)
Эта проблема может возникать, когда команда, выполняемая, не распознается.
Возможные причины:
- Вы не установили команду с помощью Dockerfile, прежде чем пытаться выполнить команду
- Вы не включили команду в свой путь или не добавили ее в путь
Затронутые области (симптомы):
- Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
- Сбой при выполнении заданий, так как на первом шаге будет неявно создаваться среда.
Действия по устранению неполадок: убедитесь, что у вас есть шаг установки для команды в Dockerfile, прежде чем пытаться выполнить команду.
Если вы попытались установить команду и столкнулись с этой проблемой, убедитесь, что вы добавили команду в путь.
- Ознакомьтесь с этим примером
- Узнайте, как задать переменные среды в Dockerfile
Другие проблемы сборки
Журнал сборки недоступен
Возможные причины:
- Машинное обучение Azure не разрешено хранить журналы сборки в учетной записи хранения.
- При сохранении журналов сборки произошла временная ошибка
- Произошла системная ошибка перед активацией сборки образа
Затронутые области (симптомы):
- Успешная сборка, но нет доступных журналов.
- Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
- Сбой при выполнении заданий, так как Машинное обучение Azure неявно создает среду на первом шаге.
Действия по устранению неполадок
Перестроение может устранить проблему, если она временная
Изображение не найдено
Эта проблема может возникнуть, если указанный базовый образ не найден.
Возможные причины:
- Вы неправильно указали изображение
- Указанный образ не существует в указанном реестре.
Затронутые области (симптомы):
- Сбой сборки сред с использованием пользовательского интерфейса, пакета SDK и CLI.
- Сбой при выполнении заданий, так как на первом шаге будет неявно создаваться среда.
Действия по устранению неполадок
- Убедитесь, что базовый образ орфографирован и отформатирован правильно.
- Убедитесь, что базовый образ, который вы используете, существует в указанном реестре.
Ресурсы