我们正在使用TensorFlow和Python创建一个自定义的CNN,用于将图像分类到几个类别中的一个。我们的CNN是基于这个教程创建的:https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/tutorials/layers/cnn_mnist.py
我们不希望像教程中使用MNIST数据集那样读取预先存在的数据库,而是希望从多个文件夹中读取所有图像。每个文件夹的名称即为该文件夹中所有图像的标签。不幸的是,我们对Python和TensorFlow还很陌生,能否有人指引我们正确的方向,或者提供一个教程或一些基本代码?
非常感谢!
回答:
可以考虑使用glob
包。它允许你使用模式轻松导入子目录中的多个文件。https://docs.python.org/2/library/glob.html
import globimport matplotlib.pyplot as pltimport numpy as npimages = glob.glob(<file pattern>)img_list = [plt.imread(image) for image in images]img_array = np.stack(tuple(img_list))
我还没有测试过这个代码,所以可能会有错误,但它应该会生成一个3维的numpy图像数组(每张图像是一个2维数组)。这是你所需要的格式吗?