精华内容
下载资源
问答
  • mnist数据集可视化

    千次阅读 2019-07-11 22:07:12
      最近在研究GAN,数据集采用的是mnist数据集,为了将生成的图片与原数据进行对比,需要将mnist数据集可视化,具体代码如下,每张图片有5*5个手写数字图片。 from keras.datasets import mnist import matplotlib....

    mnist可视化

      最近在研究GAN,数据集采用的是mnist数据集,为了将生成的图片与原数据进行对比,需要将mnist数据集可视化,具体代码如下,每张图片有5*5个手写数字图片。

    from keras.datasets import mnist
    import matplotlib.pyplot as plt
    (X_train,_),(_,_)=mnist.load_data()
    # X_train.shape=(60000,28,28)
    
    r,c=5,5
    w,h=28,28
    batch=r*c
    totalNum=X_train.shape[0]
    fig,axs=plt.subplots(r,c)
    for i in range(0,totalNum,batch):
        print("Print %d figure"%i)
        cur=X_train[i:i+batch]
        cnt=0
        for j in range(r):
            for k in range(c):
                axs[j,k].imshow(cur[cnt].reshape(w,h),cmap='gray')
                axs[j,k].axis('off')
                cnt+=1
        fig.savefig("images/mnist_%d.jpg" % i)
    

    采用keras加载mnist数据集,效果如下:
    效果展示

    展开全文
  • MNIST数据集可视化

    千次阅读 2018-01-26 13:37:27
    MNIST数据集简介 数据集共有4个文件,如下:   文件 内容 train-images-idx3-ubyte.gz 训练集图片(包含55000张训练图,5000张测试图) train-labels-idx1-ubyte...

    MNIST数据集简介



    数据集共有4个文件,如下:

     

    文件

    内容

    train-images-idx3-ubyte.gz

    训练集图片(包含55000张训练图,5000张测试图)

    train-labels-idx1-ubyte.gz

    训练集图片对应的数字标签

    t10k-images-idx3-ubyte.gz

    测试集图片(10000张图片)

    t10k-labels-idx1-ubyte.gz

    测试集图片对应的数字标签



    注:这些文件不是任何标准的图像格式,使用的是IDX文件格式。


    图片被转为二进制放到文件里,所以每个文件头部几个字节记录着这些图片的信息,然后才是存储图片的信息,内容如下:







    像素是按行排列的,像素值范围为0~255,0表示背景(白色),255表示前景(黑色);如果我们想要知道MNIST数据集内的图片是什么样,就需要从MNIST数据集中导出手写体数字图片。



    准备工作



    1. 确保已安装Anaconda;


    2. 确保已安装TensorFlow;


    3. 确保已安装Python图像处理库PIL;



    实现








    运行结果



    1. 在Anaconda Prompt内先通过cd命令,切换到工程目录下;


    2. 然后,输入如下命令:


    python mnist_datasets_visual.py




    3. 程序会在MNIST_data目录内下载MNIST数据集,如下:




    4. 最后,对数据集进行转换并将结果保存在mnist_digits_images目录下,如下:




    5. 数据集内数字图效果如下:






    真是奇形怪状,应有尽有啊!


    MNIST数据集可视化后,可以将形态不规则的样本删除,只保留好的样本,供其他项目数据集使用。






    展开全文
  • 使用下面的例子,可以加载训练数据或测试数据集,可以选择查看某个图片对应的数据或图象 代码如下: ​ #!/usr/bin/env python # -*- coding: utf-8 -*- """ Created on Thu Jan 4 16:24:07 2018 @author: wangd ...

    每个MNIST 手写字符图片包含28*28灰度像素。使用下面的例子,可以加载训练数据或测试数据集,可以选择查看某个图片对应的数据或图象

    代码如下:

    ​
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    """
    Created on Thu Jan  4 16:24:07 2018
    @author: wangd
    """
    from tkinter import Tk, BOTH, RIGHT, RAISED,Text,X,SW,LEFT,INSERT,BOTTOM
    from tkinter.ttk import Frame, Button, Style, Label, Entry
    from tkinter import Listbox, StringVar, END
    from tkinter import messagebox as msgbox
    
    from MyMnistData import MyMnistData
    import matplotlib.pyplot as plt
    
    #Tk class is used to create root windows.
    #frame is a container for other widgets.
    
    class MnistView(Frame):  #inherit from frame
      
        def __init__(self):
            super().__init__()  #call the constructor of our inherited class
    
            self.summary = StringVar()  #for value of listbox and author       
            self.imageNum=0 #the total number of images
            self.imgRows=0 #the number of rows in each image
            self.imgCols=0 #the number of columns in each image
            self.imgPoint=0 #the number of points in each image
            self.imgs=None #matrix used to store images
            self.labels=None #vector used to store lables  
                   
            self.imageNumInput=StringVar('')
            self.labelNumInput=StringVar('')
            self.dataSetType=StringVar('')
            self.currentImgNum=0
            self.currentLb=0
            
            self.imgArea=None
            self.ctrFrame=None
            self.infoFrame=None
            self.infoTxt=None
            
            self.initUI() 
    
            
        def initUI(self):
            self.style = Style()
            self.style.theme_use("default") #.theme_use("default")
            # Tkinter support theming of widgets, imported from ttk module
    
            self.master.title("Zhouwa MNIST Data View")
            #self.master.config(bg='GREEN')
            # set the title of the window, the master attribute gives access to root window
            
            self.pack(fill=BOTH, expand=1)
            
            #add another frame
            self.addFrame()
            self.addAbutton()
            self.addControlInfo()
          
    
    
        def addFrame(self):
            #frame0 for copyright information
            self.mainFrame = Frame(self, relief=RAISED, borderwidth=1)
            self.mainFrame.pack(fill=X, expand=False)  
            lbl0=Label(self.mainFrame, text="This is a tool used to explore MNIST \
    data, by Daoyi Wang, 2018-10-18",width=600)
            lbl0.pack(side=LEFT, padx=5, pady=5)   
    
           #button area, for load data            
            ctrFrame = Frame(self,height=10)
            ctrFrame.pack(fill=X)       
            lbl1 = Label(ctrFrame, text="Control Area", width=10)
            lbl1.pack(side=LEFT, padx=5, pady=5)    
            self.ctrFrame=ctrFrame
            
            #frame2 for general information display
            infoFrame = Frame(self,height=10)
            infoFrame.pack(fill=BOTH, expand=True)      
            lbl2 = Label(infoFrame, text="Summary", width=10)
            lbl2.pack(side=LEFT, padx=5, pady=5)   
            self.infoFrame=infoFrame
            
            infoTxt = Text(infoFrame,height=5)
            infoTxt.pack(side=LEFT,fill=X, pady=5, padx=5, expand=True) 
            self.infoTxt=infoTxt
            
            #data area
            self.dataFrame = Frame(self, relief=RAISED, borderwidth=1,height=80)
            self.dataFrame.pack(fill=BOTH, expand=True)  
            
            lbl3 = Label(self.dataFrame, text="Data Area",width=10)
            lbl3.pack(side=LEFT, padx=5, pady=5) 
            
            viewImgBT = Button(self.dataFrame, text="ViewImg",command=self.onViewSingleImg)
            viewImgBT.pack(side=BOTTOM, padx=5, pady=5,anchor=SW)
    
            area = Text(self.dataFrame,width=50,height=70)
            area.pack(side=LEFT, padx=5, pady=5)
            self.imgArea=area
            self.imgArea.insert(END,"The image will be displayed in this area!")
    
            
            area2 = Text(self.dataFrame,width=50,height=70)
            area2.pack(side=RIGHT, padx=5, pady=5)
            self.imgArea2=area2
            self.imgArea2.insert(END,"The simple image will be displayed in this area!")
            
        def addListbox(self):
            dataSetType = ['Test', 'Train']
    
            lb = Listbox(self.ctrFrame,width=8,height=2)
            
            for i in dataSetType:
                lb.insert(END, i)         
            lb.bind("<<ListboxSelect>>", self.onSelect)               
            lb.pack(side=LEFT, padx=5, pady=5)
    
    
        def onSelect(self, val):
          
            sender = val.widget
            #val is a VirtualEvent, and sender is a listbox
            idx = sender.curselection()
            
            #idx is the a tuple for the sequence number of the selected one
            value = sender.get(idx)  
    
            self.dataSetType.set(value) 
            #used to store the name of author, which is assoc
    
    
        def addAbutton(self):
            self.addListbox()
            loadButton = Button(self.ctrFrame, text="Load",command=self.onLoad)
            loadButton.pack(side=LEFT, padx=10, pady=5)
            
            viewImgBT = Button(self.ctrFrame, text="View",command=self.onViewImgBT)
            viewImgBT.pack(side=LEFT, padx=5, pady=5)
    
            nextImgBT = Button(self.ctrFrame, text="Next",command=self.onNextImgBT)
            nextImgBT.pack(side=LEFT, padx=5, pady=5)
    
            byLabelImgBT = Button(self.ctrFrame, text="By Label",command=self.onByLabelImgBT)
            byLabelImgBT.pack(side=LEFT, padx=5, pady=5)
                      
        
        def addControlInfo(self):
            
            lbl1 = Label(self.ctrFrame, text="ImgNum",width=8)
            lbl1.pack(side=LEFT, padx=10, pady=2) 
            entry1 = Entry(self.ctrFrame, textvariable=self.imageNumInput,width=8) 
            entry1.pack(side=LEFT)   
    
            lbl2 = Label(self.ctrFrame, text="LabelNum",width=8)
            lbl2.pack(side=LEFT, padx=2, pady=2) 
            entry2 = Entry(self.ctrFrame, textvariable=self.labelNumInput,width=4)  
            entry2.pack(side=LEFT)  
            
        def setimgPoints(self):
            self.imgPoint=self.imgRows*self.imgCols
    
        def updateSummary(self):
            self.infoTxt.delete(1.0,END)
            self.infoTxt.insert(INSERT,self.summary)
            tempStr="\nthe number of points in each image is: "
            tempStr=tempStr+str(self.imgPoint)
            self.infoTxt.insert(INSERT,tempStr)
               
        def initDataSet(self):
            self.imageNum=0
            self.imgRows=0
            self.imgCols=0
            self.imgs=None
            self.labels=None 
            self.setimgPoints()
            self.summary=''
            self.updateSummary()
            
        def onLoad(self):
            myMnistData=MyMnistData()
            myMnistData.setPath("d:\data\MNIST")
            print(self.dataSetType.get())
            self.initDataSet()
    
            if self.dataSetType.get()=='Train':
                myMnistData.loadTrainData()
                tempstr=myMnistData.displaySumInfoOfTrainData()
                self.imageNum=myMnistData.trainImgNum
                self.imgRows=myMnistData.trainImgRows
                self.imgCols=myMnistData.trainImgCols
                self.imgs=myMnistData.trainImages
                self.labels=myMnistData.trainLabels  
                self.setimgPoints()
                self.summary=tempstr
                self.updateSummary()
            else:
                myMnistData.loadTestData()
                tempstr=myMnistData.displaySumInfoOfTestData()
                self.imageNum=myMnistData.testImgNum
                self.imgRows=myMnistData.testImgRows
                self.imgCols=myMnistData.testImgCols
                self.imgs=myMnistData.testImages
                self.labels=myMnistData.testLabels  
                self.setimgPoints()
                self.summary=tempstr
                self.updateSummary()
                
        def onViewImgBT(self):
            try:
                num=int(self.imageNumInput.get().lstrip())
            except ValueError:
                msgbox.showinfo('',"image number is not a integer!")    
            else:
                self.setCurrentImgNum(num)
                #string=str("the current image number is %s"%(self.getCurrentImgNum()))
                #msgbox.showinfo('',string)
                self.displayImage()
     
            
        def onNextImgBT(self): 
            num=self.getCurrentImgNum()
            num=num+1
            self.setCurrentImgNum(num)
            self.imageNumInput.set(str(num))
            #string=str("the current image number is %s"%(self.getCurrentImgNum()))
            #msgbox.showinfo('',string)   
            self.displayImage()
    
            
        def onByLabelImgBT(self):
            try:
                num=int(self.labelNumInput.get().lstrip())
            except ValueError:
                msgbox.showinfo('',"label number is not a integer!")    
            else:
                self.setCurrentLb(num)
                #string=str("the current image number is %s"%(self.getCurrentLb()))
                #msgbox.showinfo('',string)  
                self.displayImgByLabel()
            
        def displayImage(self):
            self.imgArea.delete(1.0,END)        
            imgIndex=self.getCurrentImgNum()       
            imgData=self.imgs[imgIndex].reshape(28, 28) 
            
            self.imgArea.tag_config('link', foreground='red',font=('Courier', 7, 'bold'))
    
            for i in range (0,28):
                self.imgArea.insert(INSERT,'\n  ')
                for j in range (0,28):
                    colorStr=self.getColorStr(imgData[i,j])
                    self.imgArea.insert(INSERT,colorStr,'link')     
            self.displaySimpleImage()
     
        def displaySimpleImage(self):
            self.imgArea2.delete(1.0,END)       
            imgIndex=self.getCurrentImgNum()       
            imgData=self.imgs[imgIndex].reshape(28, 28) 
            
            self.imgArea2.tag_config('link', foreground='red',font=('Courier', 7, 'bold'))
    
            for i in range (0,28):
                self.imgArea2.insert(INSERT,'\n  ')
                for j in range (0,28):
                    colorStr=self.getColorStr(imgData[i,j])
                    if colorStr=='00':
                        colorStr='  '
                    self.imgArea2.insert(INSERT,colorStr,'link')
                    
        def onViewSingleImg(self):
            imgIndex=self.getCurrentImgNum()       
            imgData=self.imgs[imgIndex].reshape(28, 28) 
            plt.figure("the image for lable %s"%(self.getCurrentLb()))
            ax=plt.subplot(111)
            ax.imshow(imgData, cmap='Greys', interpolation='nearest')
        
        def displayImgByLabel(self):
            labelNum=self.getCurrentLb()
            fig=plt.figure("All the image with label %d"%(labelNum))
            ax = fig.subplots(
                    nrows=5,
                    ncols=5,
                    sharex=True,
                    sharey=True)
            ax = ax.flatten()
            
            for i in range (0,25):
                img = self.imgs[self.labels == labelNum][i].reshape(28, 28)
                ax[i].imshow(img, cmap='Greys', interpolation='nearest')
            ax[0].set_xticks([])
            ax[0].set_yticks([])
            plt.tight_layout()
            #fig.set(title="All the image with label %d"%(labelNum))
            plt.show()
    
            
        def getColorStr(self,color):
            tempColor=str(hex(color))[2:]
            if len(tempColor)==1:
                tempColor='0'+tempColor
            return tempColor
        
        def setCurrentImgNum(self,num):
            self.currentImgNum=num
            label=self.labels[num]
            self.setCurrentLb(label)
            
        def getCurrentImgNum(self):
            return self.currentImgNum
            
        def setCurrentLb(self,label):
             self.currentLb=label
             
        def getCurrentLb(self):
            return self.currentLb        
    
    def centerWindow(root):
        w = 1140
        h = 850
        sw = root.winfo_screenwidth()
        sh = root.winfo_screenheight()
        x = (sw - w)/2
        y = (sh - h)/2
        
        s='%dx%d+%d+%d' % (w, h, x, y);
        root.title(s)
        root.geometry(s)
    
    def main():
      
        root = Tk()
        centerWindow(root)
        app = MnistView()
        #create the application frame
       
        root.mainloop()  
        #the main loop begins to receive events and dispatches them to 
        #the application widgets.
    
    
    if __name__ == '__main__':
        main()
        
    
    ​

    运行效果如下:(显示第7个测试样本)

    点击 ViewImg之后的效果如下:

     

     

     

    展开全文
  • MNIST 数据集可视化代码

    千次阅读 2016-11-15 20:25:47
    xie yige matlab daima fang zai $caffe_root/data/mnist/ clear; clc; clear all; image_file_name='t10k-images-idx3-ubyte'; index_filename='t10k-labels-idx1-ubyte'; fid1=fopen(image_file_name,'


    写一个matlab小程序将mnist数据集可视化,将以下代码命名为image_visualization 并放在 $caffe_root/data/mnist/  下,{独立运行,不必编译caffe,但是要提前Linux下下载数据}



    clear;
    clc;
    clear all;
    image_file_name='t10k-images-idx3-ubyte';
    index_filename='t10k-labels-idx1-ubyte';
    
    fid1=fopen(image_file_name,'rb');
    fid2=fopen(index_filename,'rb');
    
    images_data=fread(fid1,'uint8');
    index_data=fread(fid2,'uint8');
    
    fclose(fid1);
    fclose(fid2);
    
    images_data=images_data(17:end);
    index_data=index_data(9:end);
    image_buffer=zeros(28,28);
    
    for k=1:144:length(images_data)/28/28
        figure(144);
        for t=1:144
            image_buffer=reshape(images_data((k+t-2)*28*28+1:(k+t-1)*28*28),28,28);
            subplot(12,12,t);
            imshow(uint8(image_buffer)');
            title(num2str(index_data(k+t-1)));
        end
        pause;
    end

    结果如图(100个数,源码是144个数,未贴出)


    展开全文
  • 前言在手写字符识别任务中,需要将MNIST数据集打开,可视为png图片,然后重新组装新的测试集和验证集。代码实现//author: zhimazhimaheng //time: 20170719 //E-mail:1439352516@qq.com#include<fstream> #include #...
  • MNIST 数据集下载及可视化 MNIST 介绍 下载数据集并保存成图片 ...但是网上关于 MNIST数据集可视化 的文章有些比较繁琐,特在此记录将MNIST数据集下载下来,并以图片形式保存到本地的操作步骤。 MNIST 介绍 MNIST .
  • 如何将pytorch中mnist数据集的图像可视化及保存 导出一些库 import torch import torchvision import torch.utils.data as Data import scipy.misc import os import matplotlib.pyplot as plt BATCH_SIZE = 50 ...
  • MNIST数据集下载及可视化

    千次阅读 2020-07-04 12:30:07
    MNIST数据集介绍 MNIST数据集官网:http://yann.lecun.com/exdb/mnist/ MNIST数据库是非常经典的一个数据集,就像你学编程起初写一个“Hello Word”的程序一样,学Deep Learning你就会写识别MNIST数据集的Model。 ...
  • MNIST 数据集读取和可视化

    万次阅读 2018-05-23 12:43:05
    MNIST 数据集已经是一个被”嚼烂”了的数据集, 很多教程都会对它”下手”, 几乎成为一个 “典范”. 不过有些人可能对它还不是很了解, 下面来介绍一下.MNIST 数据集可在 http://yann.lecun.com/exdb/mnist/ 获取, ...
  • 使用代码下载mnist数据集并且可视化部分图片代码实验结果 代码 #coding: utf-8 # 从tensorflow.examples.tutorials.mnist模块读取数据 from tensorflow.examples.tutorials.mnist import input_data # misc 是 ...
  • 数据集加载方法load_mnist可以自行修改,这里用到了mnist-original.mat文件需要下载后放入当前路径的datasets/mldata下。 from sklearn.datasets import fetch_mldata from collections import Counter imp
  • MNIST数据集详解及可视化处理(pytorch) MNIST 数据集已经是一个被”嚼烂”了的数据集, 作为机器学习在视觉领域的“hello world”,很多教程都会对它”下手”, 几乎成为一个 “典范”。 不过有些人可能对它还不是很...
  • MNIST数据集转换成可视化图片
  • pytorch加载Mnist数据集以及batch可视化写在前面1.通道种数值的归一等2.将灰度图转化为RGB图3.从img数据到imshow可以输出数据4.查看Dataloader加载后的一个batch数据5.一个错误RuntimeError: output with shape [1, ...
  • 点上方蓝字人工智能算法与Python大数据获取更多干货在右上方···设为星标★,第一时间获取资源MNIST数据集介绍MNIST数据集官网:http://yann.lecun.com/...
  • pic.zip mnist数据集

    2020-01-18 09:57:25
    部分mnist数据集可视化图片,从0-9,共十张图片,用于测试模型 lenet5 pytorh、tensorflow、keras、paddle实现: https://blog.csdn.net/nominior/article/details/104027273
  • MNIST数据集相关介绍

    2020-02-20 21:16:34
    1. MNIST数据集加载与查看 1.1 内置数据集介绍 dir(tf.keras.datasets) 1.2 MNIST数据集加载 mnist = tf.keras.datasets.mnist mnist.load_data() ...2. MNIST数据集可视化 2.1 导入依赖库 impor...
  • 如何将pytorch中mnist数据集的图像可视化及保存 导出一些库 import torch import torchvision import torch.utils.data as Data import scipy.misc import os import matplotlib.pyplot as plt BATCH_SIZE = 50 ...
  • get_mnist.sh下载mnist数据集文件 步骤 Matlab 代码(show_mnist_data.m,可以放在$CAFFE_ROOT/data/mnist/下,或者其他包含mnist数据文件的目录下运行 Matlab代码: clear; clc; close all; image_file_name
  • Minist数据集(知名的手写数字数据集) 本身占用空间不大,但是内容多,且已经做好了标签分类 常作为神经网络深度学习初学者接触的首个上手数据集
  • MNIST数据集转换格式成csv文件 本小宝也是因为需求,需要跨一下研究领域,因为之前都是处理的csv文件(即所研究对象提取的特征姨csv文件进行存储)没有怎么接触过处理图像数据,所以一接触起来有点不知所措。搜集了...
  • mnist数据集介绍   mnist数据集是比较流行的手写数字数据集之一,其中有60000个训练数据集,10000个测试数据集; mnist数据集文件列表: train-images-idx3-ubyte: 训练集图片 – 已全部转为二进制数组 train-...
  • 在自己初学mnist数据集的时候,想通过可视化的方式展现训练的准确率,在网上找了一大圈,也没找到合适的代码。这些代码对于大佬来说可能很简单,但对于初学者来说却是一个很好的参考案例。下面就自己在学习整理过程...
  • 首先需要连网下载数据集:mnsit = input_data.read_data_sets(train_dir='./MNIST_DATA', one_hot=True) # 如果当前文件夹下没有 MNIST_DATA,会首先创建该文件夹,然后下载 mnist 数据集训练集与测

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,129
精华内容 3,251
关键字:

mnist数据集可视化