使用knn对MNIST分类


有不少同学看到我的《Python代码实现简单的MNIST手写数字识别(适合初学者看)》博客,跟我要源代码和数据,还得邮箱一个一个回复,我直接放在资源里吧。另外还有根据knn原理写的代码,没有使用sklearn库,也上传在我的资源里了。
资源截图
代码片段和文件信息
import numpy as np
import struct
import cv2

def readfile():#读取源图片文件
    with open(‘E:\t10k-images.idx3-ubyte‘‘rb‘) as f1:
        buf1 = f1.read()
    return buf1

def get_image(buf1):#解析并保存图片
    image_index = 0
    image_index += struct.calcsize(‘>IIII‘)
    magicnumImagesimgRowsimgCols=struct.unpack_from(“>IIII“buf10)
    im = []
    for i in range(numImages):
        temp = struct.unpack_from(‘>784B‘ buf1 image_index)
        im=np.array(temp)
        im2=im.reshape(2828)
        cv2.imwrite(“E:\testImages\testIM“+str(i)+“.jpg“im2)#保存路径自己设置
        image_index += struct.calcsize(‘>784B‘)  # 28*28=784(B)
        if i%20==0:#知道图片保存的进度
            print i
        else:
            print i

if __name__ == “__main__“:
    image_data = readfile()
    get_image(image_data)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-02-17 13:23  MNIST_dataset
     文件         935  2017-08-12 22:12  MNIST_datasetPythonApplication8.py
     文件        3710  2017-08-12 22:49  MNIST_datasetShouXieShiBie.py
     文件     7840016  1998-01-26 23:07  MNIST_dataset 10k-images.idx3-ubyte
     文件       10008  1998-01-26 23:07  MNIST_dataset 10k-labels.idx1-ubyte
     文件       10000  2018-01-01 17:41  MNIST_dataset est_label.txt
     文件    47040016  1996-11-18 23:36  MNIST_dataset rain-images.idx3-ubyte
     文件       60008  1996-11-18 23:36  MNIST_dataset rain-labels.idx1-ubyte
     文件       60000  2018-01-01 17:32  MNIST_dataset rain_label.txt
     文件    22404949  2018-02-17 13:23  MNIST_datasetunpacked_MNIST.zip

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)