香港云主机最佳企业级服务商!

ADSL拨号VPS包含了中国大陆(联通,移动,电信,)

中国香港,国外拨号VPS。

当前位置:云主机 > python >

电信ADSL拨号VPS
联通ADSL拨号VPS
移动ADSL拨号VPS

python MNIST手写识别数据调用API的方法


时间:2022-01-11 10:30 作者:admin610456


MNIST数据集比较小,一般入门机器学习都会采用这个数据集来训练

下载地址:yann.lecun.com/exdb/mnist/

有4个有用的文件:
train-images-idx3-ubyte: training set images
train-labels-idx1-ubyte: training set labels
t10k-images-idx3-ubyte: test set images
t10k-labels-idx1-ubyte: test set labels

The training set contains 60000 examples, and the test set 10000 examples. 数据集存储是用binary file存储的,黑白图片。

下面给出load数据集的代码:

import osimport structimport numpy as npimport matplotlib.pyplot as pltdef load_mnist():  '''  Load mnist data  http://yann.lecun.com/exdb/mnist/  60000 training examples  10000 test sets  Arguments:    kind: 'train' or 'test', string charater input with a default value 'train'  Return:    xxx_images: n*m array, n is the sample count, m is the feature number which is 28*28    xxx_labels: class labels for each image, (0-9)  '''  root_path = '/home/cc/deep_learning/data_sets/mnist'  train_labels_path = os.path.join(root_path, 'train-labels.idx1-ubyte')  train_images_path = os.path.join(root_path, 'train-images.idx3-ubyte')  test_labels_path = os.path.join(root_path, 't10k-labels.idx1-ubyte')  test_images_path = os.path.join(root_path, 't10k-images.idx3-ubyte')  with open(train_labels_path, 'rb') as lpath:    # '>' denotes bigedian    # 'I' denotes unsigned char    magic, n = struct.unpack('>II', lpath.read(8))    #loaded = np.fromfile(lpath, dtype = np.uint8)    train_labels = np.fromfile(lpath, dtype = np.uint8).astype(np.float)  with open(train_images_path, 'rb') as ipath:    magic, num, rows, cols = struct.unpack('>IIII', ipath.read(16))    loaded = np.fromfile(train_images_path, dtype = np.uint8)    # images start from the 16th bytes    train_images = loaded[16:].reshape(len(train_labels), 784).astype(np.float)  with open(test_labels_path, 'rb') as lpath:    # '>' denotes bigedian    # 'I' denotes unsigned char    magic, n = struct.unpack('>II', lpath.read(8))    #loaded = np.fromfile(lpath, dtype = np.uint8)    test_labels = np.fromfile(lpath, dtype = np.uint8).astype(np.float)  with open(test_images_path, 'rb') as ipath:    magic, num, rows, cols = struct.unpack('>IIII', ipath.read(16))    loaded = np.fromfile(test_images_path, dtype = np.uint8)    # images start from the 16th bytes    test_images = loaded[16:].reshape(len(test_labels), 784)    return train_images, train_labels, test_images, test_labels

再看看图片集是什么样的:

def test_mnist_data():  '''  Just to check the data  Argument:    none  Return:    none  '''  train_images, train_labels, test_images, test_labels = load_mnist()  fig, ax = plt.subplots(nrows = 2, ncols = 5, sharex = True, sharey = True)  ax =ax.flatten()  for i in range(10):    img = train_images[i][:].reshape(28, 28)    ax[i].imshow(img, cmap = 'Greys', interpolation = 'nearest')    print('corresponding labels = %d' %train_labels[i])if __name__ == '__main__':  test_mnist_data()

跑出的结果如下:


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

(责任编辑:admin)






帮助中心
会员注册
找回密码
新闻中心
快捷通道
域名登录面板
虚机登录面板
云主机登录面板
关于我们
关于我们
联系我们
联系方式

售前咨询:17830004266(重庆移动)

企业QQ:383546523

《中华人民共和国工业和信息化部》 编号:ICP备00012341号

Copyright © 2002 -2018 香港云主机 版权所有
声明:香港云主机品牌标志、品牌吉祥物均已注册商标,版权所有,窃用必究

云官方微信

在线客服

  • 企业QQ: 点击这里给我发消息
  • 技术支持:383546523

  • 公司总台电话:17830004266(重庆移动)
  • 售前咨询热线:17830004266(重庆移动)