Tensorflow机器学习入门——cifar10数据集的读取展示与保存
Posted fengqiao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tensorflow机器学习入门——cifar10数据集的读取展示与保存相关的知识,希望对你有一定的参考价值。
- 基本信息
- 官网:http://www.cs.toronto.edu/~kriz/cifar.html
- 共60000张图片:50000张用于训练、10000张用于测试
- 图片大小为:32X32
- 数据集图片分为10类:每类6000张
- 数据集下载解压后的目录结构:
- 读取、打印和保存数据集中指定的图片:
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()
- 打印出的图片
-
以上是关于Tensorflow机器学习入门——cifar10数据集的读取展示与保存的主要内容,如果未能解决你的问题,请参考以下文章
Tensorflow:如何使用来自 cifar10 的 tf.train.batch 绘制小批量?