无法在 TensorFlow 中转换部分转换的张量
Cannot convert a partially converted tensor in TensorFlow
TensorFlow中有很多方法需要指定形状,例如truncated_normal:
tf.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)
我有一个占位符用于输入形状 [None, 784],其中第一个维度是 None,因为批量大小可能会有所不同。我可以使用固定的批量大小,但它仍然与 test/validation 设置大小不同。
我无法将此占位符提供给 tf.truncated_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)
这样它会"fit"进入占位符。
如果您希望 batch_size 进行更改,您还可以使用:
tf.truncated_normal(tf.shape(input_tensor), mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)
其中 input_tensor 可以是占位符,也可以是任何张量都会添加此噪音。
TensorFlow中有很多方法需要指定形状,例如truncated_normal:
tf.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)
我有一个占位符用于输入形状 [None, 784],其中第一个维度是 None,因为批量大小可能会有所不同。我可以使用固定的批量大小,但它仍然与 test/validation 设置大小不同。
我无法将此占位符提供给 tf.truncated_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)
这样它会"fit"进入占位符。
如果您希望 batch_size 进行更改,您还可以使用:
tf.truncated_normal(tf.shape(input_tensor), mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)
其中 input_tensor 可以是占位符,也可以是任何张量都会添加此噪音。