MNIST数据可视化

Posted smbx-ztbz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MNIST数据可视化相关的知识,希望对你有一定的参考价值。

一、数据准备

技术分享图片

二、数据说明

技术分享图片

技术分享图片

可以看出图片数据在偏移量为第16字节开始存,每28X28字节存放一张手写字图片。而label是从偏移量为第8字节开始存,每个字节存放一个label。


三、matlab2016实现可视化

在数据同目录下新建show_mnist_data.m

clc;
clear;
close all;
image_file_name=t10k-images-idx3-ubyte;
index_file_name=t10k-labels-idx1-ubyte;

fid1=fopen(image_file_name,rb);
fid2=fopen(index_file_name,rb);

image_data=fread(fid1,uint8);
index_data=fread(fid2,uint8);

fclose(fid1);
fclose(fid2);

image_data=image_data(17:end);
index_data=index_data(9:end);
image_buffer=zeros(28,28);

for k=1:100:length(image_data)/28/28
    figure(100);
    for t=1:100
        image_buffer=reshape(image_data((k+t-2)*28*28+1:(k+t-1)*28*28),28,28);
        subplot(10,10,t);
        imshow(uint8(image_buffer));
        title(num2str(index_data(k+t-1)));
    end
    pause;
end

效果:

技术分享图片

说明:

1、因为matlab数组元素下标是从1开始的,所以图片从第17字节开始,label从第9字节开始存。

2、reshape操作,重新定义了数组的形状,重新定义的形状按列的方向开始存,从上到下,再从左到右存,所以imshow图片的时候,要对图片进行转置才能正常显示。


以上是关于MNIST数据可视化的主要内容,如果未能解决你的问题,请参考以下文章

如何将MNIST数据集数据图像可视化

Tensorflow可视化MNIST手写数字训练

MNIST数据可视化

使用 OpenCV 或 Matplotlib/Pyplot 可视化 MNIST 数据集

收藏 | 那些不得不了解的人工智能经典数据集~MNIST数据集下载及可视化!

收藏 | 那些不得不了解的人工智能经典数据集~MNIST数据集下载及可视化!