Как использовать plt.hist () для построения гистограммы из 1-D тензора, не включая активное выполнение? - PullRequest
0 голосов
/ 17 марта 2019

Что я хочу сделать, это написать функцию, которая может преобразовать одномерный тензор в массив Numpy и построить из него гистограмму, используя plt.hist ().

До сих пор я пытался сделать это:

import numpy as np
import tensorflow as tf

sess = tf.Session()
one_dimensional_tensor = tf.constant([1, 2., 3., 4., 5.], dtype = np.float64)
one_dimensional_tensor_placeholder = tf.placeholder(dtype = np.float64, shape = sess.run(tf.shape(one_dimensional_tensor)))
n = plt.hist(one_dimensional_tensor_placeholder, bins = 'auto')[0]
bins = plt.hist(one_dimensional_tensor_placeholder, bins = 'auto')[1]
sess.run(n, feed_dict = {one_dimensional_tensor_placeholder: one_dimensional_tensor})

Вышеуказанное, как ясно видно, даст ошибку, говорящую о том, что заполнителю нельзя передать значение с использованием тензора, поскольку one_dimensional_tensor является тензором.

Изначально я не знаю значение one_dimensional_tensor, это промежуточный вывод некоторых предыдущих вычислений, поэтому я не могу сделать это:

n = plt.hist([1., 2., 3., 4., 5.], bins = 'auto')[0]

Я не хочу использовать tf.histogram_fixed_width () , так как он использует только одну технику биннинга, в которой ширина бина фиксирована в отличие от plt.hist () , которая предоставляет множество техники биннинга.
Есть ли способ сделать это без включения нетерпеливого выполнения?

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