YOLO Vision 2026:

Интеграция с 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. Перейди в Security + networking > Access keys (Безопасность и сеть > Ключи доступа).
  3. Скопируй connection string (строку подключения).

Строка должна содержать AccountName, AccountKey и HTTPS в качестве протокола — форму, которую Azure предоставляет в разделе Access keys. Строки подключения с SAS-токенами, содержащие SharedAccessSignature вместо AccountKey, отклоняются.

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

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

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

  1. Перейди в Settings > Integrations и выбери Azure Blob Storage из списка интеграций.
  2. Вставь строку подключения.
  3. Нажми Find available containers, а затем выбери контейнеры для подключения. Ты также можешь ввести имя контейнера вручную.
  4. Нажми Connect (Подключить). Перед сохранением данных Platform проверяет, может ли она просматривать список и читать каждый выбранный контейнер.

Ultralytics Platform Azure Blob Storage Integration Settings

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

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

Безопасность учетных данных

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

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

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

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

  • Images — блекбы .jpg, .jpeg, .png, .webp и .avif индексируются с размерами, считываемыми через ограниченные запросы. Platform не сохраняет вторую копию исходного изображения.
  • Labels — сопутствующие файлы YOLO .txt преобразуются в аннотации Platform, сопоставляемые по стандартной структуре images/labels/ или как файлы в той же папке.
  • Metadata — файл YAML задает имена классов и форму ключевых точек позы, точно так же, как при загрузке архива. data.yaml и data.yml предпочтительнее, если в папке их несколько.
  • Task — образец файлов разметки определяет задачу, поэтому папки segment, pose и OBB распознаются по форме их разметки, а не по задаче, выбранной в диалоговом окне.
  • Splits — названия папок train, val и test в пути blob автоматически назначают сплиты.

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

Ограничения

Один импорт индексирует до 50 000 блобов, а файлы меток или YAML — до 1 МБ каждый. Более крупные контейнеры следует разбивать на несколько наборов данных.

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

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

Ошибки импорта#

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

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

Training#

Управляемое обучение работает через обычный рабочий процесс обучения. Во время выполнения обучения используются собственные копии закрепленных изображений 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.

Участники

Комментарии