使用mxnet中的img2rec.py制作rec数据集

源码链接:mxnet/tools/im2rec.py at master · apache/mxnet · GitHub

重点关注入参函数即可,

def parse_args():"""Defines all arguments.Returns-------args object that contains all the params"""parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter,description='Create an image list or \make a record database by reading from an image list')parser.add_argument('prefix', help='prefix of input/output lst and rec files.')parser.add_argument('root', help='path to folder containing images.')cgroup = parser.add_argument_group('Options for creating image lists')cgroup.add_argument('--list', action='store_true',help='If this is set im2rec will create image list(s) by traversing root folder\and output to <prefix>.lst.\Otherwise im2rec will read <prefix>.lst and create a database at <prefix>.rec')cgroup.add_argument('--exts', nargs='+', default=['.jpeg', '.jpg', '.png'],help='list of acceptable image extensions.')cgroup.add_argument('--chunks', type=int, default=1, help='number of chunks.')cgroup.add_argument('--train-ratio', type=float, default=1.0,help='Ratio of images to use for training.')cgroup.add_argument('--test-ratio', type=float, default=0,help='Ratio of images to use for testing.')cgroup.add_argument('--recursive', action='store_true',help='If true recursively walk through subdirs and assign an unique label\to images in each folder. Otherwise only include images in the root folder\and give them label 0.')cgroup.add_argument('--no-shuffle', dest='shuffle', action='store_false',help='If this is passed, \im2rec will not randomize the image order in <prefix>.lst')rgroup = parser.add_argument_group('Options for creating database')rgroup.add_argument('--pass-through', action='store_true',help='whether to skip transformation and save image as is')rgroup.add_argument('--resize', type=int, default=0,help='resize the shorter edge of image to the newsize, original images will\be packed by default.')rgroup.add_argument('--center-crop', action='store_true',help='specify whether to crop the center image to make it rectangular.')rgroup.add_argument('--quality', type=int, default=95,help='JPEG quality for encoding, 1-100; or PNG compression for encoding, 1-9')rgroup.add_argument('--num-thread', type=int, default=1,help='number of thread to use for encoding. order of images will be different\from the input list if >1. the input list will be modified to match the\resulting order.')rgroup.add_argument('--color', type=int, default=1, choices=[-1, 0, 1],help='specify the color mode of the loaded image.\1: Loads a color image. Any transparency of image will be neglected. It is the default flag.\0: Loads image in grayscale mode.\-1:Loads image as such including alpha channel.')rgroup.add_argument('--encoding', type=str, default='.jpg', choices=['.jpg', '.png'],help='specify the encoding of the images.')rgroup.add_argument('--pack-label', action='store_true',help='Whether to also pack multi dimensional label in the record file')args = parser.parse_args()args.prefix = os.path.abspath(args.prefix)args.root = os.path.abspath(args.root)return args
  • prefix:生成的文件( <prefix>.lst、 <prefix>.rec)的前缀

  • root:图像所在文件夹的路径

  • --list:如果设置了这个参数,im2rec将通过遍历根文件夹创建图像列表,并将其输出到 <prefix>.lst文件中。否则,im2rec将读取<prefix>.lst并在<prefix>.rec创建数据库

  • --exts:指定可接受的图像文件扩展名列表,默认为['.jpeg', '.jpg', '.png']

  • --chunks:指定要分割的块数

  • --train-ratio:用于指定用于训练的图像比例

  • --test-ratio:用于指定用于测试的图像比例

  • --recursive:如果设置为True,则递归遍历子目录并为每个文件夹中的图像分配唯一标签。否则,只包括根目录中的图像并将它们标记为0

  • --no-shuffle:如果设置了这个参数,im2rec将不会对<prefix>.lst中的图像顺序进行随机化

  • --pass-through:是否跳过转换并将图像保存为原始格式

  • --resize:将图像的较短边缩放到指定大小,原始图像将默认被打包

  • --center-crop:指定是否裁剪中心图像以使其成为矩形

  • --quality:JPEG编码的质量(1-100)或PNG压缩(1-9)

  • --num-thread:用于编码的线程数。如果大于1,图像顺序将不同于输入列表

  • --color:加载图像的颜色模式,1:彩色,0:灰度,-1:包括alpha 通道

  • --encoding:指定图像的编码格式,可以是.jpg或.png

  • --pack-label:是否在记录文件中打包多维标签

了解了各入参的作用后,便可使用该脚本,

## 先生成lst文件
python mxnet/tools/im2rec.py train "Your WebFace42M Root" --list --recursive## 再生成对应的rec和idx文件
python mxnet/tools/im2rec.py train "Your WebFace42M Root" --num-thread 16 --quality 100

生成的lst文件示例如下,

第一列为索引,第二列为图片类别,第三列为图片路径

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【busybox记录】【shell指令】expand

目录 内容来源&#xff1a; 【GUN】【expand】指令介绍 【busybox】【expand】指令介绍 【linux】【expand】指令介绍 使用示例&#xff1a; 把制表符转化为空格 - 默认输出 把制表符转化为空格 - 修改制表符转空格的个数 把制表符转化为空格 - 修改制表符转空格的个数…

Ubuntu添加网络映射路径

参考资料 linux挂在阿里云盘&#xff08;webdav协议&#xff09;给服务器扩容、备份数据等_davfs2-CSDN博客 Linux将WebDAV为本地磁盘 - 夏日冰菓 (lincloud.pro) systemd系统开机运行rc.local_rc-local.service: failed to execute command: exec -CSDN博客 系统版本&#xff…

scikit-learn实现单因子线性回归模型

1.是什么&#xff1a; 针对机器学习提供了数据预处理&#xff0c;分类&#xff0c;回归等常见算法的框架 2.基于scikit-learn求解线性回归的问题&#xff1a; 2.1.求解a&#xff0c;b对新数据进行预测&#xff1a; 2.2评估模型表现&#xff08;y和y’的方差MSE&#xff09;…

政安晨【零基础玩转各类开源AI项目】:基于Ubuntu系统本地部署使用GPT-SoVITS进行语音克隆与TTS语音生成

目录 介绍 什么是TTS 安装Miniconda 框架功能 测试通过的环境 开始 1. 安装好miniconda 2. 进入下载的GPT-SoVITS目录 3. 创建虚拟环境并执行脚本 4. 执行过程中可能会出错 5. 下载预训练模型 6. 训练过程中可能会报错 7. 使用过程中可能出错 8.以下是使用全过程…

xv6源码分析 017

xv6源码分析 017 在buffer cache上面的就是logging层了&#xff0c;这一层主要的工作是维持每一个文件系统写入的操作的原子性。什么是原子性&#xff1f;通俗地来讲&#xff0c;原子性可以这样理解&#xff0c;如果一组操作&#xff08;或者一个操作&#xff09;在执行的时候…

C语言实现面向对象—以LED驱动为例

点亮一个LED 常见的LED代码 分层分离思想 面向对象的LED驱动 LED左边高电平。 当LED右边为低电平时&#xff0c;LED有电流通过&#xff0c;LED亮。反之&#xff0c;LED灭 GPIO功能描述&#xff1a; 点亮LED的步骤及代码&#xff1a; 开启GPIO的时钟 配置GPIO为输出模式 …

【linux】dmesg工具

dmesg介绍 dmesg工具用途&#xff1a; dmesg - print or control the kernel ring buffer kernel ring buffer, 内核环形缓冲区&#xff0c;也叫环形队列&#xff0c;Linux内核日志就存储在一个环形队列中&#xff0c;环形队列满的时候&#xff0c;新的消息会覆盖掉旧的消息。…

pdf转word,结果为什么是图片?怎么才能转成可编辑的文字?

PDF转Word为何会变成图片&#xff1f;这是许多人在使用文件格式转换工具时经常遇到的问题。为了解答这个疑问&#xff0c;我们需要从多个方面来探讨这个问题。 首先&#xff0c;PDF文件本身的特点是一个重要的因素。PDF&#xff0c;即Portable Document Format&#xff0c;是一…

在ubuntu虚拟机中手动安装VMware Tools(VMware Workstation 17 player)

可参考官方文档&#xff1a;在 Linux 虚拟机中手动安装 VMware Tools 以下列出我在安装过程中遇见的问题&#xff1a; 1、“安装VMware Tools”选项为灰&#xff0c;无法选中 原因是VMware Tools的安装包镜像在Player的安装目录下&#xff0c;需要在虚拟机启动的时候加载这个…

品鉴中的情感交流:如何通过红酒建立深厚的社交联系

品鉴红酒不仅仅是一种感官体验&#xff0c;更是一种情感交流的方式。云仓酒庄雷盛红酒作为一种品质的红酒品牌&#xff0c;能够为人们提供一种与众不同的社交体验&#xff0c;帮助建立深厚的社交联系。 首先&#xff0c;共享品鉴体验是建立社交联系的关键。与朋友、家人或合作伙…

ODOO17数据库安全策略一(ODOO17 Database Security Policy I)

ODOO17作为ERP软件&#xff0c;其核心优势在于数据安全。凭借强大的原生安全机制及灵活的配置&#xff0c;确保数据安全无忧&#xff1a; ODOO17, as an ERP software, boasts its significant advantage in exceptional data security performance. It effectively ensures wo…

Linux最新提权通杀五大绝招(上)

点击星标&#xff0c;即时接收最新推文 本文选自《内网安全攻防&#xff1a;红队之路》 扫描二维码五折购书 Linux 主机权限提升问题是普遍存在的。在Web 服务器、数据库、防火墙、IOT等基础设施中&#xff0c;大部分都运行着Linux 操作系统&#xff0c;鉴于Linux 设备在大量基…

鸿蒙OS NEXT的推出,不仅面向App端

华为官方公布6月份的版本为beta版&#xff0c;依然属于开发者测试版&#xff0c;但可以向普通用户开放了。这点和苹果iOS系统测试形式略微相似&#xff1a;6月份开放首个测试版&#xff0c;随后过渡到公测版&#xff0c;最后再和年度新机一起发布正式版系统。 如果按照这个进度…

git bash退出vim编译模式

解决方法&#xff1a; 1.按esc键&#xff08;回到命令模式&#xff09; 此时是没有分号让我们在后面输入命令的 2.按shift键: 3.再输入&#xff1a;wq&#xff0c;并按enter键 此时我们发现又回到git bash窗口 希望对大家有所帮助&#xff01;

flutter开发实战-GetX响应式状态管理使用

flutter开发实战-GetX响应式状态管理使用 GetX是一个简单的响应式状态管理解决方案。GetX是Flutter的一款超轻、功能强大的解决方案。它将高性能状态管理、智能依赖注入和路由管理快速而实用地结合在一起。这里简单使用一下GetX 一、引入GetX 在工程的pubspec.yaml中引入插件…

第十四届蓝桥杯大赛软件赛省赛(Python大学A组)

2023年蓝桥杯 省赛真题Python大学A组 试题A&#xff1a;特殊日期 试题B&#xff1a;分糖果 试题C&#xff1a;三国游戏 试题D&#xff1a;平均 试题E&#xff1a;翻转 试题F&#xff1a;子矩阵 试题G&#xff1a;阶乘的和 …

微软 AI 研究团队推出 SIGMA:一个开源研究平台,旨在推动混合现实与人工智能交叉领域的研究与创新

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

在Linux上使用Selenium驱动Chrome浏览器无头模式

大家好&#xff0c;我们平时在做UI自动化测试的时候&#xff0c;经常会用到Chrome浏览器的无头模式&#xff08;无界面模式&#xff09;&#xff0c;并且将测试代码部署到Linux系统中执行&#xff0c;或者平时我们写个爬虫爬取网站的数据也会使用到&#xff0c;接下来和大家分享…

KT148A语音芯片串口版本播放音乐的时候,直接导致单片机工作异常

一、问题描述 在使用你们KT148A串口版本播放音乐的时候&#xff0c;直接导致单片机工作异常&#xff0c;测了一下供电发现每次播放音乐的时候&#xff0c;供电会有很大波动。看了一下你们的手册&#xff0c;说是带载能力不够&#xff0c;但是我把供电接出来&#xff0c;接到你…

项目经理【人】任务

系列文章目录 【引论一】项目管理的意义 【引论二】项目管理的逻辑 【环境】概述 【环境】原则 【环境】任务 【环境】绩效 【人】概述 【人】原则 【人】任务 一、定义团队的基本规则&塔克曼阶梯理论 1.1 定义团队的基本规则 1.2 塔克曼阶梯理论 二、项目经理管理风格 …