快速入门

S3 集成

Label Studio 支持与 S3 兼容的存储集成,用于导入数据和导出标注。常见选项包括 Amazon S3、Ceph RGW 以及其他 S3 兼容的对象存储服务。

前提条件

  • 具有适当权限的 S3 兼容存储桶
  • 访问凭证(Access Key ID 和 Secret Access Key)

存储桶和凭证必须来自受支持的 S3 兼容服务;平台不要求特定的对象存储产品。

在 Label Studio 中使用 S3

  1. 访问存储设置

    • 打开 Label Studio 项目
    • 转到 Settings > Cloud Storage
  2. 添加源存储

    • 点击 Add Source Storage
    • 选择 AWS S3 作为存储类型
    • 填写所需信息:
      • Storage Title:存储连接的名称
      • Bucket Name:S3 存储桶名称
      • Region Name:存储地域(例如,AWS S3 使用 us-east-1;如果提供商不需要此项,则可以留空)
      • S3 Endpoint:可选的自定义 S3 端点(AWS S3 默认情况下留空;在使用非默认端点或 S3 兼容端点时设置)
      • Access Key ID:访问密钥
      • Secret Access Key:密钥
      • Session Token:临时凭证的可选会话令牌
      • Bucket Prefix:存储桶中的可选路径前缀(例如 data/input/
      • File Filter Regex:用于过滤文件的可选正则表达式(例如 .*csv.*(jpe?g|png|tiff)
    • 配置可选设置:
      • Treat every bucket object as a source file:选中表示媒体文件,取消选中表示 JSON 任务文件
      • Recursive scan:启用后可递归扫描子目录
      • Use pre-signed URLs:启用后可通过浏览器直接访问 S3(推荐)
      • Expiration minutes:启用 Use pre-signed URLs 时的 URL 过期时间(默认:15 分钟)
    • 点击 Check Connection 测试连接性
    • 点击 Add Storage 创建存储连接
  3. 添加目标存储(可选)

    • 点击 Add Target Storage 将标注导出到 S3
    • 填写与源存储类似的 S3 参数
    • 目标存储的附加参数:
      • SSE KMS Key ID:用于服务器端加密的可选 KMS 密钥
    • 配置可选设置:
      • Can delete objects from storage:启用后允许从存储中删除标注
    • 点击 Check Connection 测试连接性
    • 点击 Add Storage 创建存储连接
  4. 上传数据到 S3

    • 将数据文件上传到已配置的 S3 存储桶和前缀路径
    • 确保数据文件可通过已配置的访问凭证访问
    • 使用 AWS CLI 或其他 S3 兼容客户端进行批量上传
  5. 导入数据

    • 点击 Source Cloud Storage 下的 Sync Storage,从 S3 导入数据
    • 每当 S3 存储桶中添加新数据时,都应执行同步
  6. 执行标注

    • 在 Label Studio 界面中访问已导入的数据
    • 使用已配置的标注界面完成标注
  7. 导出标注

    • 点击 Export 按钮,以多种格式(JSON、CSV 等)下载标注结果
    • 或者点击 Target Cloud StorageSync Storage 将标注推送到 S3
    • 注意:目标存储仅以 JSON 格式导出标注。如需将 JSON 标注转换为其他格式(CSV、COCO、Pascal VOC、YOLO 等),请使用 Label Studio SDK。详情请参见 SDK converter
  8. 将数据和标注用于模型训练/验证

    • 使用 AWS CLI、boto3 或其他 S3 客户端从 S3 下载训练数据和标注。实现细节请参见 S3 examples
    • 如有需要,使用 Label Studio SDK 转换标注格式。
    • 将数据集成到机器学习流水线中。
    • 使用标注进行模型训练或验证。

存储结构建议

  • 为不同项目使用不同的存储桶或不同的路径前缀,以避免数据冲突。
  • 目标存储和源存储可以使用同一个 S3 存储桶,但采用不同的路径前缀(例如,input/ 用于源存储,output/ 用于目标存储),也可以使用不同的存储桶,以便更好地隔离数据并控制访问权限。

其他资源

有关 Label Studio 快速入门指南,请参阅官方文档:Getting Started With Label Studio: A Step-By-Step Guide