栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

label-studio批量上传本地数据

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

label-studio批量上传本地数据

前言

Label Studio是一个非常好用的开源数据标注工具,拥有对包括音频、文本、图片、视频和时间序列等各种数据类型的标注能力,有简单易用的UI设计和多导出格式的支持,能够有利于数据准备和利用已有训练数据提升机器学习模型精度。

本文内容简要介绍如何在label-studio中批量上传本地数据。

实现

当我们希望在label-studio中批量上传本地数据时,可以通过将本地数据以http服务的方式暴露给label-studio访问。

以下以Ubuntu系统为例进行说明。

将本地数据(如待批量导入的图片)放在运行label-studio服务的远程机器上的某个路径(例如/data/dataset/),新增一个批量导入的脚本:

# 切到python的label_studio包路径下
cd /data/miniconda3/lib/python3.7/site-packages/label_studio
# 新增sh脚本
vi serve_local_files.sh

添加以下内容:

#!/usr/bin/env bash


INPUT_DIR=$1

WILDCARD=${2}

OUTPUT_FILE=${3:-"files.txt"}

PORT=${4:-8081}



echo "Usage: sh serve_local_files.sh INPUT_DIR WILDCARD OUTPUT_FILE PORT"

echo "This script scans INPUT_DIR directory with WILDCARD filter [all files by default],"

echo "generates OUTPUT_FILE [files.txt by default] with a file list,"

echo "starts web server on the port PORT [8081 by default] that serves files from INPUT_DIR"

echo



echo "Scanning ${INPUT_DIR} ..."

FIND_CMD="find ${INPUT_DIR} -type f"

if [ -z "$WILDCARD" ]; then

echo "Files wildcard is not set. Serve all files in ${INPUT_DIR}..."

else

FIND_CMD="${FIND_CMD} -name ${WILDCARD}"

fi



echo "Replacing ${INPUT_DIR} to http://localhost:${PORT} ..."

INPUT_DIR_ESCAPED=$(printf '%sn' "$INPUT_DIR" | sed -e 's/[/&]/\&/g')

eval $FIND_CMD | sed "/${INPUT_DIR_ESCAPED}/s//http://localhost:${PORT}/" > $OUTPUT_FILE



green=`tput setaf 2`

reset=`tput sgr0`

echo "${green}File list stored in '${OUTPUT_FILE}'. Now import it directly from Label Studio UI${reset}"



echo "Running web server on the port ${PORT}"

cd $INPUT_DIR

python3 -m http.server $PORT

执行导入脚本:

bash serve_local_files.sh /data/dataset/  *.jpg  files.txt 8082

关于参数支持可见脚本内容和参考资料[3]。

执行后在/data/miniconda3/lib/python3.7/site-packages/label_studio路径下会生成files.txt文件。

将生成的files.txt下载到本机上并将files.txt文件中的localhost批量替换为远程机器的实际ip。

在label-studio服务的网页中,在新建project中使用import功能上传files.txt文件。即可正常访问批量导入的数据。

版权说明

本文为原创文章,独家发布在blog.csdn.net/TracelessLe。未经个人允许不得转载。如需帮助请email至tracelessle@163.com或扫描个人介绍栏二维码咨询。

参考资料

[1] heartexlabs/label-studio: Label Studio is a multi-type data labeling and annotation tool with standardized output format
[2] Label Studio – Open Source Data Labeling
[3] Label Studio Documentation — Import Data into Label Studio
[4] label-studio/serve_local_files.sh at master · heartexlabs/label-studio

暑期编程PK赛 得CSDN机械键盘等精美礼品!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1016143.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号