首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取错误TypeError:无法解压缩不可迭代的浮点对象

获取错误TypeError:无法解压缩不可迭代的浮点对象
EN

Stack Overflow用户
提问于 2021-07-15 18:41:31
回答 1查看 1.2K关注 0票数 0

我想评估我的ML模型,我得到了这个错误:

TypeError:无法解压缩不可迭代的浮点对象

我的代码如下:

代码语言:javascript
复制
# mlp for the blobs multi-class classification problem with cross-entropy loss
from sklearn.datasets import make_blobs
from keras.layers import Dense
from keras.models import Sequential
from keras.optimizers import SGD
from tensorflow.keras.utils import to_categorical
from matplotlib import pyplot

# evaluate the model
_, train_acc = model.evaluate(trainX, trainY, verbose=2)
_, test_acc = model.evaluate(testX, testY, verbose=2)
print('Train: %.3f, Test: %.3f' % (train_acc, test_acc))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-15 19:12:59

很可能您的模型没有精确的度量,而且model.evaluate()只返回损失。您可以检查如下所示的可用指标:

代码语言:javascript
复制
print(model.metrics_names)

而且可能它的输出只是['loss'],并且没有精确的度量,因为您没有在model.compile()上提供它。

因为它只是返回损失,所以您应该像下面这样修改这一行:

代码语言:javascript
复制
train_loss = model.evaluate(trainX, trainY, verbose=2)
test_loss = model.evaluate(testX, testY, verbose=2)

如果您想获得准确性,应该将其添加到您的模型编译中:

代码语言:javascript
复制
model.compile(loss='...',metrics=['accuracy'],optimizer='adam')
.
.
train_loss, train_acc = model.evaluate(trainX, trainY, verbose=2)
test_loss, test_acc = model.evaluate(testX, testY, verbose=2)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68399224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档