我试过改keras to tensorflow.keras,换过tensorflow版本都不行
每个情况都不同
我的情况是 model建立的时候命名和做loss计算的时候要保持一致
这是model最后输出层
out_class = TimeDistributed(Dense(nb_classes, activation='softmax', kernel_initializer='zero'),
name='dense_class_branch2_{}'.format(nb_classes))(out)
# note: no regression target for bg class
out_regr = TimeDistributed(Dense(4 * (nb_classes - 1), activation='linear', kernel_initializer='zero'),
name='dense_regress_branch2_{}'.format(nb_classes))(out)
return [out_class, out_regr]
compile的时候
model_classifier_branch2.compile(optimizer=optimizer_classifier, loss=[losses.class_loss_cls, losses.class_loss_regr(len(actions_count)-1)], metrics={'dense_class_branch2_{}'.format(len(actions_count)): 'accuracy'})
metrics 里面的名字和最后一层名字应该一样 都是dense_class_branch2_(len(actions_count)