Tensorflow机器学习入门——cifar10数据集的读取、展示与保存

  • 基本信息
  • 数据集下载解压后的目录结构:
  • 读取、打印和保存数据集中指定的图片:
    import pickle
    import matplotlib.pyplot as plt
    
    CIFAR_DIR ="cifar10_data/cifar-10-batches-bin/data_batch_1.bin"#数据集路径
    with open(CIFAR_DIR , 'rb') as f:
        data = pickle.load(f, encoding='bytes')
    
    print('----------batch1的基本信息-------------')    
    print('data的数据类型:',type(data)) # 输出 <class 'dict'>
    print('字典的key名称:',data.keys()) # 输出 dict_keys([b'filenames', b'data', b'labels', b'batch_label'])
    print('bdata的数据类型',type(data[b'data'])) # 输出 <class 'numpy.ndarray'>
    print('bdata的数据形状',data[b'data'].shape) # 输出 (10000, 3072) 说明有 10000 个样本, 3072个特征
    
    index=4#打印第几张图片
    print('-----------第%d张图片信息----------'%index)
    print('filenames:',data[b'filenames'][index])
    print('labels:',data[b'labels'][index])
    print('batch_label:',data[b'batch_label'][index])
    image_arr = data[b'data'][index] # 拿出 第 index 个样本
    image_arr = image_arr.reshape((3, 32, 32)) # 将一维向量改变形状得到这样一个元组:(高,宽,通道数)
    image_arr = image_arr.transpose((1, 2, 0)) 
    plt.imshow(image_arr) # 输出图片
    plt.savefig("cifar10_data/raw/%d.png"%index)#保存图片
    plt.show()
  • 打印出的图片
  •  

     

posted @ 2020-02-15 14:31  文亦多  阅读(1500)  评论(0编辑  收藏  举报