我用TensorFlow做了一个神经网络。我现在想导入我自己的图像作为数据集,在这些图像上训练神经网络。在
为此,我首先得到一个文件名及其相应标签的列表。我使用以下代码执行此操作:
locations = {"chimpanzee":["G:\Profielwerkstuk\chimpanzee"],
"gorilla":["G:\Profielwerkstuk\gorilla"],
"howler monkey":["G:\Profielwerkstuk\howler_monkey"]}
files = []
labels = []
numberlabel = []
for label, folders in locations.items():
numberlabel.append(label)
filesperlabel = []
for folder in folders:
filesperlabel.extend([join(folder, f) for f in listdir(folder) if isfile(join(folder, f))])
print(len(filesperlabel))
files.extend(filesperlabel)
labels.extend([len(numberlabel) - 1] * len(filesperlabel))
locations
这是一个以标签为键,文件夹为值的字典。在
这很好:我得到一个文件位置的列表,一个标签列表,以及一个在monkey类型中转换输出神经元编号的列表。在
然后我试着从这个数据集中创建一个TensorFlow数据集。我首先转换TensorFlow常量中的文件名和标签名列表:
^{pr2}$我首先尝试了datasets#decoding_image_data_and_resizing_it" rel="nofollow noreferrer">Tensorflow website上的代码。但是,我得到的错误是图像没有形状解码后。如何正确导入图像?在
此外,在生成一个数据集之后,我希望成批地循环使用它。MNIST数据集包含一个非常方便的函数,但是它是否也可以用于自定义数据集?寻找这些问题并没有给我很多有用的提示。在
对于导入:使用OpenCV导入图像
您将得到一个numpy数组的形状(num_files,height,width,color_channels)
访问第i个图像应该是imgDataset[i]。在
这里的问题可能是,如果数据集太大,以后将在将其输入占位符时遇到问题。批处理整个数据集可能很困难。在
如果您在尺寸方面遇到困难,请查看以下链接: https://stanford.edu/~shervine/blog/keras-how-to-generate-data-on-the-fly.html
这离批处理数据集又近了一步。在
相关问题 更多 >
编程相关推荐