1、概述
在前一篇文章中详细讨论了迭代器与数据集的相关内容。由于数据集与迭代器是链接原始数据与程序连接的渠道,所以本文主要讨论如何从原始数据中构建数据集,主要涉及以下场景:
- 内存
- TFRecord data
- 文本文件
- csv文件
2、从内存中读取数据
如果所有的数据都以numpy数据组的形式预先保存到了内存当中,那么我们使用Dataset.from_tensor_slices()方法可以非常方便的将一个这样的数组转化为tensorflow的张量对象。下面以手写数字的数据集为例来说明这个场景的应用。
1)首先像我们在使用卷积神经网络处理手写数字一样,我们先来下载数据集,参考代码属下:
# mnist数据集
import tensorflow as tf
mnist = tf.contrib.learn.datasets.load_dataset("mnist")
2)由于只是讨论数据的处理,这里我们使用数据量比较小的测试数据集
import numpy as np
eval_data = mnist.test.images
print(eval_data.shape)
eval_labels = np.asarray(mnist.test.labels, dtype=np.int32)
print(eval_labels.shape)
输出结果如下: