Amazon S3統合#
Amazon S3 連携機能を使用すると、S3 バケットを Ultralytics Platform に接続できます。画像はバケット内に保存されたまま、Platform がその場でインデックス作成を行うため、コピーをアップロードすることなく、YOLO モデルの閲覧、アノテーション、およびトレーニングを行うことができます。
Amazon S3 データセットを利用するには、Pro または Enterprise プランが必要です。無料ワークスペースでも連携機能は表示されますが、接続時にアップグレードを促されます。サブスクリプションが終了した場合でも、既存の Amazon S3 データセットは引き続き完全にアクセス可能です。Pro プランが必要なのは、新規の接続とインポートのみです。
読み取り専用IAMユーザーの作成#
Platform がストレージに対して行うのは読み取りのみであり、オブジェクトの書き込み、変更、削除を行うことは一切ありません。ルート認証情報は絶対に使用せず、リストおよび読み取り権限のみを持つ専用の IAM ユーザーを使用してください。
-
AWSコンソールで、IAM > ユーザーに移動し、コンソールアクセス権を持たないユーザーを作成します。
-
接続するバケットに対して、一覧表示および読み取り権限のみを付与するポリシーをアタッチします。
{ "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は任意です。これを設定すると、Platform がバケットを自動検出するため、手動で名前を入力する必要がなくなります。 -
ユーザーのセキュリティ認証情報タブを開き、アクセスキーを作成して、アクセスキーIDとシークレットアクセスキーをコピーします。
Platformは一時的なAWS認証情報を拒否します。ASIAで始まるもの、ロールセッション認証情報、IAM Identity Centerキーなど、AWS STSによって発行されたキーは、データセットの接続中に有効期限が切れるため、専用のIAMユーザーの長期的なアクセスキーが必要です。
Platform への接続#
- 設定 (Settings) > 連携 (Integrations) に移動し、連携リストから Amazon S3 を選択します。
- アクセスキー ID、シークレットアクセスキー、およびバケットリージョン (例:
us-east-1) を入力します。 - Find available buckets をクリックし、接続するバケットを選択します。ポリシーで検出が許可されていない場合は、既知のバケット名を手動で入力します。
- 接続 をクリックします。Platform は保存前に、選択された各バケットをリストおよび読み取り可能であることを検証します。

クラウドストレージを接続するには、ワークスペースの管理者またはオーナーのroleが必要です。1つの接続で最大50個のバケットを処理でき、ディスカバリーではキーが参照できるバケットのうち最大300個が一覧表示されます。
後から同じIAMユーザーで再接続すると、既存の統合に新しいバケットが追加されます。保存済みの認証情報は、その代わりとなる認証情報ですべての接続済みバケットが読み取り可能な場合にのみ置き換えられます。
1つの接続は、入力したリージョン内のバケットを読み取ります。バケットが複数のリージョンに存在する場合は、リージョンごとに接続を行ってください。
認証情報はAES-256-GCMで保存時に暗号化され、ブラウザに返されることはなく、トレーニングワークロードに露出することもありません。アクセスを取り消すには、AWS IAMでアクセスキーを無効化してください。
S3バケットからのデータセットの作成#
- New Dataset をクリックし、Cloud タブを開きます。
- 接続済みのバケットを選択し、データを含むフォルダを参照します。
- フォルダーを確認し、データセット名を調整して、データセットを作成します。
Platform がフォルダーを一度リスト表示し、見つかった内容をインデックス化します:
- 画像 (Images) —
.jpg、.jpeg、.png、.webp、および.avifのオブジェクトは、範囲指定リクエストを通じて読み取られたディメンションでインデックス化されます。Platform は元画像の 2 つ目のコピーを永続化しません。 - ラベル (Labels) — YOLO の
.txtサイドカーは Platform のアノテーションに解析され、標準のimages/→labels/レイアウト、または同一フォルダ内の兄弟ファイルとして一致させられます。 - Metadata — アーカイブのアップロードと全く同様に、YAML ファイルによってクラス名とポーズキーポイントの形状が提供されます。フォルダ内に複数のファイルがある場合は、
data.yamlおよびdata.ymlが推奨されます。 - Task — ラベルファイルのサンプルに基づいてタスクが決定されるため、セグメンテーション、ポーズ、OBB の各フォルダは、ダイアログで選択したタスクではなく、そのラベルの形状から認識されます。
- 分割 (Splits) — オブジェクトキー内の
train、val、およびtestのフォルダ名によって、データ分割が自動的に割り当てられます。
その後、このデータセットは他のデータセットと同様に動作します。閲覧やアノテーションの実行、パブリックまたはプライベートの設定、チームとの共有、マネージドトレーニングを通じたトレーニングが可能です。オリジナル画像はオンデマンドでストリーミングされ、インデックス化された画像は Platform のストレージクォータを消費しません。
1 回のインポートで最大 50,000 個のオブジェクト、および各最大 1 MB のラベルファイルや YAML ファイルをインデックス化できます。より大きなバケットは、複数のデータセットに分割してください。
インデックスされたすべての画像はS3オブジェクトのETagに固定されます。基盤となるオブジェクトが変更された場合、Platformはエラーを出力して停止します。既存のオブジェクトを上書きするのではなく、新しいオブジェクトを追加するようにしてください。
インポートの失敗#
インポートが失敗した場合(空のフォルダ、パスの誤字、権限の取り消しなど)、データセットのページにエラーが表示されます。編集者は インポートを再試行 をクリックして保存されたバケットとフォルダで再開するか、修正されたパスを指定して新しいデータセットを作成できます。
再試行時は処理の再開ではなくフォルダの再リストアップが行われます。初回試行以降に追加されたオブジェクトが取得され、存在せざるを得なくなったオブジェクトはデータセットから除外されます。
トレーニング#
マネージドトレーニングは通常のトレーニングフローを通じて機能します。トレーニングでは、実行期間中ピン留めされた画像のPlatform独自のコピーを使用し、AWS認証情報がトレーニングワークロードに露出することは決してありません。
接続の切断#
接続解除を行うと、AWS側の何にも触れることなく保存された認証情報が削除されます。それらのバケットから構築されたデータセットは、クラス、ラベル、アノテーションとともにワークスペースに残りますが、同じIAMユーザーが再度接続されるまで、画像を読み込んだり、プレビューしたり、トレーニングしたりすることはできません。
GET /api/integrations/buckets によって返されたインテグレーション ID を使用して、REST API を使用します。
curl -X DELETE \
-H "Authorization: Bearer YOUR_API_KEY" \
https://platform.ultralytics.com/api/integrations/buckets/INTEGRATION_IDfrom ultralytics_platform import Platform
client = Platform() # reads ULTRALYTICS_API_KEY
integrations = client.storage_integrations.list()
client.storage_integrations.delete("INTEGRATION_ID")代わりに元でアクセスを取り消すには、AWS IAMでアクセスキーを無効化または削除してください。
現在の制限事項#
現在、S3 をバックエンドとするデータセットでは、Platform が所有する画像のコピーを必要とする機能 (自動アノテーション、クラスタリング分析、データセットのクローン、および変更不可能なバージョン スナップショット) はサポートされていません。
S3ベースのデータセット、またはその中の個別の画像を削除しても、Platform側の参照が削除されるだけであり、実際のオブジェクトが変更されることはありません。
また、Google Cloud Storage および Azure Blob Storage の連携機能もご覧ください。