Label Studio 项目启动与配置完全指南
2025-07-05 06:26:49作者:宣聪麟
Label Studio 是一款功能强大的数据标注工具,广泛应用于机器学习项目中的数据标注工作。本文将详细介绍如何启动和配置 Label Studio 项目,包括各种启动参数、环境变量设置以及不同部署场景下的最佳实践。
基础启动命令
安装 Label Studio 后,使用以下简单命令即可启动服务:
label-studio start
默认情况下,Label Studio 使用 SQLite 数据库存储标注任务和注释。您可以通过 UI 或 API 指定不同的数据源和存储目标。
常用命令详解
Label Studio 提供了丰富的命令行工具,以下是核心命令及其功能:
命令 | 功能描述 |
---|---|
label-studio |
启动 Label Studio 服务器 |
label-studio -h |
显示所有可用命令行参数 |
label-studio init <项目名> |
初始化特定项目 |
label-studio start <项目名> --init |
启动服务器并初始化项目 |
label-studio reset_password |
重置用户密码 |
label-studio shell |
访问 Label Studio 的交互式 shell |
label-studio version |
显示当前版本信息 |
label-studio user --username <邮箱> |
显示用户信息及令牌 |
关键启动参数配置
Label Studio 提供了丰富的启动参数,可通过命令行或环境变量设置:
基础配置参数
参数 | 环境变量 | 默认值 | 说明 |
---|---|---|---|
-p , --port |
LABEL_STUDIO_PORT |
8080 | 指定服务端口 |
--host |
LABEL_STUDIO_HOST |
'' |
指定主机名用于生成链接 |
-d , --debug |
- | False |
启用调试模式 |
--log-level |
- | ERROR |
设置日志级别(DEBUG/INFO/WARNING/ERROR) |
数据存储配置
参数 | 环境变量 | 默认值 | 说明 |
---|---|---|---|
-db , --database |
LABEL_STUDIO_DATABASE |
label_studio.sqlite3 |
指定数据库文件路径 |
--data-dir |
LABEL_STUDIO_BASE_DATA_DIR |
系统相关 | 应用数据存储目录 |
用户与安全配置
参数 | 环境变量 | 默认值 | 说明 |
---|---|---|---|
--username |
LABEL_STUDIO_USERNAME |
default_user@localhost |
默认用户名 |
--password |
LABEL_STUDIO_PASSWORD |
None |
默认用户密码 |
--user-token |
LABEL_STUDIO_USER_TOKEN |
自动生成 | 用户API认证令牌 |
环境变量设置方法
在不同操作系统中设置环境变量的方法有所差异:
Linux/MacOS:
export LABEL_STUDIO_LOCAL_FILES_SERVING_ENABLED=true
Windows:
set LABEL_STUDIO_LOCAL_FILES_SERVING_ENABLED=true
验证环境变量是否设置成功:
# Linux/MacOS
echo $LABEL_STUDIO_LOCAL_FILES_SERVING_ENABLED
# Windows
echo %LABEL_STUDIO_LOCAL_FILES_SERVING_ENABLED%
高级部署场景
1. 自定义端口运行
默认使用8080端口,如需更改:
label-studio start --port 9001
或通过环境变量:
export LABEL_STUDIO_PORT=9001
2. Docker部署配置
自定义端口:
docker run -it -p 9001:8080 -v $(pwd)/mydata:/label-studio/data heartexlabs/label-studio:latest label-studio
使用本地存储:
docker run -it -p 8080:8080 -v $(pwd)/mydata:/label-studio/data \
--env LABEL_STUDIO_LOCAL_FILES_SERVING_ENABLED=true \
--env LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT=/label-studio/files \
-v $(pwd)/myfiles:/label-studio/files \
heartexlabs/label-studio:latest label-studio
3. 外部域名访问
要使Label Studio可通过外部域名访问:
label-studio start --host http://your.domain.com/ls-root
或通过环境变量:
export LABEL_STUDIO_HOST=https://subdomain.example.com:7777
4. 使用ngrok公开本地实例
# 安装并配置ngrok后
ngrok http --host-header=rewrite 8080
# 然后启动Label Studio
LABEL_STUDIO_HOST=https://xx-xx-xx-xx.eu.ngrok.io label-studio start
任务采样策略配置
Label Studio 提供了多种任务采样策略:
策略 | 描述 | 使用场景 |
---|---|---|
sequential | 默认,按ID顺序展示任务 | 常规标注流程 |
uniform | 随机均匀采样任务 | 平衡标注分布 |
prediction-score-min | 优先标注预测分数最低的任务 | 主动学习场景 |
示例命令:
label-studio start <项目名> --sampling uniform
安全注意事项
- 使用Docker部署时,确保挂载的目录权限正确(UID 1001)
- 生产环境建议使用PostgreSQL等专业数据库替代SQLite
- 启用HTTPS访问以保障数据传输安全
- 严格控制本地文件访问权限,明确指定
LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT
通过本文的详细指南,您应该能够根据实际需求灵活配置和部署Label Studio,为机器学习项目构建高效的数据标注环境。