Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在tf.keras.metrics.top\u k\u分类精度中向精度函数添加过滤条件_Python_Tensorflow_Keras_Metrics_Tf.keras - Fatal编程技术网

Python 如何在tf.keras.metrics.top\u k\u分类精度中向精度函数添加过滤条件

Python 如何在tf.keras.metrics.top\u k\u分类精度中向精度函数添加过滤条件,python,tensorflow,keras,metrics,tf.keras,Python,Tensorflow,Keras,Metrics,Tf.keras,我使用keras获得我的模型的top-k精度。但我希望在精度>=0.7时获得top-k精度 我正在使用以下功能: def top_5_accuracy(y_true, y_pred): return top_k_categorical_accuracy(y_true, y_pred, k=5) 输出: 72210/72210 [==============================] - 112s 2ms/step - loss: 0.0203 - top_5_accuracy:

我使用keras获得我的模型的top-k精度。但我希望在精度>=0.7时获得top-k精度

我正在使用以下功能:

def top_5_accuracy(y_true, y_pred):
    return top_k_categorical_accuracy(y_true, y_pred, k=5)
输出:

72210/72210 [==============================] - 112s 2ms/step - loss: 0.0203 - top_5_accuracy: 0.5712 - val_loss: 0.0162 - val_top_5_accuracy: 0.7683
Epoch 2/20
72210/72210 [==============================] - 110s 2ms/step - loss: 0.0114 - top_5_accuracy: 0.7217 - val_loss: 0.0162 - val_top_5_accuracy: 0.7789
Epoch 3/20
72210/72210 [==============================] - 111s 2ms/step - loss: 0.0096 - top_5_accuracy: 0.7826 - val_loss: 0.0188 - val_top_5_accuracy: 0.7686
Epoch 4/20
72210/72210 [==============================] - 113s 2ms/step - loss: 0.0087 - top_5_accuracy: 0.8185 - val_loss: 0.0220 - val_top_5_accuracy: 0.7465
Epoch 5/20
72210/72210 [==============================] - 107s 1ms/step - loss: 0.0080 - top_5_accuracy: 0.8428 - val_loss: 0.0257 - val_top_5_accuracy: 0.7094
Epoch 6/20
72210/72210 [==============================] - 114s 2ms/step - loss: 0.0075 - top_5_accuracy: 0.8603 - val_loss: 0.0354 - val_top_5_accuracy: 0.6726
80234/80234 [==============================] - 21s 265us/step
但是,当精度>=0.7时,我不知道如何更改以获得top-k精度 如果有人有任何想法,那将是一个巨大的帮助


非常感谢。

更改精度功能。首先计算精度(或任何度量),如果精度大于0.7,则返回top-k,否则返回其他值。我很确定编译时定义的度量不是tf或keras用来优化训练的,所以它只是为了显示。