Tensorflow 在keras模型中使用kohannenkappa损失函数
尝试在keras模型中使用非keras后端函数进行自定义损失计算 我试图让我的keras cnn模型使用自定义损失函数(KAppa分数)。然而,由于kappa并没有在Keras后端定义,所以我需要使用基于scikit学习的kappa实现。与keras后端函数采用张量不同,该sklearn函数采用标签数组作为参数。keras中的损失函数调用主要发送张量Y_pred和Y_true。我使用在网上找到的一些quide执行了下面的实现,但出现了错误Tensorflow 在keras模型中使用kohannenkappa损失函数,tensorflow,keras,scikit-learn,tensor,Tensorflow,Keras,Scikit Learn,Tensor,尝试在keras模型中使用非keras后端函数进行自定义损失计算 我试图让我的keras cnn模型使用自定义损失函数(KAppa分数)。然而,由于kappa并没有在Keras后端定义,所以我需要使用基于scikit学习的kappa实现。与keras后端函数采用张量不同,该sklearn函数采用标签数组作为参数。keras中的损失函数调用主要发送张量Y_pred和Y_true。我使用在网上找到的一些quide执行了下面的实现,但出现了错误 import keras.backend as K de
import keras.backend as K
def cohen_kappa_score_func(y_true, y_pred):
sess = tf.Session()
with sess.as_default():
score = cohen_kappa_score(type(y_true.eval()),type(y_pred.eval()), weights='linear')#idea is to convert the tensor to array
sess.close()
return score
#use this later to compile the keras model with custom loss function as
model.compile(optimizer=optimizers.SGD(lr=0.001, momentum=0.9),
loss=cohen_kappa_score_func,
metrics=['categorical_crossentropy', 'mae','categorical_accuracy'])
这不起作用,我得到以下错误
“InvalidArgumentError(回溯见上文):必须为占位符张量'dense_15_target'提供一个值,其中包含数据类型float和形状[?,?]
[[节点密集的\u 15\u目标”
请给我一些建议来解决这个问题。你解决了这个问题吗?