我正在学习使用TensorFlow创建学习模型。
我已经成功运行了MNIST教程,现在我想用我自己的图像来测试模型。这些图像尺寸相同(224×224),并按文件夹分类。
现在我想像MNIST示例中那样使用这些图像作为模型的输入。我尝试打开MNIST数据集,但无法读取。我猜它已经被转换成某种二进制类型。通过示例,我认为MNIST数据集的结构大致如下:
- mnist
-
- test
-
-
- images
-
-
-
- labels
-
-
- train
-
-
- images
-
-
-
- labels
-
我如何从自己的图像文件中创建一个类似于MNIST数据集的数据集?
非常感谢!
回答:
MNIST不是以图像格式存储的。从MNIST网站(http://yann.lecun.com/exdb/mnist/)可以看到,它具有特定的格式,这种格式已经接近于张量或numpy数组,只需最小的调整即可在TensorFlow中使用。它是一种带有数字的矩阵形式。
要处理常规图像(例如.jpg),你需要使用任何Python图像处理库将其转换为np.array。例如,PIL可以使用,如下所示:PIL和numpy
另一种选择是使用TensorFlow内置的函数,直接将你的图像转换为TensorFlow支持的张量,可以查看这里:https://www.tensorflow.org/versions/r0.9/api_docs/python/image.html