修改Keras中的metrics=accuracy

我在训练一个包含人类年龄的数据集,当我运行模型的compile函数时,设置了metrics=’accuracy’,但我不希望它计算精确的准确率,而是希望它查找某个年龄范围,并计算如果正确识别出该年龄范围的准确率。我想知道如何实现这一点。我能简单地编辑compile函数吗?谢谢

编辑:我开始使用的代码是 https://github.com/yu4u/age-gender-estimation

我试图做的是提取年龄,检查它是否在某个范围内,比如20到30岁,然后根据程序是否正确识别出20到30岁来确定准确率,而不是检查程序是否能识别出确切的年龄。我认为最简单的方法是在train.py文件的71-72行中看到的model.compile函数中添加一个新的度量标准

model.compile(optimizer=sgd, loss=["categorical_crossentropy", "categorical_crossentropy"],          metrics=['accuracy'])

我遇到的问题是我不确定如何从这个文件中检查实际年龄以将其插入到自定义度量标准中,甚至创建一个回调函数

从这里开始,我假设我需要编辑plot_history.py文件来实际绘制准确率。

如果有人有任何建议,将会是巨大的帮助

再次感谢


回答:

您可以编写自己的度量标准。然而,您必须使用Keras的后端函数,因为如果您使用TensorFlow,例如,这将被放入您的图形中,因此您的度量标准必须处理张量而不是NumPy数组。

您的第二个选择是编写一个自定义回调,它将在每个epoch结束时自动打印您的度量标准。在这里,您使用模型在验证数据集上进行预测,然后简单地使用NumPy数组作为输入来计算度量标准。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注