【问题标题】:Altering keras metrics=accuracy改变 keras 指标=准确性
【发布时间】:2018-03-19 07:56:03
【问题描述】:

我正在训练一个具有人类年龄的数据集,当我运行模型的 compile metrics='accuracy' 时,我不希望它计算确切的准确度,而只是寻找某个年龄范围并计算准确度正确识别年龄范围。我想知道我怎么能做到这一点。我可以简单地编辑编译功能吗? 谢谢

编辑:所以我开始的是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 文件才能实际绘制精度。

如果有人有任何想法,那将是一个巨大的帮助

再次感谢您

【问题讨论】:

    标签: python-3.x machine-learning keras


    【解决方案1】:

    您可以编写自己的metric。但是,您必须使用 keras 后端函数,因为例如,如果您使用 tensorflow,这将被放入您的图表中,因此您的指标必须处理张量而不是 numpy 数组。

    您的第二个选择是编写custom callback,它将在时期结束时自动打印您的指标。在这里,您使用模型对验证数据集进行预测,然后使用 numpy 数组作为输入简单地计算指标。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-27
      • 2018-08-23
      • 2016-04-12
      • 2019-08-21
      • 2020-11-13
      • 1970-01-01
      • 1970-01-01
      • 2017-12-03
      相关资源
      最近更新 更多