Передать пустой список (многомерному) заполнителю тензорного потока - PullRequest
0 голосов
/ 26 апреля 2018

В Python я пытаюсь передать пустой список в многомерный заполнитель тензорного потока с первым измерением None.

import tensorflow as tf

a = [0,1,2]
b = [[4,5,6],
     [7,8,9]]
c = []

# 1-D and 2-D placeholders
p_1D = tf.placeholder(shape=(None),   dtype=tf.float32)
p_2D = tf.placeholder(shape=(None,3), dtype=tf.float32)

with tf.Session() as sess:
    print(sess.run(p_1D, feed_dict={p_1D:a})) # prints [0.,1.,2.]
    print(sess.run(p_2D, feed_dict={p_2D:b})) # prints [[4.,5.,6.],
                                              #         [7.,8.,9.]]
    print(sess.run(p_1D, feed_dict={p_1D:c})) # prints []
    print(sess.run(p_2D, feed_dict={p_2D:c})) # raises ValueError

В частности, возникает ошибка ValueError: Cannot feed value of shape (0,) for Tensor 'Placeholder_3:0', which has shape '(?, 3).

Исходя из этого, я вижу, что пустой список может быть передан заполнителю, если он имеет только 1 измерение (из None), но заполнители более высокого измерения, кажется, не позволяют это.Есть ли способ, позволяющий заполнителям более высокой размерности принимать пустой список в качестве входных данных?

(И да, я знаю, может показаться глупым хотеть ввести пустой список, но это все равно поможет, еслирешение этой проблемы.)

1 Ответ

0 голосов
/ 26 апреля 2018

feed_dict={p_1D: np.zeros(shape=(0,), dtype=np.float32), p_2D: np.zeros(shape=(0, 3), dtype=np.float32)} и т. Д.

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