Link to this sectionAmazon S3統合#
Amazon S3統合を使用すると、S3バケットをUltralytics Platformに接続できます。画像はバケット内に保持されたまま、Platformがその場所でインデックスを作成するため、コピーをアップロードすることなくYOLOモデルの閲覧、アノテーション、および学習を行えます。
Amazon S3データセットを利用するには、ProまたはEnterpriseプランが必要です。無料ワークスペースでは統合機能を確認できますが、接続時にアップグレードを促されます。サブスクリプションが終了しても、既存のAmazon S3データセットには完全にアクセス可能です。新しい接続とインポートにはProプランが必要です。
Link to this section読み取り専用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とシークレットアクセスキーをコピーします。
Link to this sectionPlatform への接続#
- **設定 > 統合**に移動し、Amazon S3カードを見つけます。
- 接続をクリックし、アクセスキーID、シークレットアクセスキー、およびバケットリージョン(例:
us-east-1)を入力します。 - Platformは、その認証情報で読み取り可能なバケットを一覧表示します。接続するバケットを選択するか、ポリシーで検出が許可されていない場合はバケット名を手動で入力します。
- 接続 をクリックします。Platform は保存前に、選択された各バケットをリストおよび読み取り可能であることを検証します。
後から同じIAMユーザーで再接続すると、既存の統合に新しいバケットが追加されます。保存済みの認証情報は、その代わりとなる認証情報ですべての接続済みバケットが読み取り可能な場合にのみ置き換えられます。
1つの接続は、入力したリージョン内のバケットを読み取ります。バケットが複数のリージョンに存在する場合は、リージョンごとに接続を行ってください。
認証情報はAES-256-GCMで暗号化して保存され、ブラウザに返されることはなく、学習ジョブのペイロードに含まれることもありません。アクセスを取り消すには、AWS IAMでアクセスキーを無効化してください。
Link to this sectionS3バケットからのデータセットの作成#
- 新しいデータセット をクリックし、クラウドストレージ タブを開きます。
- 接続済みのバケットを選択し、データを含むフォルダを参照します。
- フォルダーを確認し、データセット名を調整して、データセットを作成します。
Platform がフォルダーを一度リスト表示し、見つかった内容をインデックス化します:
- 画像 —
.jpg、.jpeg、.png、.webp、.avifオブジェクトは、境界ヘッダーリクエストから読み取られた寸法でインデックス化されます。ソースのピクセルデータがバケットからコピーされることはありません。 - ラベル — YOLO
.txtサイドカーファイルは Platform のアノテーションに解析されます。標準のimages/→labels/レイアウト、または同じフォルダー内の関連ファイルとして照合されます。 - メタデータ —
data.yaml/data.ymlは、アーカイブアップロード と同様に、クラス名、タスクタイプ、ポーズキーポイントの形状を提供します。 - 分割(Splits) — オブジェクトキー内の
train、val、およびtestフォルダー名によって、分割が自動的に割り当てられます。
データセットはその後、他のデータセットと同様に機能します。閲覧や アノテーション、公開・非公開の設定、チームとの共有、管理された学習による 学習 が可能です。オリジナル画像はオンデマンドでストリーミングされ、インデックス化された画像は Platform の ストレージクォータ を消費しません。
1 回のインポートで最大 50,000 個のオブジェクト、および各最大 1 MB のラベルファイルや YAML ファイルをインデックス化できます。より大きなバケットは、複数のデータセットに分割してください。
インデックスされたすべての画像はS3オブジェクトのETagに固定されます。基盤となるオブジェクトが変更された場合、Platformはエラーを出力して停止します。既存のオブジェクトを上書きするのではなく、新しいオブジェクトを追加するようにしてください。
Link to this sectionインポートの失敗#
インポートが失敗した場合(空のフォルダ、パスの誤字、権限の取り消しなど)、データセットのページにエラーが表示されます。編集者は インポートを再試行 をクリックして保存されたバケットとフォルダで再開するか、修正されたパスを指定して新しいデータセットを作成できます。
Link to this sectionトレーニング#
マネージド学習は通常の学習フローを通じて動作します。ワーカーが固定されたオリジナルデータを一時的なジョブストレージにダウンロードして学習を実行し、ジョブ終了時に削除します。AWS認証情報が計算環境に渡されることはありません。
Link to this section現在の制限事項#
S3ベースのデータセットでは、現在、Platform側で画像をコピーする必要がある機能(自動アノテーション、クラスタリング分析、データセットのクローン作成、変更不可のバージョンスナップショット)は対象外となります。
S3ベースのデータセット、またはその中の個別の画像を削除しても、Platform側の参照が削除されるだけであり、実際のオブジェクトが変更されることはありません。
Google Cloud StorageおよびAzure Blob Storageの統合も参照してください。