TensorFlow深度学习从入门到进阶
上QQ阅读APP看书,第一时间看更新

2.6 TensorFlow数据读取的方式

机器学习既然是基于数据的方法,不管它有多抽象,总归是有读取数据的方法的,这里的数据应该是一个统称,包含数据集和变量张量。

TensorFlow一共有3种方法读取数据:

● 供给数据(Feeding):创建占位符,让Python代码来供给数据。

● 从文件读取数据(Reading):TensorFlow可以从文件中读取数据。

● 预加载数据(Preloading):在TensorFlow图中定义常量或变量来保存所有数据(仅

适用于数据量比较小的情况)。

1.供给数据(Feeding)

TensorFlow的数据供给机制可以在TensorFlow运算图中将数据注入任一张量中,使用placeholder创建占位符,然后通过给run()或者eval()函数输入feed_dict参数供给数据,才可以启动运算过程。例如:

2.从文件读取数据(Reading)

从文件中读取数据的内容比较灵活,TensorFlow官方API也给出了例子,有兴趣的读者可以移步官网将数据导入TensorFlow。

3.预加载数据(Preloading)

加载数据集通常是可以完全加载到存储器中的小的数据集。有两种方法:

● 存储在常数中。

● 存储在变量中,初始化后,永远不要改变它的值。

使用常数更简单一些,但是会使用更多的内存(因为常数会内联地存储在数据流图数据结构中,这个结构体可能会被复制几次)。例如:

要使用变量,还需要在构建图形之后对其进行初始化。如: