做好一个网站后,资源搜索引擎,wap建站工具,辽宁网络优化方法数据标注开源框架 Label Studio Label Studio 是一个开源的、灵活的数据标注平台#xff0c;旨在帮助开发者和数据科学家轻松创建高质量的训练数据集。它支持多种类型的数据#xff08;如文本、图像、音频、视频等#xff09;以及复杂的标注任务#xff08;如分类、命名实体…数据标注开源框架 Label Studio Label Studio 是一个开源的、灵活的数据标注平台旨在帮助开发者和数据科学家轻松创建高质量的训练数据集。它支持多种类型的数据如文本、图像、音频、视频等以及复杂的标注任务如分类、命名实体识别、边界框标注、语义分割等。通过直观的用户界面和强大的 API 集成Label Studio 为构建和训练机器学习模型提供了坚实的基础。
安装/启动
# 进入虚拟环境
conda activate label_studio# 安装
pip install label-studio# 启动默认8080端口
label-studio start# 后台启动
nohup label-studio start # 指定端口启动
label-studio start --port 9001访问http://localhost:8080
第一次访问填写Email地址和登录密码创建登录账号访问登录页 创建项目
点击右上角的Create按钮弹出框上有三个Tab页面代表创建项目的三个步骤。
第一步填写项目名称 第二步数据导入。支持txtcsv等常见格式 第三步设置标签。为了简化设置你可以选择一个模板。Label Studio自带的模板支持的范围很广常见的大类就有计算机视觉、自然语言处理、语音处理等每个大类下面又分很多小类例如自然语言处理大类下面有文本分类、关系抽取、机器翻译和文本摘要等。 选择了一个模板以后可以根据自己的需求设置标签。两种方式设置标签
Visual 可视化方式Code 代码方式 可视化方式如下图需要配置标注的文本字段的名称如图中的 $reviewreview这个名称是步骤二中上传的文档里的其中一个字段的名称。
再看下图中的 Add choices 。此配置是数据标注的选项默认有三个选项正向、中性和负向。 以上两个配置好以后就可以在右侧的 UI preview中看到标注人员的预览界面。给你一段文字和三个选项你只需要用鼠标点击其中某一个或多个选项即可也可以使用选项右上角的快捷键1、2、3。 代码方式采用 XML 格式语法非常简单本文不做重点介绍。 创建好以后的项目列表如下图 点击列表中某一项任务如下图 集成机器学习后端
Label Studio ML 后端是一个SDK可以包装您的机器学习代码并将其转换为Web服务器。Web服务器可以连接到正在运行的 Label Studio 实例以自动执行标签任务。Label Studio 提供了一个代码示例库用户可以拿来使用或者自己扩展。
Label Studio 的机器学习 ML 后端可以提供以下几个功能
预标注在标注师人工标注之前ML可提前预测标签作为参考交互式标注每标注完一个标签就能更新完善ML模型使模型更精准实时模型评估和微调标注师可以审查模型的准确性对模型进行纠正。
ML 和 Label Studio 的交互流程是
用户打开任务Label Studio发送请求给 ML后端ML 后端对请求的数据进行预测预测结果返回给 Label Studio 并显示在 UI中
启动后端
# 安装
git clone https://github.com/HumanSignal/label-studio-ml-backend.git
cd label-studio-ml-backend/
pip install -e .# 启动示例中的机器学习后端sklearn_text_classifier 是利用线性回归算法对文本进行分类的示例
cd /opt/label_studio/label-studio-ml-backend/label_studio_ml/examples/sklearn_text_classifier
label-studio-ml start ../sklearn_text_classifier# 启动指定主机和端口
label-studio-ml start ../sklearn_text_classifier -p 9091 --host 0.0.0.0# 验证后端是否启动成功
curl http://localhost:9090/label-studio-ml start 启动命令在哪个路径下执行模型文件 model.pkl 就会在哪个路径下更新所以一定要在算法的后端目录下执行启动命令。
例如如果在 examples 目录下执行 label-studio-ml start sklearn_text_classifier 则 model.pkl 会保存在 examples目录下。
添加到 Label Studio
点击项目列表右上角的 Settings按钮 选择 Model选项卡点击 Connect Model按钮 将后端服务的地址填进去点击 Validate and Save 按钮。其中 Interactivate preannotations配置如果打开表示允许以交互方式向机器学习的后端服务发送请求。 打开了Interactivate preannotations开关会在任务界面的下面出现一个 Auto-Annotation的开关。
Interactivate preannotations 开关的作用是使 Label Studio 在标注过程中实时与 ML 后端进行交互系统会动态地请求模型生成标注建议并立即将这些建议展示给标注人员 点击 Validate and Save 按钮后如果验证通过会出现如下界面 Connected状态表示 Label Studio 和机器学习后端服务连接成功。 Start model training on annotation submission ****这个开关的意思是它可以让你实现一个主动学习Active Learning循环即每当有新的标注提交时系统会自动触发模型训练。即在任务界面点了 Submit 或 Update 按钮之后 Label Studio 会调用 ML 接口请求对模型进行训练以达到对模型微调的效果。 预标注
选择 Annotation 选项卡 打开预标注 Prelabeling 开关表示在项目创建伊始就会预先调用后端服务进行预测并将预测保存。当然这只是预测操作最终的标注结果还是要标注师点击 Submit按钮保存标注结果。 编写自己的后端
Label Studio ML 后端是一个SDK可用于包装机器学习模型代码并将其转换为Web服务器。
首先创建自己的空 ML 后端
label-studio-ml create my_ml_backend创建后的目录结构如下
my_ml_backend/
├── Dockerfile
├── .dockerignore
├── docker-compose.yml
├── model.py
├── _wsgi.py
├── README.md
├── requirements-base.txt
├── requirements-test.txt
├── requirements.txt
└── test_api.pyDockerfile、**docker-compose.yml和.dockerignore**用于使用Docker运行ML后端model.py 是主文件可以在其中实现自己的训练和推理逻辑**_wsgi.py**是一个帮助文件用于使用Docker运行ML后端不需要修改它requirements.txt 是放置Python依赖的地方**requirements_base.txt和requirements_test.txt**是基本的依赖项不需要修改它**test_API.py**是放置模型测试的地方
覆盖**model.py**文件中的 predict 方法实现自己的预测推理逻辑
def predict(self, tasks, context, **kwargs):Make predictions for the tasks.return predictions覆盖**model.py文件中的fit**方法实现自己的训练逻辑
def fit(self, event, data, **kwargs):Train the model on the labeled data.old_model self.get(old_model)# write your logic to update the modelself.set(new_model, new_model)参考
Label Studio 官网
Label Studio Documentation — Quick start guide for Label Studio
教程使用 Label Studio 的 machine learning backend 进行辅助标注和训练
教程使用 Label Studio 的 machine learning backend 进行辅助标注和训练 | OpenBayes 贝式计算
A.2【数据标注】基于Label studio的训练数据标注指南信息抽取实体关系抽取、文本分类等
A.2【数据标注】基于Label studio的训练数据标注指南信息抽取实体关系抽取、文本分类等_label studio关系抽取标注已有实体-CSDN博客