gpt4 book ai didi

python - 如何改成sigmoid来学习多标签分类

转载 作者:行者123 更新时间:2023-11-30 08:57:06 25 4
gpt4 key购买 nike

我正在尝试使用'inception resnet v2.py'进行多标签分类。

我用了sigmoid,但结果不好。

您确切知道要更改哪里吗?

https://github.com/tensorflow/models/tree/master/research/slim

“train_image_classifier.py”已更改为 sigmoid,但结果与使用 softmax 一样好。

我是否必须从“net”文件夹中的“inception resnet v2.py”更改它?

  if 'AuxLogits' in end_points:
slim.losses.sigmoid_cross_entropy(
end_points['AuxLogits'], labels,
label_smoothing=FLAGS.label_smoothing, weights=0.4,
scope='aux_loss')
slim.losses.sigmoid_cross_entropy(
logits, labels, label_smoothing=FLAGS.label_smoothing, weights=1.0)
return end_points

如果放入红色和四轮驱动汽车图像,如果它像这样出来就好了,但事实并非如此。

Car [0.99]
4 wheel drive [0.99]
color red [0.99]

实际上,每个人都猜对了,但结果就像使用了softmax。

Car [0.99]
4 wheel drive [0.03]
color red [0.009]

最佳答案

根据“多标签”的类型,有一些可能的选择。

如果“多标签”的可能重叠部分是不同的相互独立的标签集(颜色、形状等)的组合,那么分别为这些集创建 softmax 输出层会很好。

如果不幸的是标签无法划分,那么您可能需要检查并更改损失函数:对于softmax,它通常是交叉熵,这对于sigmoid来说效果不佳。

关于python - 如何改成sigmoid来学习多标签分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56015329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com