快速入门

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 endpoint(AWS S3 默认情况下留空;在使用非默认或兼容 S3 的 endpoint 时设置)
      • 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 快速入门指南,请参阅官方文档:使用 Label Studio 开始:分步指南