《如何制作类mnist的金融数据集》——3.生成index.ubyte文件

3.生成index.ubyte文件

     这里我主要参考了 这篇博客,他们把这块的知识解释得很到位了,我这里也没什么补充的。主要是拿到训练集图片与标签的index_ubyte文件和测试集的图片与标签的index_ubyte文件。共四个文件。

非常感谢我的参考博客:

https://blog.csdn.net/qq_44042678/article/details/131631917?spm=1001.2014.3001.5506

直接上代码:

import os  # 用于操作系统相关的功能
from PIL import Image  # 用于处理图像
from array import *  # 用于数组操作
from random import shuffle  # 用于打乱数据顺序# 图像数据的加载和保存路径
Names = [['./training-images', 'train'], ['./test-images', 'test']]# 遍历输入的训练和测试数据集
for name in Names:# 创建图像数据和标签数据的数组data_image = array('B')data_label = array('B')# 获取文件列表FileList = []for dirname in os.listdir(name[0])[1:]:  # [1:] 用于排除 Mac OS 中的 .DS_Store 文件夹path = os.path.join(name[0], dirname)for filename in os.listdir(path):if filename.endswith(".png"):FileList.append(os.path.join(name[0], dirname, filename))# 打乱文件列表的顺序,有助于进一步划分验证集shuffle(FileList)# 遍历文件列表for filename in FileList:# 获取标签并打开图像文件label = int(filename.split('/')[2])Im = Image.open(filename)pixel = Im.load()width, height = Im.size# 遍历图像像素并将其添加到图像数据中for x in range(0, width):for y in range(0, height):data_image.append(pixel[y, x])data_label.append(label)  # 添加标签到标签数据中# 计算文件数并将其转换成十六进制形式hexval = "{0:#0{1}x}".format(len(FileList), 6)# 为标签数组添加头信息header = array('B')header.extend([0, 0, 8, 1, 0, 0])header.append(int('0x' + hexval[2:][:2], 16))header.append(int('0x' + hexval[2:][2:], 16))data_label = header + data_label# 为图像数组添加附加头信息if max([width, height]) <= 256:header.extend([0, 0, 0, width, 0, 0, 0, height])else:raise ValueError('Image exceeds maximum size: 256x256 pixels')header[3] = 3  # 修改图像数据的最高有效位 (MSB) (0x00000803)data_image = header + data_image# 打开并写入图像数据文件output_file = open(name[1] + '-images-idx3-ubyte', 'wb')data_image.tofile(output_file)output_file.close()# 打开并写入标签数据文件output_file = open(name[1] + '-labels-idx1-ubyte', 'wb')data_label.tofile(output_file)output_file.close()# 压缩生成的文件
for name in Names:os.system('gzip ' + name[1] + '-images-idx3-ubyte')os.system('gzip ' + name[1] + '-labels-idx1-ubyte')

到这可以恭喜你已经拿到了你自己的类mnist数据集了,可以去尽情的使用了。

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

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

相关文章

嵌套类 c++

算法讲解039【必备】嵌套类问题的递归解题套路_哔哩哔哩_bilibili

552. 学生出勤记录 II 超简单的理解思路 击败88.57

大类只有2种情况 (1)无A :dp[n]种 . (2)有1个A: d[j-1]*dP[n-j]&#xff0c;注意j1,2,3,…,n。 此时无A的情况&#xff0c;只用考虑P和L的的排列。初始化dP[0]1, dP[1]2,dP[2]4&#xff0c;n<2时候显而易见&#xff0c;因为L的情况不用管&#xff01;&#xff01;&#xff0…

unity webgl 系列:从本地硬盘上传文件到webgl沙盒中

沙盒&#xff1a;浏览器的安全机制&#xff0c;浏览器内的进程不能直接访问本地计算机中的硬盘等硬件或数据。必须通过js作为中间层实现。需求&#xff1a;通过一个按钮&#xff0c;点击后选择文件传到webgl进程中。前置说明&#xff1a;需要有webgl模版等基础配备&#xff0c;…

深度学习从入门到不想放弃-6

这节要讲完距离基础部分就真完事了,不继续在基础中求得基础了,我发现也没人看 书接前文深度学习从入门到不想放弃-5 (qq.com) 前文书写到要合理的设计特征是什么概念,我们再拿两个例子复习一下 比如一个卖车网站,上节我们讲过对物体识别可以用RGB来表示颜色的维度,…

大数据开发之Hadoop(完整版+练习)

第 1 章&#xff1a;Hadoop概述 1.1 Hadoop是什么 1、Hadoop是一个由Apache基金会所开发的分布式系统基础架构。 2、主要解决&#xff0c;海量数据的存储和海量数据的分析计算问题。 3、Hadoop通常是指一个更广泛的概念-Hadoop生态圈 1.2 Hadoop优势&#xff08;4高&#xf…

第9章-第1节-关于Java中properties配置文件的介绍

properties类也是基于流&#xff0c;不算很难&#xff0c;下面直接上代码&#xff1a; Dogcom.entity.Dog Catcom.entity.Cat Pigcom.entity.Pig Birdcom.entity.Bird ... Properties properties new Properties(); //配置文件读取对象 properties.load(new FileInputStream…

linux云服务器 如何将数据盘挂载到系统盘上面?

先认识认识下面几个常用命令 lsblk 命令&#xff1a;查看设备列表&#xff0c;也就是能看到系统盘和数据盘一般为&#xff1a;vda&#xff08;系统盘&#xff09;、vdb&#xff08;数据盘&#xff09;等等 lsblk"ls" 是 "list" 的缩写&#xff1a; lsblk…

【C语言深度剖析——第四节(关键字4)】《C语言深度解剖》+蛋哥分析+个人理解

追求本质&#xff0c;不断进步 本文由睡觉待开机原创&#xff0c;转载请注明出处。 本内容在csdn网站首发 欢迎各位点赞—评论—收藏 如果存在不足之处请评论留言&#xff0c;共同进步&#xff01; 这里写目录标题 一、空间的申请1.变量定义1.1变量定义的概念&#xff1a;1.2变…

小程序 常用组件

文章目录 常见组件viewtextimageswipernavigatorrich-textnodes属性 buttoniconfromradiocheckbox 常见组件 重点讲解⼩程序中常⽤的布局组件 view,text,rich–text,button,image,navigator,icon,swiper,radio,checkbox。 等 view 代替 原来的 div 标签 <view hover-clas…

C语言基础语法跟练 day4

41、牛牛有一个半径为 r 的球&#xff0c;他想知道这个球的体积。 #include <stdio.h> #include<math.h> int main() {float r;scanf("%f",&r);float v (4.0/3)*3.14*pow(r,3);printf("%.2f",v);return 0; } 42、小乐乐比较懒惰&#x…

GPT应用程序上线注意的问题

在将GPT应用程序上线之前&#xff0c;有一些重要的问题需要注意&#xff0c;以确保应用程序的成功运行、用户满意度和合规性。以下是一些建议&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 合规性和…

SpringCloud OpenFegin 传递Date类型的参数时,接收端多出14个小时的问题

SpringCloud OpenFegin 传递Date类型的参数时&#xff0c;接收端多出14个小时的问题 1. OpenFegin写法 入参&#xff1a; “startTime”: “2024-01-16 00:00:00”, “endTime”: “2024-01-18 23:59:59”, GetMapping("/queryDisposalComplete")JsonResult<Ma…

海盗王NPC出售物品解析器

在编辑或者查看NPC出售物品的时候&#xff0c;需要了解它到底出售了那些物品。 当物品很多的时候&#xff0c;就很难一个一个地去查了。 想到之前有做过一个物品编辑器&#xff0c;于是就想在那个基础上再增加一个NPC物品分析器功能。 实现如下&#xff1a; 将NPC的出售列表直接…

Android现代开发推荐 | Android Showcase 2.0

Android现代开发推荐 | Android Showcase 2.0 Android Showcase是一个完整的Android应用程序示例&#xff0c;它使用了现代的Android应用程序开发方法&#xff0c;集成了流行的开发工具、库和代码检查工具&#xff0c;以及强大的测试框架和持续集成&#xff08;CI&#xff09;…

《WebKit 技术内幕》之四(3): 资源加载和网络栈

3. 网络栈 3.1 WebKit的网络设施 WebKit的资源加载其实是交由各个移植来实现的&#xff0c;所以WebCore其实并没有什么特别的基础设施&#xff0c;每个移植的网络实现是非常不一样的。 从WebKit的代码结构中可以看出&#xff0c;网络部分代码的确比较少的&#xff0c;它们都在…

AI 编程的机会和未来:从 Copilot 到 Code Agent

大模型的快速发展带来了 AI 应用的井喷。统计 GPT 使用情况&#xff0c;编程远超其他成为落地最快、使用率最高的场景。如今&#xff0c;大量程序员已经习惯了在 AI 辅助下进行编程。数据显示&#xff0c;GitHub Copilot 将程序员工作效率提升了 55%&#xff0c;一些实验中 AI …

Redis多线程模型探究

在技术快速发展的当下&#xff0c;Redis以其高效的单线程模型在众多数据库技术中脱颖而出。 这项被设计来高速读写内存数据的技术&#xff0c;如今却在面临多核心时代的挑战下&#xff0c;开始拥抱多线程。 这篇文章将带你了解Redis的单线程之路&#xff0c;解读它为何能在多线…

IDA Pro 7.7和8.3共用方案

1.问题 IDA 8.3版本放出来后&#xff0c;我安装之后&#xff0c;把之前用的正好的7.7给卸载了&#xff0c;然后发现&#xff1a;IDA 8.3版本只能反编译x86和x64两个架构&#xff0c;而我又是arm和arm64的重度用户&#xff0c;只能把旧版下载回来。问题就出现在这里。 &#x…

Autosar信息安全入门系列01-SecOC基础介绍

本文框架 1. 概述2. SecOC基本概念2.1 SecOC是什么&#xff1f;2.2 新鲜度值与MAC值2.3 SecOC报文格式 3. SecOC报文发送及接收逻辑3.1 SecOC报文的发送3.2 SecOC报文的接收 1. 概述 本文为Autosar通信入门系列介绍&#xff0c;如您对AutosarMCAL配置&#xff0c;通信&#xf…

【开源】基于JAVA语言的免税店商城管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、系统设计2.1 功能模块设计2.2 研究方法 三、系统展示四、核心代码4.1 查询免税种类4.2 查询物品档案4.3 新增顾客4.4 新增消费记录4.5 审核免税 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的免税店商城管理系…