为什么 keras.applications 只支持权重初始化的 softmax 和随机初始化

问题描述

我将 keras.applications.Xception 用于多标签分类任务。 我试图通过设置classifier_activation='sigmoid' 并使用二进制焦点损失设置损失函数来做到这一点。 对于初始训练,我将 weights=None 设置为随机统一权重初始化,但我想在会话之间保存并恢复训练。

问题是,当尝试使用 weights='best_weights.hdf5' 恢复训练时,出现错误 (https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/keras/applications/imagenet_utils.py#L430) Only None and softmax activations are allowed for the classifier_activation argument when using pretrained weights,with include_top=True。所以,我刚刚在第 427 行添加activations.get('softmax'),问题似乎已经解决了。

  1. 忽略错误信息会有什么后果吗?
  2. 我收到错误是因为它们不打算用于多标签分类任务吗?或者它们仍然可以用于任务吗? (我对 Xception 进行了近 40 个 epoch 的训练,目前看起来不错。)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)