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

时间:2021-04-03 15:33:14

标签: tensorflow keras softmax sigmoid imagenet

我将 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 的训练,目前看起来不错。)

0 个答案:

没有答案