Keras,自定义图像数据集,二进制结果,百分比为

时间:2017-09-27 10:16:57

标签: machine-learning tensorflow keras

我有两大组图片。每张图片都附有一个百分比。我有一个模型训练有那些返回二进制结果的图像,0或1.我想返回机器对0或1的确定程度的百分比。

为了举个例子,我们假设它们是Cat图像。我还有一个百分比关于“猫”的大小。是(100%非常大,0%非常小)。我希望模特告诉我"这是一只78%大的猫#34;

我当前的数据集基于两个文件夹(大型猫科动物和小型猫科动物)。第一个数字是图像的编号(例如,1到1000)。第二个数字是猫的大小百分比:

../big_cats
    cat1_78.png
    cat2_97.png
    cat3_67.png
    ...
../small_cats
    cat1_12.png
    cat2_9.png
    cat3_24.png
    ...

所以现在我没有使用百分比,我要么得到0或1(大或小),但我的目标是模型用它来告诉我"这是一个67%的大猫#34;其中50%是中型猫,100%是最大的猫,0%是最小的猫。

我尝试过使用softmaxcategorical_cassentropy,但这只是说明了猫大或小的二元决策的准确性(如果我理解正确的话)。

我的问题是:如何准备数据集以获得该结果?如何创建数据序列和验证以在图像名称中读取此百分比?我可以遵循任何教程吗?我需要使用Keras + Tensorflow

1 个答案:

答案 0 :(得分:2)

您应该为输出预测图层设置密集(1)或(2)和 softmax ,因为您想知道图片是猫还是猫(两个类)。这意味着您需要将标签重新整形为(num_pic,2),其中第一列用于指示图片是否为猫,第二列用于指示图片是否为猫;或(num_pic,1)只是表明它是否是猫。

这样,两个(或一个)输出神经元中的每一个都是0到1之间的数字,可以用作概率。