python-3.x - “bool”对象没有属性 'shape'

标签 python-3.x numpy neural-network jupyter-notebook

我正在训练神经网络,我的部分代码返回了以下错误:

def plot_confusion_matrix(truth,
                          predictions,
                          classes,
                          normalize=False,
                          save=False,
                          cmap=plt.cm.Oranges,
                          path="confusion_matrix.png"):

    acc = (np.array(truth) == np.array(predictions))
    size = float(acc.shape[0]) #error
    acc = np.sum(acc.astype("int32")) / size
    (...)




AttributeError: 'bool' object has no attribute 'shape'

函数调用

pred = pred.numpy()
plot_confusion_matrix(truth=labels.numpy(),
                      predictions=pred,
                      save=False,
                      path="logref_confusion_matrix.png",
                      classes=["forward", "left", "right"])

其中 thuth 代表 Y 的标签,预测为预测数组,形状均为 32、3。我检查了 numpy、ipython 等的更新,所有内容都已更新,尝试了一些修改,但没有成功。

最佳答案

acc 是一个 bool 值而不是 bool 值的 numpy 数组的唯一原因是您传递的是真值和预测的奇异值。在您提供的代码中,对于 32x3 的实际数组不会有错误。查看其余代码并确保您实际上将数组传递给 np.array() 而不是奇异值。

关于python-3.x - “bool”对象没有属性 'shape',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50822801/

相关文章:

python - Numpy fromfile 的两种实现?

python - 如何使用 np.fromregex 很好地读取数据?

machine-learning - 我的说话人识别神经网络运行不佳

python - 视频在 opencv 上停止

python - 将二进制 (0|1) numpy 转换为整数或二进制字符串?

python - Tensorflow:更新不可训练模型层的权重

c++ - 具有静态 std::array 的神经网络比使用动态 C 数组的神经网络慢

python - Networkx:替换节点标签

python-3.x - 如何从Colaboratory下载大文件(例如模型的权重)?

python - Discord.py Async 的问题 - 欢迎留言