Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法在TensorFlow中转换部分转换的张量_Python_Tensorflow - Fatal编程技术网

Python 无法在TensorFlow中转换部分转换的张量

Python 无法在TensorFlow中转换部分转换的张量,python,tensorflow,Python,Tensorflow,TensorFlow中有许多方法需要指定形状,例如: tf.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None) 我有一个占位符用于输入shape[None,784],其中第一个维度是None,因为批量大小可能会变化。我可以使用固定的批量大小,但它仍然与测试/验证集大小不同 我无法将此占位符馈送到tf.normal,因为它需要完全指定的张量形状。让tf.truncated_no

TensorFlow中有许多方法需要指定形状,例如:

tf.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)
我有一个占位符用于输入shape[None,784],其中第一个维度是None,因为批量大小可能会变化。我可以使用固定的批量大小,但它仍然与测试/验证集大小不同


我无法将此占位符馈送到tf.normal,因为它需要完全指定的张量形状。让tf.truncated_normal接受不同的张量形状的简单方法是什么?

您只需要将其作为一个单独的示例输入,但要以批处理的形式输入。这意味着在形状上增加一个额外的尺寸,例如

batch_size = 32 # set this to the actual size of your batch
tf.truncated_normal((batch_size, 784), mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)
这样它将“适合”占位符

如果希望更改批次大小,还可以使用:

tf.truncated_normal(tf.shape(input_tensor), mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)

输入张量可以是一个占位符,也可以是任何张量都会增加噪音的地方。

我对一个假设的解决方案非常感兴趣,因为我已经寻找了一段时间。你能扩展一下假设的解决方案吗,它与这里有什么不同?可能会提出一个新的SO问题?我没有看到你的编辑,效果很好。我不知道tf.shape()@DanielSlater如果输入张量的形状是[None]?@Munichong,只要调用tf.shape(输入张量),它就会工作。