Ultralytics YOLO27:

Интеграция с Azure Blob Storage#

Интеграция с Azure Blob Storage подключает контейнеры твоей учетной записи хранилища к Ultralytics Platform. Изображения остаются в твоих контейнерах — Platform индексирует их на месте, поэтому ты можешь просматривать их, размечать и обучать модели YOLO без загрузки копии.

Функция плана Pro

Для работы с наборами данных в Azure Blob Storage нужен тариф Pro или Enterprise. В бесплатных рабочих пространствах интеграция отображается, а при подключении предлагается перейти на платный тариф. Если подписка закончится, доступ к существующим наборам данных Azure Blob Storage сохранится полностью — тариф Pro потребуется только для новых подключений и импорта.

Получение строки подключения#

Platform только считывает данные из твоего хранилища — она никогда не записывает, не изменяет и не удаляет твои блобы. Текущая версия интеграции требует строку подключения с ключом доступа к учетной записи. Она предоставляет права на всю учетную запись, хотя Platform выполняет только операции просмотра списка и чтения:

  1. В портале Azure открой свою учетную запись хранилища.
  2. Перейди в раздел Безопасность и сети > Ключи доступа.
  3. Скопируй строку подключения.

Строка должна содержать AccountName, AccountKey и HTTPS в качестве протокола — именно такую строку Azure предоставляет в разделе Ключи доступа. Строки подключения с токеном SAS, в которых вместо AccountKey содержится SharedAccessSignature, отклоняются.

Только общедоступное облако Azure

Подключения используют стандартную конечную точку blob.core.windows.net. Суверенные облака (Azure China, Azure Government) и пользовательские конечные точки Blob Storage не поддерживаются.

Подключение к Platform#

  1. Перейди в раздел Настройки > Интеграции и выбери Azure Blob Storage в списке интеграций.
  2. Вставь строку подключения.
  3. Нажми Найти доступные контейнеры, а затем выбери контейнеры для подключения. Также можно ввести имя контейнера вручную.
  4. Нажми Подключить. Перед сохранением Platform проверяет, что может просматривать список объектов и считывать данные из каждого выбранного контейнера.

Настройки интеграции Azure Blob Storage в Ultralytics Platform

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

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

Защита учётных данных

Если ключ учетной записи окажется за пределами Platform, с его помощью можно выполнять операции записи и удаления или создавать токены SAS. Учетные данные шифруются в состоянии покоя с помощью AES-256-GCM, никогда не передаются браузеру и не раскрываются рабочим нагрузкам обучения. По возможности используй выделенную учетную запись хранилища. Чтобы отозвать доступ, смени ключи доступа к учетной записи хранилища в Azure.

Создание набора данных из контейнера Blob#

  1. Нажми New Dataset и открой вкладку Cloud.
  2. Выбери подключенный контейнер и перейди в папку с данными.
  3. Подтверди выбор папки, при необходимости измени имя набора данных и создай его.

Platform один раз просматривает содержимое папки и индексирует найденные данные:

  • Изображения — блобы .jpg, .jpeg, .png, .webp и .avif индексируются, а их размеры считываются с помощью ограниченных по объему запросов. Platform не сохраняет вторую копию исходного изображения.
  • Метки — файлы .txt в формате YOLO преобразуются в аннотации Platform и сопоставляются по стандартной структуре images/ → labels/ либо с файлами в той же папке.
  • Метаданные — YAML-файл содержит имена классов и форму ключевых точек позы, как и при загрузке архива. Если в папке несколько таких файлов, предпочтение отдаётся data.yaml и data.yml.
  • Задача — тип задачи определяется по выборке файлов с метками, поэтому папки для сегментации, оценки позы и OBB распознаются по структуре меток, а не по задаче, выбранной в диалоговом окне.
  • Разбиение на выборки — имена папок train, val и test в пути к блобу автоматически назначают выборки.

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

Ограничения

За один импорт можно проиндексировать до 500 000 блобов, а размер каждого файла меток или YAML-файла не должен превышать 1 МБ. Большие контейнеры следует разделять между несколькими наборами данных.

Не изменяй индексированные блобы

Каждое индексированное изображение закрепляется за ETag своего блоба, и Platform безопасно прекращает работу, если блоб изменяется. Добавляй новые блобы, а не перезаписывай существующие.

Неудачный импорт#

Если импорт завершается с ошибкой — например, папка пуста, в пути опечатка или разрешения отозваны, — ошибка отображается на странице набора данных. Редакторы могут нажать Повторить импорт, чтобы запустить его заново с сохраненными контейнером и папкой, или создать новый набор данных с исправленным путем.

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

Обучение#

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

Отключение подключения#

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

Используй REST API с идентификатором интеграции, возвращённым командой GET /api/integrations/buckets:

curl -X DELETE \
  -H "Authorization: Bearer YOUR_API_KEY" \
  https://platform.ultralytics.com/api/integrations/buckets/INTEGRATION_ID
from ultralytics_platform import Platform

client = Platform()  # reads ULTRALYTICS_API_KEY
integrations = client.storage_integrations.list()
client.storage_integrations.delete("INTEGRATION_ID")

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

Текущие ограничения#

Для наборов данных, размещенных в Azure, пока недоступны функции, которым нужны принадлежащие Platform копии изображений: автоматическая разметка, кластерный анализ, клонирование наборов данных и неизменяемые снимки версий.

При удалении набора данных, размещенного в Azure, или отдельных изображений из него удаляются только ссылки Platform — блобы не затрагиваются.

Также см. интеграции с Google Cloud Storage и Amazon S3.

Часто задаваемые вопросы#

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

  • Набор данных индексируется один раз при создании. Новые объекты не будут обнаружены, пока ты не создашь новый набор данных или не повторишь неудачный импорт; каждое индексированное изображение привязано к своей версии, поэтому при перезаписи объекта Platform перестанет работать с этим изображением. Добавляй новые объекты, а не заменяй существующие.

  • В подключённых наборах данных недоступны функции, для которых нужны копии изображений в Platform: авторазметка, кластерный анализ, клонирование набора данных и неизменяемые снимки версий. Ручная разметка, совместный доступ и обучение работают как обычно.

  • Отключи интеграцию в разделе Настройки > Интеграции, чтобы удалить сохраненные учетные данные, или смени ключи доступа к учетной записи хранилища в Azure. Ни одно из этих действий не затрагивает данные в твоих контейнерах.

Комментарии