python - TypeError:“NoneType”对象在我的 tensorflow 自定义训练循环中不可迭代
问题描述
我已经制作了自定义训练循环,当我训练我的模型 8 个 epoch 时,我得到了错误。
TypeError:“NoneType”对象不可迭代
带有错误日志的完整输出:
Epoch 000: Loss: 0.262, Accuracy: 91.380%
Epoch 001: Loss: 0.234, Accuracy: 91.320%
Epoch 002: Loss: 0.227, Accuracy: 92.120%
Epoch 003: Loss: 0.237, Accuracy: 91.820%
Epoch 004: Loss: 0.232, Accuracy: 92.400%
Epoch 005: Loss: 0.192, Accuracy: 93.780%
Epoch 006: Loss: 0.211, Accuracy: 93.280%
Epoch 007: Loss: 0.195, Accuracy: 94.100%
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-45-e6c924f8c071> in <module>()
6 optimizer_obj,
7 loss_obj,
----> 8 grad)
TypeError: 'NoneType' object is not iterable
ps:代码很大,请看这里。
解决方案
您不会在train_resnet
函数中返回任何内容,但您正试图从中获取一些值:
train_loss_results, train_accuracy_results = train_resnet(resnet_model,
8,
train_dataset,
optimizer_obj,
loss_obj,
grad)
只需return train_loss_results, train_loss_accuracy
在末尾添加train_resnet
推荐阅读
- ios - 创建 TestFlight 内部测试人员组?
- python - 如何访问定义之外的使用变量?
- javascript - 另一个函数的函数包装器
- javascript - res.send 无法正常运行
- html - 如何在 html 输入中有两种类型
- r - 如何从r中的数据框中提取唯一值
- microservices - 如果将来不推荐 RestTemplate,Feign Client 会发生什么
- flutter - 在一个 Bloc 中合并流
- flutter - 容器不会颤抖到屏幕底部?
- spring - Spring Boot HTTP 使用 Kubernetes Ingress 确保安全(HTTPS)