
上QQ阅读APP看书,第一时间看更新
2.7 从磁盘读取信息
TensorFlow可以读取许多常用的标准格式,包括大家耳熟的列表格式(CSV)、图像文件(JPG和PNG格式)和标准TensorFlow格式。
2.7.1 列表格式
为了读取列表格式(CSV),TensorFlow构建了自己的方法。与其他库(如pandas)相比,读取一个简单的CSV文件的过程有点复杂。
读取CSV文件需要几个准备步骤。首先,必须创建一个文件名队列对象和将使用的文件列表,然后创建一个TextLineReader。剩余的操作将是解码CSV列,并将其保存于张量。如果想将同质数据混合在一起,可以使用pack方法。
【例2-24】 利用pack方法实现列表格式读取信息。


2.7.2 读取图像数据
TensorFlow能够以图像格式导入数据,这对于面向图像的模型非常有用,因为这些模型的输入往往是图像。TensorFlow支持的图像格式是JPG和PNG,程序内部以uint8张量表示,每个图像通道一个二维张量,如图2-2所示。

图2-2 原始图像
【例2-25】 加载一个原始图像,并对其进行一些处理,最后保存。


运行程序,效果如图2-3所示。

图2-3 原始图像与转变后的图像对比(向上翻转与向左翻转)