python - Keras 服装回调。生成精确召回时,_flow_index 出现错误
问题描述
我正在使用 Keras 训练二进制分类器。我想在每个 epoch 之后生成precision_score 和recall_score,以便更深入地分析训练。在互联网上,我找到了教程/帮助,例如:
我发现在自定义回调中访问验证数据对我来说效果最好,因为我使用的是 Keras fit_generator。它设法在每个 epoch 后计算精度和召回率。但是,我认为在创建自定义回调时我做错了。我收到以下错误消息:
File "...\envs\keras\lib\site-packages\keras\preprocessing\image.py", line 845, in _flow_index
current_index = (self.batch_index * self.batch_size) % self.n
ZeroDivisionError: integer division or modulo by zero
我最好的猜测是自定义回调错误地从 Keras 继承。
有人遇到过这个问题吗?或者有谁知道我错过了什么?
更新
我想我现在明白了这个错误。在 Keras image.py current_index除以self.n。在名为 Iterator 的类中(在 Keras 中),n定义为
n:整数,数据集中要循环的样本总数。
换句话说,我的理解是网络不能被输入零样本。我意识到我的测试集是空的(0 个样本),因此出现了错误消息。
更正后(用数据输入测试集)代码运行良好:)
解决方案
推荐阅读
- c - 编译多个共享代码的内核模块
- c - 将变量值分配给动态 c 数组
- jmeter - 如何从 Jmeter 脚本的浏览器扩展中获取 OTP
- .net - 创建新 Azure 管道的配置步骤为空白
- sql - PostgreSQL“无效的正则表达式:无效的转义\序列”使用Regex约束时
- lua - 从具有最低整数值的表中提取几个键
- azure - 在 API 版本 2018-01-01-Azure Powershell 的命名空间 Microsoft.storage 中找不到资源类型
- php - 如何使用 OTP(一次性密码)登录/注册 Opencart
- reactjs - 在 react CSR 页面上使用 react-helmet 生成 2 组元标记
- dart - 如何将列表转换为飞镖中的地图?