无法在TensorF中转换部分转换的张量

2024-09-21 03:24:40 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

我有一个用于输入shape[None,784]的占位符,其中第一个维度是None,因为批大小可以变化。我可以使用固定的批大小,但它仍然与测试/验证集大小不同。

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


Tags: 方法namenonetftensorflowmeanseed形状
1条回答
网友
1楼 · 发布于 2024-09-21 03:24:40

你只需要把它作为一个单独的例子,但在成批的形状。所以这意味着在形状上增加一个额外的尺寸

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)

其中输入张量可以是一个占位符,也可以是任何张量加上这个噪声。

相关问题 更多 >

    热门问题