我正在制作一个简单的图像多标签多类图像分类。在此图像中分为 6 个类,每个类分为 3 个子类别 (1、2、3(。 我用sigmoid激活制作了一个简单的模型,并使用了二进制cross_entropy。 这是我的代码:
model.add(Dense(64, activation='relu'))
model.add(Dense(4, activation='sigmoid'))
return model
model.compile(optimizers.rmsprop(lr=0.003, decay=1e-6),loss="binary_crossentropy",metrics=["accuracy"])
我应该使用softmax将结果分为 3 个子类别,但我不知道应该如何使用它。
将您的问题分解为多个任务,并为每个任务创建一个模型并将其整合在一起。
如果您有多标签任务,请在最后一层使用Sigmoid激活,并在遇到多分类问题时使用SoftMax 激活。
要将多个模型组合在一起,您可以使用 tf.cond 或 tf.where 根据第一个基本模型的预测使用特定模型。