我有两大组图片。每张图片都附有一个百分比。我有一个模型训练有那些返回二进制结果的图像,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%是最小的猫。
我尝试过使用softmax
和categorical_cassentropy
,但这只是说明了猫大或小的二元决策的准确性(如果我理解正确的话)。
我的问题是:如何准备数据集以获得该结果?如何创建数据序列和验证以在图像名称中读取此百分比?我可以遵循任何教程吗?我需要使用Keras + Tensorflow
。
答案 0 :(得分:2)
您应该为输出预测图层设置密集(1)或(2)和 softmax ,因为您想知道图片是猫还是猫(两个类)。这意味着您需要将标签重新整形为(num_pic,2),其中第一列用于指示图片是否为猫,第二列用于指示图片是否为猫;或(num_pic,1)只是表明它是否是猫。
这样,两个(或一个)输出神经元中的每一个都是0到1之间的数字,可以用作概率。