【发布时间】:2017-08-21 15:16:46
【问题描述】:
我想对不同的图片进行分类,例如猫和狗。为此,我想训练一个通用网络“A”,它只对输入是猫还是狗进行分类。之后,每个一般类别的专门子网络应预测狗或猫的种族。
我知道 keras 的功能 api 以及如何将输出传递到另一层或网络,但我的问题是我如何将输出仅传递到一个专门的网络,以便在我预测通用类之后唯一的网络将使用的是对应的特殊网络。
所以我想在 keras 中构建类似的东西:
x = Input(shape(100,))
network_a_out = NetworkA(100)(x)
if(network_a_out == classCat)
out = NetworkCat(100)(x) # predict special race of cat
else:
out = NetworkDog(100)(x) # predict special race of dog
在不使用多个 if/else 语句的情况下,有没有更好的方法在 keras 中解决这个问题?
【问题讨论】:
-
你之前已经问过同样的问题:stackoverflow.com/questions/45736869/…请不要那样做。
-
我现在删除了旧问题,希望这个更容易理解
-
该代码行不通,而且,您为什么要将所有这些都放在一个网络中。使用三个独立的网络会更好,这样你的特征层就会在二级网络中获得新的权重,重点关注动物品种与动物类型
-
您找到解决方案了吗?对于不同的上下文,我需要类似的东西。
标签: python neural-network keras