3

TypeError:无法迭​​代标量张量。

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);
4

2 回答 2

1

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

于 2019-03-27T04:14:15.643 回答
0

TensorFlow中有多种类型Tensors。例如,SparseTensor不是 numpy 数组对象,但您可以转换为。

于 2019-03-27T03:15:57.780 回答