如何准备图像数据集来训练和测试张量流

时间:2017-06-28 17:12:52

标签: python tensorflow windows-10

我正在使用Windows 10专业版,Visual Studio 10,Python 3.6.2rc1和Tensorflow。我正在尝试构建一个卷积神经网络(CNN),用Tensorflow对水果图像进行分类。我只有两种水果,菠萝和香蕉。我使用python不到一周,这是我第一次体验。

我制作了2个文件夹,一个用于训练具有jpg格式的相同尺寸图像的图像,另一个用于具有jpg格式的测试图像。我还有两个txt用于培训,一个用于测试。例如,我的训练集中的数据是这样的:

image001 banana

image002 pineapple

我不知道如何将这些数据提供给示例网络。我使用了

中的确切网络

https://github.com/tensorflow/tensorflow/blob/r1.2/tensorflow/examples/tutorials/layers/cnn_mnist.py

并阅读tensorflow上的教程,以便在以下位置读取数据和上述代码的说明:

https://www.tensorflow.org/tutorials/layers

我最大的问题是我不明白MNIST是如何进入这个网络的,并且无法通过使用programmers_guide / reading_data中tensorflow网站上的内容来解决这个问题。

如果您能够就如何将这两个文件夹和两个文本文件的图像输入上述网络需要做些什么,我真的很感激。另外,因为我对python很新,所以我还不熟悉它,知道我必须导入这样做。非常感谢你提前。

1 个答案:

答案 0 :(得分:0)

这些是输入MNIST数据的行:

# Load training and eval data
mnist = learn.datasets.load_dataset("mnist")
train_data = mnist.train.images  # Returns np.array
train_labels = np.asarray(mnist.train.labels, dtype=np.int32)
eval_data = mnist.test.images  # Returns np.array
eval_labels = np.asarray(mnist.test.labels, dtype=np.int32)

learn.datasets.load_dataset是一个便利函数,它将MNIST数据加载到必要的变量中,然后用于训练:

mnist_classifier.fit(
  x=train_data,
  y=train_labels,
  batch_size=100,
  steps=20000,
  monitors=[logging_hook])

您必须调整第一个代码块以将图片加载到train_data,并将相应的标签加载到train_labels

只是一个建议:开始使用Keras作为Tensorflow之上的高级API。它(在我看来)更容易,更灵活。

来自Keras制造商的这篇教程对您来说可能是一个非常好的起点:https://blog.keras.io/building-powerful-image-classification-models-using-very-little-data.html

这完全是关于两类图像的分类(猫与狗)。