Другая работа вокруг этого "TypeError: Не удается перебрать скалярный тензор" для matplotlib? - PullRequest
1 голос
/ 27 марта 2019

Ошибка типа: невозможно перебрать скалярный тензор.

Два тензорных скаляра вводятся для plt.bar () для значений (x, y). (Преобразование байесовских хакеров CamDavidsonPilon в тензор потока 2.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).

Есть ли еще какая-нибудь работа в тензорном потоке 2.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);

Проблемная строка - та, у которой (тау - 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 голосов
/ 27 марта 2019

x.numpy (), y.numpy () преобразует 'x' и 'y' в массивы numpy

0 голосов
/ 27 марта 2019

Существуют различные типы Tensors в TensorFlow.Например, SparseTensor - это не объект массива, но вы можете преобразовать в.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...