Tích hợp Amazon S3#
Tích hợp Amazon S3 kết nối các S3 bucket của bạn với Ultralytics Platform. Hình ảnh của bạn vẫn nằm trong các bucket — Platform sẽ lập chỉ mục trực tiếp tại chỗ, cho phép bạn duyệt, gán nhãn và huấn luyện các model YOLO mà không cần tải lên bản sao.
Các tập dữ liệu Amazon S3 yêu cầu gói Pro hoặc Enterprise. Các không gian làm việc miễn phí sẽ nhìn thấy tính năng tích hợp và được nhắc nâng cấp khi kết nối. Các tập dữ liệu Amazon S3 hiện có vẫn có thể truy cập hoàn toàn nếu gói đăng ký kết thúc — chỉ các kết nối và import mới yêu cầu gói Pro.
Tạo người dùng IAM chỉ đọc (Read-Only)#
Platform chỉ đọc từ bộ nhớ của bạn — tuyệt đối không ghi, sửa đổi hay xóa các đối tượng của bạn. Sử dụng một IAM user chuyên dụng chỉ có quyền liệt kê và đọc — tuyệt đối không dùng thông tin đăng nhập gốc (root):
-
Trong console AWS, đi tới IAM > Users và tạo một người dùng không có quyền truy cập console.
-
Đính kèm một chính sách chỉ cấp quyền liệt kê và đọc cho các bucket mà bạn muốn kết nối:
{ "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:ListAllMyBucketslà tùy chọn — tính năng này cho phép Platform phát hiện các bucket của bạn để bạn không cần phải nhập tên của chúng. -
Mở tab Security credentials của người dùng, tạo access key, sau đó sao chép access key ID và secret access key.
Platform từ chối thông tin xác thực AWS tạm thời. Các khóa do AWS STS cấp — bao gồm mọi thứ bắt đầu bằng ASIA, thông tin xác thực phiên vai trò và khóa IAM Identity Center — sẽ hết hạn khi dataset vẫn đang được kết nối, do đó cần có khóa truy cập có thời hạn dài của một người dùng IAM chuyên dụng.
Kết nối với Platform#
- Đi tới Settings > Integrations và chọn Amazon S3 từ danh sách tích hợp.
- Nhập access key ID, secret access key và region của bucket (ví dụ:
us-east-1). - Nhấp vào Find available buckets, sau đó chọn các bucket để kết nối. Nếu chính sách không cho phép khám phá, hãy nhập thủ công tên bucket đã biết.
- Nhấp vào Connect. Platform sẽ xác minh khả năng liệt kê và đọc từng bucket đã chọn trước khi lưu bất kỳ thông tin nào.

Bạn cần có role quản trị viên hoặc chủ sở hữu workspace để kết nối bộ nhớ đám mây. Một kết nối hỗ trợ tối đa 50 bucket và tính năng khám phá sẽ liệt kê tối đa 300 bucket mà khóa có thể nhìn thấy.
Việc kết nối lại cùng một người dùng IAM sau đó sẽ thêm các bucket mới vào tích hợp hiện có. Thông tin xác thực đã lưu chỉ được thay thế khi thông tin thay thế vẫn có thể đọc mọi bucket bạn đã kết nối.
Một kết nối sẽ đọc các bucket trong vùng bạn đã nhập. Nếu các bucket của bạn nằm ở nhiều vùng khác nhau, hãy kết nối một lần cho mỗi vùng.
Thông tin xác thực được mã hóa khi lưu trữ bằng AES-256-GCM, không bao giờ được trả về trình duyệt và không bao giờ bị lộ cho các workload huấn luyện. Để thu hồi quyền truy cập, hãy vô hiệu hóa khóa truy cập trong AWS IAM.
Tạo tập dữ liệu từ bucket S3#
- Nhấp vào New Dataset và mở tab Cloud.
- Chọn một bucket đã kết nối và duyệt đến thư mục chứa dữ liệu của bạn.
- Xác nhận thư mục, điều chỉnh tên dataset và tạo dataset.
Platform liệt kê thư mục một lần và lập chỉ mục những gì nó tìm thấy:
- Images — các object
.jpg,.jpeg,.png,.webp, và.avifđược lập chỉ mục với kích thước được đọc thông qua các request giới hạn. Platform không lưu trữ bản sao thứ hai của hình ảnh nguồn. - Labels — các sidecar YOLO
.txtđược phân tích cú pháp thành các annotation trên Platform, được khớp theo bố cục chuẩnimages/→labels/hoặc dưới dạng các file cùng thư mục. - Metadata — tệp YAML cung cấp tên lớp và hình dạng keypoint của pose, hoàn toàn giống như một tải lên lưu trữ.
data.yamlvàdata.ymlđược ưu tiên khi thư mục chứa nhiều tệp. - Task — một mẫu các tệp nhãn sẽ quyết định tác vụ, do đó các thư mục segment, pose và OBB được nhận diện dựa trên hình dạng nhãn của chúng thay vì tác vụ bạn đã chọn trong hộp thoại.
- Splits — Tên thư mục
train,valvàtesttrong object key sẽ tự động gán các phân tách (split).
Dataset sau đó hoạt động giống như bất kỳ dataset nào khác: duyệt và annotate dataset đó, đặt ở chế độ công khai hoặc riêng tư, chia sẻ với team của bạn và train trên đó thông qua tính năng quản lý training. Các tệp gốc được stream theo yêu cầu và hình ảnh được lập chỉ mục không tiêu tốn storage quota trên Platform của bạn.
Một lần nhập duy nhất có thể lập chỉ mục lên đến 50.000 đối tượng, và các tệp nhãn hoặc YAML có dung lượng lên đến 1 MB mỗi tệp. Các bucket lớn hơn nên được chia thành nhiều tập dữ liệu.
Mỗi hình ảnh được lập chỉ mục đều được ghim vào ETag đối tượng S3 của nó, và Platform sẽ dừng hoạt động nếu đối tượng bị thay đổi bên dưới nó. Hãy thêm đối tượng mới thay vì ghi đè lên các đối tượng hiện có.
Nhập thất bại#
Nếu quá trình nhập không thành công — do thư mục trống, lỗi đánh máy trong đường dẫn hoặc quyền hạn bị thu hồi — tập dữ liệu sẽ hiển thị lỗi trên trang của nó. Người chỉnh sửa có thể nhấp vào Retry import để khởi động lại với bucket và thư mục đã lưu, hoặc tạo một tập dữ liệu mới trỏ đến đường dẫn đã sửa.
Thao tác thử lại sẽ liệt kê lại thư mục thay vì tiếp tục: các đối tượng được thêm vào kể từ lần thử đầu tiên sẽ được lấy, và các đối tượng không còn ở đó sẽ bị loại khỏi dataset.
Huấn luyện#
Quá trình huấn luyện được quản lý hoạt động thông qua luồng huấn luyện thông thường. Quá trình huấn luyện sử dụng các bản sao hình ảnh đã ghim của riêng Platform trong suốt thời gian chạy và thông tin xác thực AWS của bạn không bao giờ bị lộ cho các workload huấn luyện.
Ngắt kết nối một kết nối#
Việc ngắt kết nối sẽ xóa thông tin xác thực đã lưu trữ mà không làm thay đổi bất kỳ thứ gì trong AWS. Các dataset được xây dựng từ các bucket đó vẫn ở trong workspace của bạn cùng với các lớp, nhãn và chú thích của chúng, nhưng hình ảnh của chúng không thể được tải, xem trước hoặc huấn luyện cho đến khi cùng một người dùng IAM được kết nối lại.
Sử dụng REST API với ID tích hợp được trả về bởi GET /api/integrations/buckets:
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")Để thu hồi quyền truy cập trực tiếp tại nguồn, hãy vô hiệu hóa hoặc xóa khóa truy cập trong AWS IAM.
Các hạn chế hiện tại#
Các tập dữ liệu dựa trên S3 hiện tại không bao gồm các tính năng yêu cầu bản sao do Platform sở hữu: tự động gán nhãn, phân tích cụm (clustering analysis), nhân bản tập dữ liệu và snapshot phiên bản bất biến.
Việc xóa tập dữ liệu dựa trên S3, hoặc xóa từng hình ảnh riêng lẻ trong đó, chỉ xóa các tham chiếu của Platform — các đối tượng của bạn không bao giờ bị chạm vào.
Xem thêm phần tích hợp Google Cloud Storage và Azure Blob Storage.