![TensorFlow深度学习从入门到进阶](https://wfqqreader-1252317822.image.myqcloud.com/cover/944/36922944/b_36922944.jpg)
上QQ阅读APP看书,第一时间看更新
2.7 从磁盘读取信息
TensorFlow可以读取许多常用的标准格式,包括大家耳熟的列表格式(CSV)、图像文件(JPG和PNG格式)和标准TensorFlow格式。
2.7.1 列表格式
为了读取列表格式(CSV),TensorFlow构建了自己的方法。与其他库(如pandas)相比,读取一个简单的CSV文件的过程有点复杂。
读取CSV文件需要几个准备步骤。首先,必须创建一个文件名队列对象和将使用的文件列表,然后创建一个TextLineReader。剩余的操作将是解码CSV列,并将其保存于张量。如果想将同质数据混合在一起,可以使用pack方法。
【例2-24】 利用pack方法实现列表格式读取信息。
![](https://epubservercos.yuewen.com/C16494/19573973401151406/epubprivate/OEBPS/Images/978-7-111-65263-2_62_01.jpg?sign=1739241751-RrdHsOHMUmGvUhhHsGWBiU8gOrdE7rip-0-cf5884d528a7fcc68d44157f1b4936dc)
![](https://epubservercos.yuewen.com/C16494/19573973401151406/epubprivate/OEBPS/Images/978-7-111-65263-2_63_01.jpg?sign=1739241751-kX6WBmtIFcuWH6lMgn930CIqfr7Jl8pc-0-600cefe1a7c2d1fc4519fcfa6e0a947e)
2.7.2 读取图像数据
TensorFlow能够以图像格式导入数据,这对于面向图像的模型非常有用,因为这些模型的输入往往是图像。TensorFlow支持的图像格式是JPG和PNG,程序内部以uint8张量表示,每个图像通道一个二维张量,如图2-2所示。
![](https://epubservercos.yuewen.com/C16494/19573973401151406/epubprivate/OEBPS/Images/978-7-111-65263-2_63_02.jpg?sign=1739241751-1ItRiaaNTRhNHp9WEYfuMWjHZMndTBxg-0-c2d0cc580db7bedc6a74c41ce867c492)
图2-2 原始图像
【例2-25】 加载一个原始图像,并对其进行一些处理,最后保存。
![](https://epubservercos.yuewen.com/C16494/19573973401151406/epubprivate/OEBPS/Images/978-7-111-65263-2_63_03.jpg?sign=1739241751-GhdpA8MKx3KJvCTcurDy1RIOFb3H9MNr-0-ab0c7fef0906815d7e36d64828789206)
![](https://epubservercos.yuewen.com/C16494/19573973401151406/epubprivate/OEBPS/Images/978-7-111-65263-2_64_01.jpg?sign=1739241751-ytmfyqsWFR3sb19swdZUN61o7CXUHzzs-0-934599fe9b6d884f284440c6cb9b2f99)
运行程序,效果如图2-3所示。
![](https://epubservercos.yuewen.com/C16494/19573973401151406/epubprivate/OEBPS/Images/978-7-111-65263-2_64_02.jpg?sign=1739241751-yiJzwTtXWmmBcN1HNR1MKubu8q7aWDa6-0-fba099990e150aff8e9fccf6cdb9d37e)
图2-3 原始图像与转变后的图像对比(向上翻转与向左翻转)