关于matplotlib的“ TypeError:无法迭​​代标量张量”的另一种解决方法?

时间:2019-03-27 03:02:06

标签: python-3.x tensorflow2.0

TypeError:无法遍历标量张量。

为(x,y)值的plt.bar()输入两个张量标量。 (将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);

2 个答案:

答案 0 :(得分:0)

TensorFlow中有 rsync -avz + source + dest ===>>>> rsync -avz /John/ServerA/* /John/ServerB/ 种类型。例如,Tensors不是一个numpy数组对象,但是您可以将其转换为。

答案 1 :(得分:0)

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