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

Tensorflow 为什么keras.applications中仅支持权重初始化的softmax和随机初始化,tensorflow,keras,softmax,sigmoid,imagenet,Tensorflow,Keras,Softmax,Sigmoid,Imagenet,我正在使用keras.applications.exception执行多标签分类任务。 我试图通过设置分类器_activation='sigmoid'和使用二进制焦点损耗函数设置损耗函数来实现这一点。 对于初始训练,我为随机均匀权重初始化设置了weights=None,但我希望在两次训练之间保存并恢复训练 问题是,当尝试使用weights='best_weights.hdf5'恢复训练时,我遇到了一个错误() 当使用预训练权重时,分类器激活参数仅允许None和softmax激活,include_

我正在使用keras.applications.exception执行多标签分类任务。 我试图通过设置分类器_activation='sigmoid'和使用二进制焦点损耗函数设置损耗函数来实现这一点。 对于初始训练,我为随机均匀权重初始化设置了weights=None,但我希望在两次训练之间保存并恢复训练

问题是,当尝试使用weights='best_weights.hdf5'恢复训练时,我遇到了一个错误()
当使用预训练权重时,分类器激活参数仅允许None和softmax激活,include_top=True
。所以,我刚刚在第427行添加了
activations.get('softmax')
,问题似乎已经解决了

  • 忽略错误消息会有任何后果吗
  • 我收到错误是因为它们不用于多标签分类任务吗?或者它们是否也可用于任务?(我训练了将近40个时代的Exception,到目前为止看起来还不错。)

  • 您从错误消息中读取的内容太多,如果您设置了权重,它应该是一个类似“imagenet”的字符串,而不是您自己权重的路径。您只需实例化模型并调用load_weights即可从文件加载权重。完全有道理,我被
    权重弄糊涂了:其中一个(随机初始化)、“imagenet”(imagenet上的预训练)或要加载的权重文件的路径。
    。“权重文件路径”也是为ImageNet培训的,我猜。我不知道load_权重的存在,使用该方法而不是编辑库代码肯定是正确的。谢谢