我已经创建了一个tensorflow 度量,如下所示:
def AttackAcc(y_true, y_pred):
r = tf.random.uniform(shape=(), minval=0, maxval=11, dtype=tf.int32)
if tf.math.greater(r,tf.constant(5) ):
return tf.math.equal( tf.constant(0.6) , tf.constant(0.2) )
else:
return tf.math.equal( tf.constant(0.6) , tf.constant(0.6) )
将指标添加到model.compile
,如下所示:
metrics=[AttackAcc]
这应该在一半时间返回0,在另一半时间返回1。所以在训练我的模型时,我应该看到这个度量的值大约为0.5。但是它总是0。
你知道为什么吗?
1条答案
按热度按时间hs1ihplo1#
看起来您正在比较两个常量,它们总是不相等。请尝试BinaryAccuracy并使用您的输入变量更新状态。