从 0 安装 Label Studio:搭建可后台运行的数据标注平台(systemd 实践

本文将介绍如何使用 pip 安装 Label Studio,并通过 systemd 实现开机自启与后台运行,适用搭建个人项目的数据标注平台。

 一、Label Studio 简介

Label Studio 是一个开源、跨模态的数据标注工具,支持文本、图像、音频、视频、HTML等多种类型,适用于机器学习训练数据的可视化标注与协作。

主要特性:

  • 文本分类、实体标注、目标检测、图像分割等支持

  • 可视化配置标注模板(XML)

  • 导入/导出支持 JSON、CSV、COCO 等格式

  • 支持多用户、预标注、数据库持久化等功能


二、安装环境说明

  • 系统:Ubuntu 22.04(其他 Linux 发行版也支持)

  • Python:建议 3.8+

  • 安装方式:pip + systemd 后台部署

  • 数据库:PostgreSQL


 三、安装步骤详解

安装 Python venv 虚拟环境
apt install python3.10-venv -ypython3 -m venv env
source env/bin/activate
 配置国内 pip 源(加速安装)
mkdir -p ~/.pip/
vim ~/.pip/pip.conf

内容如下(清华源为例):

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple[install]
trusted-host = pypi.tuna.tsinghua.edu.cn
安装 Label Studio
python -m pip install label-studio --trusted-host pypi.tuna.tsinghua.edu.cn

四、配置 systemd 后台服务

新建服务配置文件:
vim /etc/systemd/system/label-studio.service

内容如下:

[Unit]
Description=Label Studio Service
After=network.target[Service]
Type=simple
User=root
WorkingDirectory=/root
ExecStart=/root/env/bin/label-studio start \--username labelstudio@weidian.com \--password admin123 \--host 0.0.0.0 \--port 8080 \--no-browser
Restart=always
RestartSec=10
Environment=PYTHONUNBUFFERED=1
Environment=DJANGO_DB=default
Environment=POSTGRE_NAME=labelstudio
Environment=POSTGRE_USER=labelstudio
Environment=POSTGRE_PASSWORD=labelstudio
Environment=POSTGRE_PORT=5434
Environment=POSTGRE_HOST=10.x.x.x[Install]
WantedBy=multi-user.target

五、启动并设置开机自启

# 注册服务
systemctl daemon-reexec
systemctl daemon-reload# 启动服务
systemctl restart label-studio# 设置为开机启动
systemctl enable label-studio# 查看日志
journalctl -u label-studio -f

 六、访问 Label Studio

浏览器访问:http://服务器IP:8080

登录账号:

  • 用户名:labelstudio@weidian.com

  • 密码:admin123

首次登录可创建项目、导入数据并开始标注。


七、常见问题排查

问题原因解决方法
服务无法访问端口未开放检查防火墙 / 云服务安全组
启动失败Python 路径错误检查 ExecStart 指向虚拟环境路径
PostgreSQL 连接失败参数或权限错误psql 手动连接测试
日志无输出忘记重载 systemd执行 daemon-reexecdaemon-reload

 原文参考 / 推荐资料

  • 官方文档:https://labelstud.io/guide/install#Install-using-pip

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/89865.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/89865.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构】链表(linked list)

目录 一、链表的介绍 二、单链表 1. 单链表的初始化 2. 单链表的插入 (1)动态申请一个节点 (2)头插法 (3)尾插法 (4)按照位置来插入 (5)在地址之前插…

反序列化漏洞1-PHP序列化基础概念(0基础超详细)

一.PHP序列化基础概念首先当我们看到反序列化漏洞这个概念,我们的第一个问题是什么是反序列化?那么我们要知道什么是反序列化就要知道什么是序列化。序列化就是可以将一个对象压缩并格式化成字符串,可以将该对象保存下来,以便存储…

【微服务】Ocelot微服务网关

目录 一、目的 二、Ocelot介绍 三、.Net中使用Ocelot搭建网关服务 3.1 搭建网关Ocelot步骤 3.1.1、创建Net7 WebApi服务 3.1.2、Nuget引入-Ocelot程序包(版本:19.0.2) 3.1.3、配置中间件和IOC注册 3.1.4 配置文件编辑Ocelot网关配置信…

零基础入门:用按键精灵实现视频自动操作(附完整脚本)

摘要:本文手把手教你编写视频平台的自动化脚本,涵盖点击、循环、防检测等核心技巧,无需编程基础,轻松实现自动播放/点赞/跳过广告。(使用按键精灵2024版演示) 一、应用场景 自动化操作:自动跳过…

AI(学习笔记第六课) 使用langchain进行AI开发 load documents(csv和文件夹)

文章目录AI(学习笔记第六课) 使用langchain进行AI开发 load documents(csv和文件夹)学习内容:1.load documents(csv)1.1 学习url1.2 load csv文件1.2.1 默认load1.2.2 csv文件内容1.2.2 执行csv文件的load1.3 Customizing the CSV parsing an…

企业运维实战:Jenkins 依赖 JDK21 与应用需 JDK1.8 共存方案(含流水线配置)

前言:在企业运维中,“工具升级”与“业务兼容”的平衡始终是核心挑战。近期我们遇到一个典型场景:Jenkins 升级到 2.450 版本后,强制要求 JDK21 运行环境;但开发团队的应用程序因框架依赖,必须使用 JDK1.8 …

爬虫小知识三:selenium库

前言 selenium 库是一种用于 Web 应用程序测试的工具,它可以驱动浏览器执行特定操作,自动按照脚本代码做出单击、输入、打开、验证等操作,支持的浏览器包括 IE、Firefox、Safari、Chrome、Opera 等。 与 requests 库不同的是,se…

Jmeter使用 -1

1 接口测试1.1 为什么要进行接口测试接口测试能够绕过前端校验,对后端的接口处理逻辑进行测试(数据的边界/格式/类型)在一些需要重复测试的需求中,接口自动化的效率比手工执行效率高1.2 接口测试流程熟悉API接口文档(接…

GitHub 趋势日报 (2025年07月16日)

📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图2415markitdown570claude-code434ART330erpnext150MusicFree146rustdesk129vanna80…

Python+Tkinter制作音频格式转换器

我们将使用Python的Tkinter库来构建一个音频格式转换器界面。由于音频转换需要实际的处理,我们将使用pydub库(需要安装)来进行音频格式转换。同时,我们会使用ffmpeg作为后端,因此请确保系统中已安装ffmpeg并添加到环境…

Haproxy算法精简化理解及企业级高功能实战

文章目录4. Haproxy的算法4.1 静态算法4.1.1 static-rr:基于权重的轮询调度1. 示例:4.1.2 first1. 示例2. 测试效果:4.2 动态算法4.2.1 roundrobin1. 示例2. 动态调整权重4.2.2 leastconn1. 示例4.3 其他算法4.3.1 source1. 示例2. 测试4.3.2…

git fork的项目远端标准协作流程 仓库设置[设置成upstream]

这是一个在开源协作中非常常见的配置。 简单来说,upstream 在这里指的是你 Fork 来的那个原始的、官方的仓库。 下面我们来详细解释一下这个 git remote -v 输出的含义: 1. 两条“遥控器” (Remotes) 你的 git 配置了两个远程仓库的地址,就像…

[FFmpeg] 输入输出访问 | 管道系统 | AVIOContext 与 URLProtocol | 门面模式

链接:https://trac.ffmpeg.org/ docs:FFmpeg FFmpeg 是一个强大的多媒体框架,旨在处理媒体处理的各个阶段。 它就像一个数字媒体工厂,包含以下部门:打包/解包(容器处理)、 转译/压缩&#xff…

微服务的编程测评系统2

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言工程创建创建ck-oj创建oj-modules创建具体微服务oj-system推送码云管理员登录逻辑分析docker安装mysqldocker客户端docker desktop安装安装mysqlmysql-plus和数据…

AR智能巡检:电力运维的数字化变革

在电力行业快速发展的当下,传统运维方式已难以满足现代电网对高效、安全的需求。近年来,增强现实(AR www.teamhelper.cn )技术的兴起为电力巡检带来了全新的解决方案。通过实时数据可视化、远程协作和智能分析,AR技术…

NeRF和3DGS原理详细

NeRF和3DGS一、传统三维表征方法1.1 显示表征1.2 隐式表征二、NeRF(Nerual Radiance Field)2.1 NeRF场景表示2.2 NeRF训练流程2.3 NeRF体渲染2.4 NeRF位置编码2.5 NeRF体素分层采样(Volume Hierarchical Sampling)2.6 NeRF网络结构…

035_ClaudeCode_MCP_介绍

035_ClaudeCode_MCP_介绍 摘要 Model Context Protocol(MCP)是一个开放的标准化协议,专为大型语言模型提供上下文数据而设计。作为Claude Code生态系统的重要组成部分,MCP如同"AI应用程序的USB-C端口",提供…

Python 程序无法找到 Oracle 的 64 位客户端库 (libclntsh.so)

数据库错误: DPI-1047: Cannot locate a 64-bit Oracle Client library: "libclntsh.so: cannot open shared object file: No such file or directory". See https://oracle.github.io/odpi/doc/installation.html#linux for help 这个错误表明 Python 程序无法找到…

Kubernetes常用命令总结

文章目录Kubernetes常用命令总结1. 集群管理命令kubectl cluster-infokubectl get nodeskubectl describe node <node-name>kubectl top nodes2. Pod相关命令kubectl get podskubectl get pods -o widekubectl describe pod <pod-name>kubectl logs <pod-name&g…

roboflow使用教程

如何利用roboflow标注自己的训练集、调用开源数据集 官网&#xff1a;Roboflow: Computer vision tools for developers and enterprises&#xff08;国内代理进不去&#xff09; 先注册登陆进去 训练自己的数据集 点击“New Project”,名字按照自己的需求来 我不想写了&am…