python-3.x - 另一个解决 matplotlib 的 "TypeError: Cannot iterate over a scalar tensor"问题?

标签 python-3.x tensorflow2.0

类型错误:无法迭代标量张量。

plt.bar() 为 (x, y) 值输入了两个张量标量。
(将 CamDavidsonPilon Bayesian-Hackers 转换为 tensorflow2.0)

这是专门针对
“def plot_artificial_sms_dataset():”函数。我在上面的代码块中尝试过,如果我将张量转换为 int32,它就可以工作。不知道为什么解决方案是可变的

链接:https://github.com/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers/blob/master/Chapter2_MorePyMC/Ch2_MorePyMC_TFP.ipynb

我发现的解决方法是将两者都转换为 np.array() 格式。
即 np.array(x), np.array(y)。

在 tensorflow2.0 中还有其他解决方法吗?还有另一个明显的解决方案吗?

plt.bar(days_range, data, color=TFColor[3])
plt.bar(tau - 1, data[tau - 1], color="r", label="user behaviour changed")
plt.xlim(0, 80);

问题线是带有 (tau - 1) 的那一行。不知道为什么另一个也在使用张量时不会中断。

我的解决方案:
    plt.bar(days_range, data, color=TFColor[3])
    plt.bar(np.array(tau - 1), np.array(data[tau - 1]), color="r", label="user behaviour changed")
    plt.xlim(0, 80);

最佳答案

x.numpy(), y.numpy() 将 'x' 和 'y' 转换为 numpy 数组

关于python-3.x - 另一个解决 matplotlib 的 "TypeError: Cannot iterate over a scalar tensor"问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55369147/

相关文章:

tensorflow - 如何在 TF 2.0/1.14.0-eager 和自定义训练循环(梯度磁带)中执行分布式训练的梯度累积?

python - 使用 Tensorflow 概率进行分位数回归

python - 如何访问 numpy 默认全局随机数生成器

python-3.x - 如何预处理数据并将其输入keras模型?

python - 从生成器创建一个 Pandas 数据框?

python - 根据单独列中的值替换列的值

tensorflow - Keras 中的自定义损失函数应该返回批处理的单个损失值还是训练批处理中每个样本的一系列损失?

Tensorflow 对象检测 : Continue training

database - 如何使用 Python 通过 SSH 连接到 Sqlite3 数据库?

具有多个输入的Tensorflow 2.0自定义损失功能