制作mnist格式数据集
import os
from PIL import Image
from array import *
from random import shuffle # # 文件组织架构:
# ├──training-images
# │ └──0(类别为0的图像)
# │ ├──1(类别为1的图像)
# │ ├──2(类别为2的图像)
# │ ├──3(类别为3的图像)
# │ └──4(类别为4的图像)
# ├──test-images
# │ └──0(类别为0的图像)
# │ ├──1(类别为1的图像)
# │ ├──2(类别为2的图像)
# │ ├──3(类别为3的图像)
# │ └──4(类别为4的图像)
# └── mnist数据集制作.py(本脚本) # Load from and save to
Names = [['./training-images', 'train'], ['./test-images', 'test']] for name in Names: data_image = array('B')
data_label = array('B') print(os.listdir(name[0]))
FileList = []
for dirname in os.listdir(name[0])[0:]: # [1:] Excludes .DS_Store from Mac OS
# print(dirname)
path = os.path.join(name[0], dirname)
# print(path)
for filename in os.listdir(path):
# print(filename)
if filename.endswith(".png"):
FileList.append(os.path.join(name[0] + '/', dirname + '/', filename))
print(FileList)
shuffle(FileList) # Usefull for further segmenting the validation set for filename in FileList: label = int(filename.split('/')[2])
print(filename)
Im = Image.open(filename)
# print(Im) 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) # labels start (one unsigned byte each) hexval = "{0:#0{1}x}".format(len(FileList), 6) # number of files in HEX # header for label array 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 # additional header for images array 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 # Changing MSB for image data (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() # 运行脚本得到四个文件test-images-idx3-ubyte、test-labels-idx1-ubyte、train-images-idx3-ubyte、train-labels-idx1-ubyte
# 在cmd中利用gzip -c train-labels-idx1-ubyte > train-labels-idx1-ubyte.gz命令对上述四个文件压缩得到最终的mnist格式数据集
制作mnist格式数据集的更多相关文章
- 仿照CIFAR-10数据集格式,制作自己的数据集
本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/50801226 前一篇博客:C/C++ ...
- 使用 MNIST 图像识别数据集
机器学习领域中最迷人的主题之一是图像识别 (IR). 使用红外系统的示例包括使用指纹或视网膜识别的计算机登录程序和机场安全系统的扫描乘客脸寻找某种通缉名单上的个人.MNIST 数据集是可用于实验的简单 ...
- 自动化工具制作PASCAL VOC 数据集
自动化工具制作PASCAL VOC 数据集 1. VOC的格式 VOC主要有三个重要的文件夹:Annotations.ImageSets和JPEGImages JPEGImages 文件夹 该文件 ...
- matlab遍历文件制作自己的数据集 .mat文件
原文作者:aircraft 原文地址:https://www.cnblogs.com/DOMLX/p/9115788.html 看到深度学习里面的教学动不动就是拿MNIST数据集,或者是IMGPACK ...
- SSD-tensorflow-2 制作自己的数据集
VOC2007数据集格式: VOC2007详细介绍在这里,提供给大家有兴趣作了解.而制作自己的数据集只需用到前三个文件夹,所以请事先建好这三个文件夹放入同一文件夹内,同时ImageSets文件夹内包含 ...
- Windows10+YOLOv3实现检测自己的数据集(1)——制作自己的数据集
本文将从以下三个方面介绍如何制作自己的数据集 数据标注 数据扩增 将数据转化为COCO的json格式 参考资料 一.数据标注 在深度学习的目标检测任务中,首先要使用训练集进行模型训练.训练的数据集好坏 ...
- 在线图标制作,格式转换 ICON
在线图标制作,格式转换 https://www.easyicon.net/covert/
- 使用labelImg制作自己的数据集(VOC2007格式)用于Faster-RCNN训练
https://blog.csdn.net/u011956147/article/details/53239325 https://blog.csdn.net/u011574296/article/d ...
- 【目标检测实战】目标检测实战之一--手把手教你LMDB格式数据集制作!
文章目录 1 目标检测简介 2 lmdb数据制作 2.1 VOC数据制作 2.2 lmdb文件生成 lmdb格式的数据是在使用caffe进行目标检测或分类时,使用的一种数据格式.这里我主要以目标检测为 ...
- 如何将notMNIST转成MNIST格式
相信了解机器学习的对MNIST不会陌生,Google的工程师Yaroslav Bulatov 创建了notMNIST,它和MNIST类似,图像28x28,也有10个Label(A-J). 在Tenso ...
随机推荐
- win7下virtualbox虚拟机中安装centos后设置共享文件夹
报错信息: building the main Guest Additions module FAILEDunable to find the sources of your current Linu ...
- SQL Server 机器学习服务-概述与实战(转)
原帖地址:https://d-bi.gitee.io/sqlserver-ml-services/ 新年第一篇,去旧迎新.本文内容,既旧也新.旧之处在于,SQL Server 机器学习服务是微软在SQ ...
- css 动画基础配置说明
span { animation: roll 0.8s; animation-fill-mode: forwards; // 执行一次, infinity // 执行多次 animation-tim ...
- ref、reactive、toRef、toRefs使用与区别
reactive 传参:reactive(arg),arg只能是对象 arg为普通对象 返回响应式对象,不管层级多深,都能响应 使用:获取数据值的时候直接获取,不需要加.value 特点:解构.扩展运 ...
- nodejs+koa 后台框架结构、demo学习地址
框架结构例子 https://github.com/bayi-lzp/koa-template 官网例子(有很多 示例) https://github.com/koajs/examples <K ...
- linux Qt编译自己的动态库(.so),详细全流程
本篇记录Qt编译动态库全流程 1. 建立工程 首先,打开Qt,新建C++ Library 工程 点击choose之后,输入项目名称为Example,一直下一步即可 生成的项目里边有三个文件,分别是ex ...
- 解决windows的mysql无法启动 服务没有报告任何错误的经验。
解决windows的mysql无法启动 服务没有报告任何错误的经验. 相信很多人都遇到过安装Mysql的时候出现各种各样的问题,教大家解决window下mysql服务没有报告任何错误的情况下无法启动 ...
- java使用minio上传下载文件
Minio模板类: @RequiredArgsConstructor public class MinioTemplate implements InitializingBean { private ...
- 博弈论[leetocde913]
class Solution { static final int MOUSE_WIN = 1; static final int CAT_WIN = 2; static final int DRAW ...
- 求两个自然数之间的最大公约数C++实现
1 #include "pch.h" 2 #include <iostream> 3 using namespace std; 4 5 int main() 6 { 7 ...