python - 为什么我的 AI 模型在测试时不能正确显示概率?
问题描述
我正在尝试在 Colab 中训练一个可以识别两种不同类型的人行横道信号的 AI 模型。经过训练,我选择了最好的模型:
Evaluation samples: 98
Using IoU: 0.5
Using Object Threshold: 0.3
Using Non-Maximum Suppression: 0.5
Don't Walk: 0.9936
Walk: 0.8873
mAP: 0.9405
但是,当我在图像和视频上测试 AI 模型时,它很少能正确识别“不行走”信号和“行走”信号;当它这样做时,尽管视频清晰且 mAP 分数很高,但置信度非常低(通常约为 10%)。事实上,即使 99% 的时间都正确识别了“请勿行走”信号,但在我尝试过的图像中根本没有检测到它们,在视频中也很少检测到。在视频中,错误识别的框(尽管置信度低)比正确识别的框多 10 到 15 倍。即使对于正确识别的框,置信度也非常低,对于具有 94% mAP 分数的模型来说,这似乎根本不正常。这让我很困惑,我问了一些我在人工智能领域认识的人,但他们也不知道该怎么做。所以我'
奇怪的是,虽然它不适用于视频,但该模型适用于某些图像,但仅适用于 Walk 信号,而不适用于 Don't Walk 信号的图像。每当我在模型中运行 Don't Walk 图像时,我都会在 Colab 中收到此图像,而不是对检测到的对象进行置信度测量:
/usr/local/lib/python3.7/dist-packages/tensorflow/python/data/ops/dataset_ops.py:3504: UserWarning: Even though the tf.config.experimental_run_functions_eagerly option is set, this option does not apply to tf.data functions. tf.data functions are still traced and executed as graphs.
"Even though the tf.config.experimental_run_functions_eagerly "
/content/drive/.shortcut-targets-by-id/1DKQ2joF9lCJj3L1Ho0pe7Fe9hcgy8tzw/ImageAI-master/imageai/Detection/Custom/__init__.py:1248: RuntimeWarning: overflow encountered in exp
return 1. / (1. + np.exp(-x))
我什至尝试重新输入一些我用来训练模型的图像;Walk 图像被正确识别,但 Don't Walk 图像根本没有被识别为任何东西。这让我更加疑惑了。(另外,如果我犯了一个我没有发现的愚蠢错误,我深表歉意;这是我第一次使用 AI。)
知道错误是什么意思吗?以及确保检测到的对象的置信度更高的任何建议,因为它应该是具有它所具有的精度的模型?
谢谢!
解决方案
推荐阅读
- python - 你如何在 Django 中使用下载的模板
- wordpress - 如何确保子主题 functions.php 正在运行
- rest - 如果用户想要对其个人资料和个人资料图片执行操作,客户端是否应该为 API 发送两个不同的 HTTP 请求
- excel - 在两个 Excel 实例之间复制值得到运行时错误 9
- java - 如何在 RecyclerView 中获取单击项目的位置
- terraform-provider-azure - 如何使用 Terraform 启用 Application Insights?
- python - Python Selenium:日期选择器选择日期
- python - 检查列表中的重复项时循环中断?
- excel - 如何在 OneDrive 和 applications.com.Excel 之间自动移动文件
- java - 当类中有hashMap时如何使用Gson从json文件中读取对象