Я пытаюсь определить двухмерный placeholder в тензорном потоке, однако я не знаю, размер этого заранее. Поэтому я определяю другое местозаполнитель, но, похоже, он вообще не работает. Вот минимальный пример:Использование placeholder как формы в тензорном потоке
import tensorflow as tf
batchSize = tf.placeholder(tf.int32)
input = tf.placeholder(tf.int32, [batchSize, 5])
Сообщение об ошибке:
Traceback (most recent call last):
File "C:/Users/v-zhaom/OneDrive/testconv/test_placeholder.py", line 5, in <module>
input = tf.placeholder(tf.int32, [batchSize, 5])
File "C:\Python35\lib\site-packages\tensorflow\python\ops\array_ops.py", line 1579, in placeholder
shape = tensor_shape.as_shape(shape)
File "C:\Python35\lib\site-packages\tensorflow\python\framework\tensor_shape.py", line 821, in as_shape
return TensorShape(shape)
File "C:\Python35\lib\site-packages\tensorflow\python\framework\tensor_shape.py", line 457, in __init__
self._dims = [as_dimension(d) for d in dims_iter]
File "C:\Python35\lib\site-packages\tensorflow\python\framework\tensor_shape.py", line 457, in <listcomp>
self._dims = [as_dimension(d) for d in dims_iter]
File "C:\Python35\lib\site-packages\tensorflow\python\framework\tensor_shape.py", line 378, in as_dimension
return Dimension(value)
File "C:\Python35\lib\site-packages\tensorflow\python\framework\tensor_shape.py", line 33, in __init__
self._value = int(value)
TypeError: int() argument must be a string, a bytes-like object or a number, not 'Tensor'
Затем я попытался собрать форму, так что у меня это:
input = tf.placeholder(tf.int32, tf.pack([batchSize, 5]))
не работает либо:
Traceback (most recent call last):
File "C:\Python35\lib\site-packages\tensorflow\python\framework\tensor_shape.py", line 451, in __init__
dims_iter = iter(dims)
File "C:\Python35\lib\site-packages\tensorflow\python\framework\ops.py", line 510, in __iter__
raise TypeError("'Tensor' object is not iterable.")
TypeError: 'Tensor' object is not iterable.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:/Users/v-zhaom/OneDrive/testconv/test_placeholder.py", line 5, in <module>
input = tf.placeholder(tf.int32, tf.pack([batchSize, 5]))
File "C:\Python35\lib\site-packages\tensorflow\python\ops\array_ops.py", line 1579, in placeholder
shape = tensor_shape.as_shape(shape)
File "C:\Python35\lib\site-packages\tensorflow\python\framework\tensor_shape.py", line 821, in as_shape
return TensorShape(shape)
File "C:\Python35\lib\site-packages\tensorflow\python\framework\tensor_shape.py", line 454, in __init__
self._dims = [as_dimension(dims)]
File "C:\Python35\lib\site-packages\tensorflow\python\framework\tensor_shape.py", line 378, in as_dimension
return Dimension(value)
File "C:\Python35\lib\site-packages\tensorflow\python\framework\tensor_shape.py", line 33, in __init__
self._value = int(value)
TypeError: int() argument must be a string, a bytes-like object or a number, not 'Tensor'