我们知道图片数据是一个三维数组,每个像素点有RGB三个值,图片源文件是将这个三维数组按一定形式编码然后存储的。
所以TensorFlow读取图片的步骤是:先直接按字节将图片源文件读取出,然后decode解码成三维张量(数组),张量再转换成ndarray,然后就可以显示图像了。
其中读取图片的原始信息的函数有两个:
tf.gfile.FastGFile(‘test.jpg’, ‘rb’).read()
tf.read_file(‘test.jpg’)
下面是具体代码:
1 | import tensorflow as tf |
同时 TensorFlow 还可以以队列的形式一下读取很多图片,然后供机器学习来训练。
还可以使用dataset构建数据集,操作和训练都更为方便。