Label Studio使用手册
简介
Label Studio是一个开源的数据标注软件,支持多种类型的数据标注任务,用户界面友好,在浏览器上完成标注任务。
使用
- 安装
pip install label-studio- 启动
label-studio start- 浏览器地址输入http://localhost:8080,进入Label Studio。
- 进入label-studio后,创建一个新项目。
- 在新项目中导入待标注的数据。
- 设置标注配置,设置标签类别。
- 保存项目
- 开始标注数据。
容器安装
- 提前创建好挂载卷目录,并授权给1001用户。这是因为label-studio官方镜像不是以root用户运行的,而是以容器内部的一个普通用户运行,这个用户的 UID 是 1001。
sh
cd /data
mkdir label-studio
cd label-studio
mkdir data
chown -R 1001:1001 /data/label-studio/data- 创建容器
sh
# 创建一个label-studio容器
# 映射8080端口到宿主机7101
# 创建一个数据卷绑定用户目录下的label-studio
# 禁用注册
# 启用本地存储
docker run --name label-studio -d -p 7108:8080 -v /data/label-studio/data:/label-studio/data -e LABEL_STUDIO_DISABLE_SIGNUP_WITHOUT_LINK=true -e LABEL_STUDIO_USERNAME='your-user-name' -e LABEL_STUDIO_PASSWORD='your-password' -e SSRF_PROTECTION_ENABLED=true -e CSRF_TRUSTED_ORIGINS='your-domain' -e LABEL_STUDIO_LOCAL_FILES_SERVING_ENABLED=true -e LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT=/label-studio/files -e DJANGO_DB=default -e POSTGRE_NAME=postgres -e POSTGRE_USER=postgres -e POSTGRE_PASSWORD='your-postgre-password' -e POSTGRE_PORT=5432 -e POSTGRE_HOST=postgres -v /data/label-studio/files:/label-studio/files heartexlabs/label-studio:latest环境变量
# 仅邀请连接用户可注册
LABEL_STUDIO_DISABLE_SIGNUP_WITHOUT_LINK=true
LABEL_STUDIO_USERNAME=<username>
LABEL_STUDIO_PASSWORD=<password>
# token is optional, it is generated automatically if not set
LABEL_STUDIO_USER_TOKEN=<token-at-least-5-chars>
# 开启SSRF
SSRF_PROTECTION_ENABLED=true
# CSRF信任的源
CSRF_TRUSTED_ORIGINS='your-domain-url'
# 启用本地存储
LABEL_STUDIO_LOCAL_FILES_SERVING_ENABLED=true
# 本地存储根目录
LABEL_STUDIO_LOCAL_FILES_DOCUMENT_ROOT=/label-studio/files
# 使用postgre数据库
DJANGO_DB=default
POSTGRE_NAME=postgres
POSTGRE_USER=postgres
POSTGRE_PASSWORD=@admin!1995
POSTGRE_PORT=5432
POSTGRE_HOST=postgres授权挂载卷
sh
sudo chown -R 1001:1001 ~/label-studio/data后端大模型
Label Studio可以接入大模型,在大模型中对数据进行提前标注,节省时间。
Label Studio提供了label-studio-ml-backend框架用于适配Label Studio和大模型。
使用方法
- 克隆项目,并安装
sh
git clone https://github.com/HumanSignal/label-studio-ml-backend.git
cd label-studio-ml-backend/
pip install -e .- 创建自己的大模型后端项目
sh
label-studio-ml create my_ml_backend之后会得到一个文件夹,目录结构如下:
file
my_ml_backend/
├── Dockerfile
├── .dockerignore
├── docker-compose.yml
├── model.py
├── _wsgi.py
├── README.md
├── requirements-base.txt
├── requirements-test.txt
├── requirements.txt
└── test_api.py- 重写model.py文件,实现获取任务,调用大模型推理,返回预标注结果功能。
py
def predict(self, tasks, context, **kwargs):
"""Make predictions for the tasks."""
return predictions- 启动大模型后端
容器启动
sh
docker run --name label-studio-ml-backend -d --network mynet -p 9090:9090 -v /data/label-studio-ml-bakcend/data:/data -e LOG_LEVEL=INFO -e WORKERS=1 -e THREADS=8 -e MODEL_DIR=/data/models -e LABEL_STUDIO_URL='your-domain-url' -e LABEL_STUDIO_API_KEY='91ba61515907c4fd67f076cb284e8936f72c17ec' humansignal/ml-backend:v0导入预注解的方法
- 先通过storage导入图片。
- 再导入预标注,可以通过storage或ui import。
- 在页面中通过filter找到未标注的任务,通过action从预注解中创建新标注,之后从action删除重复任务。重复任务是指导入预标注时,产生的新task。