2017-02-13 166 views
2

即时通讯面临的问题是,我需要训练与“主类别”和“子类别”张量流图。Tensorflow python分类训练与子类别

我已经知道如何用“maincategories”完全训练一个图形。

例如,我有3种不同的动物类型:猫,狗和大象。

如果我培养一个图片图表的3种类型,它将返回比分为3种类型,如:

猫0,7

狗0,3

大象0,02

我想寿是培养那些3种类型和子类别为那些类型,例如:

猫:白色,脂肪,...

犬:哈士奇,...

当我现在的形象与该图的分类,我想获得的输出与maincategories和子类别,像这样:

猫:0, 7 - >白:0,3 - >脂肪:0,5

狗:0,2 .....

目前我看到的唯一途径是培养一个图形与maincategories和训练所有主要类别与子类别的单独图形,然后编码如下:

if name=='cat' and score>=0,7: 
    classify again with catgraph and get results 

在这个例子中,catgraph将会被训练成不同的cattypes类别。

然而,这并不是非常优雅,我希望有更好的方法来做到这一点。

我很感谢你给我的任何帮助。

〜喵

回答

0

你可以训练一个图表,两路输出,共享一切,但最后一层(或多达你喜欢的层)。然后你会为每个人记录一个(说)记录,并根据损失的总和进行优化。如果你受到网络学习能力的瓶颈,你可能想要权衡一个损失。

请记住跟踪总结中的两个损失,以便于查看。您可以将损失添加到损失收集中。

0

你必须单独训练子类别。将--image_dir指向您的子类别的根。注意:这里所指的子类别是子文件夹。然后像使用主类别那样得到每个子类别的输出。我希望这会流露出一些光芒。您可以参考Tensorflow image retraining