对于大多数数据集,图像是独立的,并且可以将它们随机地分成train/
和{flow_from_directory()
一起使用。然而,对于我的申请,情况并非如此。例如,假设我想对人们是微笑还是皱眉进行分类。我招募了10名志愿者,拍摄了100张每个志愿者微笑和皱眉的照片,而不是使用网上随机发现的数千张照片。在我的最终应用程序中,我想对新用户是微笑还是皱眉进行分类。对于一个公平的测试,我必须确保在我的测试集中没有用户的图像出现在训练集中(否则我的分类器可能会发现特定于该用户的特性,这是我不想要的),所以我将一个用户排除在外,并在其他九个用户上训练我的模型。我的目录结构如下:
user1/
smile/
100 images
frown/
100 images
...
user10/
smile/
100 images
frown/
100 images
有什么方法可以将Keras user1/
作为test/
目录,user2/
到{train/
目录?在
注意:我的问题不是this question的重复,因为这涉及到在多个目录中并行馈送以用于单个培训示例。我的问题类似于this,但是这个问题写得太差了,我不确定用户是否在问我同样的问题。在
@TimD1我相信如果你稍微改变一下你的目录结构,如下图所示,你可以在keras中使用flow_from_directory。在
一旦有了这个目录结构,就可以使用下面的代码,并根据应用程序的需要更改详细信息。重要的是目录的路径,以及是否要创建验证集。在
^{pr2}$在这一点之后,使用
fit_generator
来训练,predict_generator
来测试。如果您选择为test_set
将shuffle
设置为True,则需要在预测测试标签之前执行test_set.reset()
相关问题 更多 >
编程相关推荐