labelme的安装使用与批量生成文件兼一些小问题

2023-11-16

labelme的安装

安装的话可以使用pip直接装,就是速度有点慢,推荐使用清华源加速下

labelme的使用

贼简单,傻瓜式操作,打开就会

labelme的批量生成

labelme本身提供了labelme_json_to_dataset来生成单个json的数据集
但是却没有提供批量生成的
这部分代码在labelme库文件的cli里,瞄了几眼懒得改了,所有随便写了一个脚本, 用于批量生成。
虽然这样做又蠢又慢,但是开了多线程加速之后马马虎虎能用,就先将就着用吧

"""
Author: TinnyFlames
Time: 2020/3/3 1:40
Aim: Improve labelme_json_to_dataset
"""

import glob
import time
import os
from multiprocessing import Process

files = glob.glob("*.json")
num = len(files)
thread_num = 4 # Using process to acclerate program

def work(file_list:list):
    for file in file_list:
        os.system('labelme_json_to_dataset ' + file)

def split_list_n_list(origin_list, n):
    if len(origin_list) % n == 0:
        cnt = len(origin_list) // n
    else:
        cnt = len(origin_list) // n+1
    
    for i in range(0,n):
        yield origin_list[i*cnt:(i+1)*cnt]

if __name__ == '__main__':
    print('Start running, total process num is ', thread_num)
    start_time = time.time()
    threads_list = []
    tgt_lst = split_list_n_list(files,thread_num)
    for i in range(thread_num):
        t = Process(target=work, args=(next(tgt_lst),) )
        t.start()
        threads_list.append(t)

    for process in threads_list:
        process.join()
    
    print('Total time cost is',(time.time()-start_time))
    print('Total processed files are ', num)

关于没有yaml文件的问题

这是因为新版本把生成这段的代码给去掉了,如果需要,去老版本找到生成的那段代码然后加到labelme/cli/json_to_dataset.py中即可

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

labelme的安装使用与批量生成文件兼一些小问题 的相关文章

  • ubuntu使用教程与常用命令

    ubuntu使用教程 一 Ubuntu简介 Ubuntu 乌班图 是一个基于Debian的以桌面应用为主的Linux操作系统 据说其名称来自非洲南部祖鲁语或科萨语的 ubuntu 一词 意思是 人性 我的存在是因为大家的存在 是非洲传统的一
  • pdf.js详细解析

    pdf js可以实现在html下直接浏览pdf文档 是一款开源的pdf文档读取解析插件 pdf js主要包含两个库文件 一个pdf js和一个pdf worker js 一个负责API解析 一个负责核心解析 pdf js可通过pdf文件的地
  • 神奇的tmux

    一 Tmux 是什么 1 1 会话与进程 命令行的典型使用方式是 打开一个终端窗口 terminal window 以下简称 窗口 在里面输入命令 用户与计算机的这种临时的交互 称为一次 会话 session 会话的一个重要特点是 窗口与其
  • STM32+4G模块实战项目(连接阿里云物联网平台+OTA升级):(一)初识硬件

    STM32 4G模块实战项目 OTA升级 构思占坑中ing 3天一章 请耐心等待 STM32 4G模块实战项目 连接阿里云物联网平台 OTA升级 一 初识硬件 STM32 4G模块实战项目 连接阿里云物联网平台 OTA升级 二 stm32通
  • @RefreshScope刷新配置文件原理

    一 前置知识 在Spring中bean的作用域 scope 常用的有两种 单例 singleton 原型 prototype Bean的Scope影响了Bean的管理方式 例如创建Scope singleton的Bean时 IOC会将这些B
  • android Http通信(访问web server)

    下面将3种实现方式 以下代码有的来源于传智播客 有的自己琢磨的 在这感谢传智播客 本人开发使用的android studio 在最新版本中 android不在支持HttpClient 所以 要使用HttpClient要加载库文件 1 com
  • 单向散列函数(Hash)

    0 Hash函数的性质 常用Hash函数 MD5 128bit SHA 1 160bit 等 1 使用Hash 函数进行完整性验证的模型 2 使用Hash函数进行口令验证 1 3 使用Hash函数进行口令验证 2 4 使用Hash解决数字签
  • 剑指offer(简单)

    目录 数组中重复的数字 替换空格 从尾到头打印链表 用两个栈实现队列 斐波那契数列 青蛙跳台阶问题 旋转数组的最小数字 二进制中的1的个数 打印从1到最大的n位数 删除链表的节点 调整数组顺序使奇数位于偶数前面 链表中倒数第k个节点 反转链
  • 史上最详细的maven仓库详解

    写在前面 我是 沸羊羊 昵称来自于姓名的缩写 fyy 之前呕心沥血经营的博客因手残意外注销 现经营此账号 本人是个小菜 正向着全栈工程师的方向努力着 文章可能并不高产 也很基础 但每写一篇都在用心总结 请大佬勿喷 如果您对编程有兴趣 请关注
  • 新增、修改入参方法

    一 HttpServletRequest req 获取参数值value 1 Postman 在params逐个参数赋值 PostMapping xxx String id req getParameter id 后端通过如上的方法一个个去获
  • 一文全览各种ES查询在Java中的实现

    点击关注公众号 互联网架构师 后台回复 2T获取2TB学习资源 上一篇 Alibaba开源内网高并发编程手册 pdf ElasticSearch多种查询操作 前言 词条查询 等值查询 term 多值查询 terms 范围查询 range 前
  • Dubbo+Zookeeper+Spring mvc+Nginx 集群负载均衡 详细demo

    原文链接 https blog csdn net xianghui12333 article details 71172342 处女博客 不知道规则怎么写 直接入主题吧 很多人刚接触分布式 集群负载均衡时都觉得高深莫测 难度有点大 其实起码
  • 让你的手机号码变成空号!没试过

    输入 21 13800000000 再按拨号键 注意13800000000这是个空号 原理就是 21 是无条件转移所有来电 13800000000是个空号 如果13800000000的号不起作用你就随便输入个号码什么的 自然别人打进来您的号
  • r730xd服务器重装系统后风扇声音大,重装Win10系统后散热风扇噪音特别大的处理方法...

    有的小伙伴为了解决一些问题 便给电脑重装系统了win10系统 但是在重装后 却又出现了新的问题 在重装完win10后散热风扇噪音响声特别大 非常影响电脑的使用心情 那么遇到这种情况应该怎么办呢 下面小编就给大家分享一下重装Win10系统后散
  • [从零学习汇编语言] - BX寄存器与loop指令

    文章目录 前言 一 Bx寄存器与 偏移地址 二 loop指令与jmp指令 1 jmp指令 2 loop指令 三 一些奇奇怪怪的注意点 1 汇编源程序的数字问题 2 Debug和Masm的区别 1 mov ax 0 问题 3 段前缀 四 课后
  • Postern中配置和使用Socks5代理指南

    在Postern中配置和使用Socks5代理 可以为你的爬虫项目提供更灵活 更可靠的网络连接 本文将向你分享如何在Postern中配置和使用Socks5代理的方法 解决可能遇到的问题 配置和使用Socks5代理的步骤 1 了解Socks代理

随机推荐

  • python程序格式_三、Python程序规范

    三 python程序规范 python的设计哲学 大道至简 优雅 明确 简洁 在交互式解释器中输入 import this 会出现python之禅 Python之禅 by Tim Peters 优美胜于丑陋 Python 以编写优美的代码为
  • 2020年数学建模国赛C题:中小微企业的信贷决策

    2020年高教社杯全国大学生数学建模竞赛题目 请先阅读 全国大学生数学建模竞赛论文格式规范 C题 中小微企业的信贷决策 在实际中 由于中小微企业规模相对较小 也缺少抵押资产 因此银行通常是依据信贷政策 企业的交易票据信息和上下游企业的影响力
  • myeclipse安装

    myeclipse2019安装 myeclipse2019下载 下载链接 https www myeclipsecn com download 这里以离线版安装为例 打开下载得到的文件 点击next 软件安装稍久 请耐心等待 软件安装完成
  • 毫米波雷达_一文读懂毫米波雷达

    汽车已进入无人驾驶探索阶段 无人驾驶的眼睛 毫米波雷达成为必不可少的一员 文 安兹 集微网 整理 Zn Lab 无人驾驶的眼睛 毫米波雷达 汽车已经进入无人驾驶探索阶段 可以主动防护汽车驾驶安全的高级驾驶辅助系统 以下简称 ADAS 技术也
  • 【博客691】VictoriaMetrics如何支持Multi Retention

    VictoriaMetrics如何支持Multi Retention 场景 实现Multi Retention Setup within VictoriaMetrics Cluster 使得为不同的监控数据采用不同的保存时间 Multi R
  • ES6箭头函数(三)-应用场景

    直接作为事件handler document addEventListener click ev gt console log ev 作为数组排序回调 var arr 1 9 2 4 3 8 sort a b gt if a b gt 0
  • 如何将视频导入到ipad中并播放

    首先在电脑上下载并安装itunes 然后用apple账号登入 在ipad上从apple store中下载一个播放器如KMPlayer 点击itunes上小手机的图标 找到文件共享 选中应用KMPlayer 然后将文件拖到右边的框里就能完成传
  • struts2漏洞攻击一例 怎样利用Struts2的漏洞(2.0.0<=version<=2.3.15)搞垮一个基于Struts2写的网站? Struts是java web framewor

    struts2漏洞攻击一例 怎样利用Struts2的漏洞 2 0 0 lt version lt 2 3 15 搞垮一个基于Struts2写的网站 Struts是java web frameworks里面的鼻祖了 现在大量的web apps
  • 微信公众号支付页面 jsapi

    1 引入 2 后端预支付完成返回相关数据之后前端操作 if typeof wx undefined wx config debug true 开启调试模式 appId datas data appId 公众号的唯一标识
  • 关于DEM土方量算的计算方法

    关于DEM土方量算的计算方法 最近在写一个关于dem土方计算的功能 网上搜索了下 普遍提到的都是三角网和矩形格网形式进行计算 然后又研究了下arcgis软件的结果 最后发现arcgis中使用的也是格网形式进行了矩形立方计算 于是开始动手编写
  • 黑马程序员Mysql

    MySQL 1 DDL操作之数据库操作 查看所有的数据库 show databases 创建数据库 CREATE database mydb1 CREATE database if not exists mydb1 选择使用哪个数据库 us
  • 【第32篇】YOLOR:多任务的统一网络

    YOLOR 多任务的统一网络 人们通过视觉 听觉 触觉以及过去的经验 理解 世界 人类经验可以通过正常学习 我们称之为显性知识 或潜意识 我们称之为隐性知识 来学习 这些通过正常学习或潜意识学习到的经验将被编码并存储在大脑中 使用这些丰富的
  • 辽宁工业大学计算机专业分数线,2019辽宁工业大学录取分数线及历年专业分数线统计表【文科 理科】...

    1 历年辽宁工业大学全国排名 校友会版 在校友会版本排名中 2018辽宁工业大学全国排名第365 相较于2017年的374名 排名上升了9位 年度全国排名省内排名总分 20183652460 68 20173742660 53 201635
  • 【Python报错-01】解决matplotlib在Pycharm中运行报错:vars()参数必须有__dict__属性

    1 运行错误 1 程序的原代码如下图所示 import matplotlib pyplot as plt 是可视化绘图工具 省略了计算SSE的代码 plt plot range 1 11 SSE plt xlabel 聚类数k fontsi
  • 转:关于Flash Player10 RTMFP的FAQ

    什么是RTMFP RTMFP 是 Real Time Media Flow Protocol的缩写 是Adobe准备推出的一种新的通信协议 这种通信协议可以让 Flash 客户端直接和另外一个Flash 客户端之间进行数据通信 也就是常说的
  • 小熊派-鸿蒙·季开发问题及解决方案

    在开发小熊派开发板时 发现给出的文档教程并不全面 由此记录下开发过程中遇到的问题 以便后人学习中可以少走弯路 也谨以此文当记录笔者自身遇到的问题 一 开发环境搭建相关问题 笔者采用小熊派创建好的linux镜像 所以省去了很多安装工具的烦恼
  • 【华为OD机试】分苹果【2023 B卷

    华为OD机试 真题 点这里 华为OD机试 真题考点分类 点这里 题目描述 A B两个人把苹果分为两堆 A希望按照他的计算规则等分苹果 他的计算规则是按照二进制加法计算 并且不计算进位 12 5 9 1100 0101 9 B的计算规则是十进
  • 用RecyclerView实现N级树形列表

    最近在做项目的时候 需要实现一个章节树的功能 设计图大致类似这样 所谓树形列表 即是在父元素中包含子元素 当点击父元素的时候进行展开子元素 再次点击时收起子元素 且树形列表往往有多个层级 比较典型的情况就是计算机中的文件系统以及书籍中的目录
  • LED串联并联驱动方式分析

    需要考虑选用什么样的LED驱动器 以及LED作为负载采用的串并联方式 合理的配合设计 才能保证LED正常工作 1 LED采用全部串联方式 要求LED驱动器输出较高的电压 如图1 当LED的一致性差别较大时 分配在不同的LED两端电压不同 通
  • labelme的安装使用与批量生成文件兼一些小问题

    labelme的安装 安装的话可以使用pip直接装 就是速度有点慢 推荐使用清华源加速下 labelme的使用 贼简单 傻瓜式操作 打开就会 labelme的批量生成 labelme本身提供了labelme json to dataset来