YOLO Vision 2026 :

Intégration Amazon S3#

L'intégration Amazon S3 connecte tes buckets S3 à Ultralytics Platform. Tes images restent dans tes buckets — Platform les indexe sur place, ce qui te permet de parcourir, d'annoter et d'entraîner des modèles YOLO sans avoir à en télécharger une copie.

Fonctionnalité Pro

Les datasets Amazon S3 nécessitent un Pro or Enterprise plan. Les espaces de travail gratuits voient l'intégration et sont invités à passer à la version supérieure lors de la connexion. Les datasets Amazon S3 existants restent entièrement accessibles si un abonnement prend fin — seules les nouvelles connexions et les nouveaux imports nécessitent Pro.

Créer un utilisateur IAM en lecture seule#

Platform lit uniquement ton stockage — il ne écrit, ne modifie ni ne supprime jamais tes objets. Utilise un IAM user dédié avec un accès en lecture et en liste uniquement — jamais d'identifiants root :

  1. Dans la console AWS, va dans IAM > Users et crée un utilisateur sans accès à la console.

  2. Attache une politique n'accordant que les accès en liste et en lecture aux buckets que tu souhaites connecter :

    {
        "Version": "2012-10-17",
        "Statement": [
            { "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": "*" },
            {
                "Effect": "Allow",
                "Action": ["s3:ListBucket", "s3:GetObject"],
                "Resource": ["arn:aws:s3:::my-bucket", "arn:aws:s3:::my-bucket/*"]
            }
        ]
    }

    s3:ListAllMyBuckets est facultatif — il permet à Platform de découvrir tes buckets pour que tu n'aies pas à taper leurs noms.

  3. Ouvre l'onglet Security credentials de l'utilisateur, crée une access key, et copie l'ID de la clé d'accès ainsi que la clé d'accès secrète.

Clés d'utilisateur IAM permanentes uniquement

Platform rejette les identifiants AWS temporaires. Les clés émises par AWS STS — y compris tout ce qui commence par ASIA, les identifiants de session de rôle et les clés IAM Identity Center — expirent alors qu'un dataset est toujours connecté, c'est pourquoi la clé d'accès permanente d'un utilisateur IAM dédié est requise.

Se connecter à la Platform#

  1. Va dans Settings > Integrations et sélectionne Amazon S3 dans la liste des intégrations.
  2. Entre l'ID de clé d'accès, la clé d'accès secrète et la région du bucket (par exemple us-east-1).
  3. Clique sur Find available buckets, puis sélectionne les buckets à connecter. Si la politique ne permet pas la découverte, entre un nom de bucket connu manuellement.
  4. Clique sur Connect. La Platform vérifie qu'elle peut lister et lire chaque bucket sélectionné avant de sauvegarder quoi que ce soit.

Ultralytics Platform Amazon S3 Integration Settings

Tu as besoin du rôle d'administrateur ou de propriétaire de l'espace de travail pour connecter le stockage cloud. Une connexion prend en charge jusqu'à 50 compartiments, et la découverte liste jusqu'à 300 des compartiments visibles par la clé.

Reconnecter le même utilisateur IAM plus tard ajoute de nouveaux buckets à l'intégration existante. Une clé enregistrée n'est remplacée que si son remplaçant peut toujours lire chaque bucket déjà connecté.

Une région par connexion

Une connexion lit les buckets dans la région que tu saisis. Si tes buckets sont répartis dans plusieurs régions, connecte-toi une fois par région.

Sécurité des identifiants

Les identifiants sont chiffrés au repos avec AES-256-GCM, ne sont jamais renvoyés au navigateur et ne sont jamais exposés aux charges de travail d'entraînement. Pour révoquer l'accès, désactive la clé d'accès dans AWS IAM.

Créer un jeu de données à partir d'un bucket S3#

  1. Clique sur New Dataset et ouvre l'onglet Cloud.
  2. Choisis un bucket connecté et navigue jusqu'au dossier contenant tes données.
  3. Confirme le dossier, ajuste le nom du jeu de données et crée-le.

Platform liste le dossier une fois et indexe ce qu'elle trouve :

  • Images — les objets .jpg, .jpeg, .png, .webp et .avif sont indexés avec des dimensions lues via des requêtes limitées. La Platform ne conserve pas de seconde copie de l'image source.
  • Labels — les fichiers d'accompagnement YOLO .txt sont analysés pour former des annotations sur la Platform, associés selon la structure standard images/labels/ ou en tant qu'éléments frères dans le même dossier.
  • Metadata — un fichier YAML fournit les noms des classes et la forme des points clés de pose, exactement comme pour un téléversement d'archive. data.yaml et data.yml sont recommandés lorsque le dossier en contient plusieurs.
  • Task — un échantillon des fichiers d'étiquettes détermine la tâche, de sorte que les dossiers de segmentation, de pose et d'OBB sont reconnus par la forme de leurs étiquettes plutôt que par la tâche choisie dans la boîte de dialogue.
  • Splits — Les noms de dossiers train, val et test dans la clé d'objet attribuent automatiquement les splits.

Le dataset se comporte ensuite comme n'importe quel autre : parcours-le et annote-le, rends-le public ou privé, partage-le avec ton équipe et entraîne-le via l'entraînement géré. Les originaux sont diffusés à la demande, et les images indexées ne consomment pas ton quota de stockage sur la Platform.

Limites

Une seule importation indexe jusqu'à 50 000 objets, et les fichiers de labels ou YAML jusqu'à 1 Mo chacun. Les buckets plus volumineux devraient être répartis sur plusieurs datasets.

Garde les objets indexés immuables

Chaque image indexée est liée à son ETag d'objet S3, et Platform refuse l'opération si un objet est modifié en arrière-plan. Ajoute de nouveaux objets au lieu d'écraser ceux qui existent déjà.

Importations échouées#

Si une importation échoue — dossier vide, faute de frappe dans le chemin ou permissions révoquées — le dataset affiche l'erreur sur sa page. Les éditeurs peuvent cliquer sur Retry import pour recommencer avec le bucket et le dossier enregistrés, ou créer un nouveau dataset pointant vers le chemin corrigé.

Une nouvelle tentative liste à nouveau le dossier au lieu de reprendre : les objets ajoutés depuis la première tentative sont inclus, et les objets qui n'y sont plus sont retirés du jeu de données.

Entraînement#

L'entraînement géré fonctionne via le flux d'entraînement normal. L'entraînement utilise les propres copies de Platform des images épinglées pendant toute la durée de l'exécution, et tes identifiants AWS ne sont jamais exposés aux charges de travail d'entraînement.

Déconnecter une connexion#

La déconnexion supprime les identifiants stockés sans toucher à quoi que ce soit dans AWS. Les datasets construits à partir de ces compartiments restent dans ton espace de travail avec leurs classes, étiquettes et annotations, mais leurs images ne peuvent pas être chargées, prévisualisées ou utilisées pour l'entraînement tant que le même utilisateur IAM n'est pas reconnecté.

Utilise l'REST API avec l'ID d'intégration renvoyé par 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")

Pour révoquer l'accès à la source à la place, désactive ou supprime la clé d'accès dans AWS IAM.

Limitations actuelles#

Les datasets basés sur S3 excluent actuellement les fonctionnalités qui nécessitent des copies de tes images appartenant à Platform : l'annotation automatique, l'clustering analysis, le clonage de datasets et les version snapshots immuables.

Supprimer un jeu de données basé sur S3, ou des images individuelles qu'il contient, ne supprime que les références de Platform — tes objets ne sont jamais touchés.

Consulte également les intégrations Google Cloud Storage et Azure Blob Storage.

Contributeurs

Commentaires