小编Dan*_*pez的帖子

Keras 2.3.0 度量准确度、精确度和召回率的相同值

我正在尝试获取准确度、准确度和召回率的 keras 指标,但它们三个都显示相同的值,这实际上是准确度。

我正在使用 TensorFlow 文档示例中提供的指标列表:

metrics = [keras.metrics.TruePositives(name='tp'),
           keras.metrics.FalsePositives(name='fp'),
           keras.metrics.TrueNegatives(name='tn'),
           keras.metrics.FalseNegatives(name='fn'),
           keras.metrics.BinaryAccuracy(name='accuracy'),
           keras.metrics.Precision(name='precision'),
           keras.metrics.Recall(name='recall'),
           keras.metrics.AUC(name='auc')]
Run Code Online (Sandbox Code Playgroud)

模型是用于图像分类的非常基本的 CNN:

model = Sequential()

model.add(Convolution2D(32, 
                      (7, 7), 
                      padding ="same", 
                      input_shape=(255, 255, 3), 
                      activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))

model.add(Convolution2D(64, 
                      (3, 3), 
                      padding ="same"))
model.add(MaxPooling2D(pool_size=(2, 2)))

model.add(Flatten())
model.add(Dense(256, 
              activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(n_classes, 
              activation='softmax'))
Run Code Online (Sandbox Code Playgroud)

使用上面显示的指标列表进行编译:

model.compile(loss=loss,
            optimizer=optimizer,
            metrics=metrics)
Run Code Online (Sandbox Code Playgroud)

这是我在训练时一直看到的问题的一个例子:

Epoch 1/15
160/160 [==============================] - 6s 37ms/step - loss: 0.6402 - tp: 215.0000 - fp: 105.0000 - tn: 215.0000 - fn: 105.0000 - accuracy: 0.6719 - precision: 0.6719 - recall: …
Run Code Online (Sandbox Code Playgroud)

python metrics precision-recall keras tensorflow

5
推荐指数
1
解决办法
1978
查看次数

标签 统计

keras ×1

metrics ×1

precision-recall ×1

python ×1

tensorflow ×1