谁能解释 tf.random_normal 和 tf.truncated_normal 形状参数?

Can anyone explain tf.random_normal and tf.truncated_normal shape argument?

我正在使用 tensorflow,直到并且除非参数是二维的,否则我没有遇到任何问题,但现在我遇到了语法

tf.Variable(tf.random_normal([5, 5, 32, 64])

tf.Variable(tf.random_normal([7*7*64, 1024]))

还有一个

tf.Variable(tf.random_normal([1024])

在 truncated_normal 中也是如此。 任何人都可以解释这些行的工作原理以及代码背后的实现方式吗?这将非常有帮助。

谢谢。

这两个函数分别针对正态分布或截断(在尖端处切割)正态分布进行采样,形状参数用于指定结果张量的形状,即。您将从各自的分布中提取多少样本以及它们的形状。

3 维以内的任何东西都很容易描绘,

tf.Variable(tf.random_normal([7*7*64, 1024])) 从正态分布中随机采样值创建形状为 3136x1024 的二维张量。

同样,tf.Variable(tf.random_normal([1024])) 将创建一个大小为 1024 的向量(或大小为 1x1024 的二维张量)

最后,tf.Variable(tf.random_normal([5, 5, 32, 64])) 在心理上有点难以描绘,这导致了一个大小为 5x5x32x64 的 4D 张量。

这可以表示一批 5 个 3-D 张量,其中第一个维度(在本例中为第一个“5”)将表示某些输入数据的 批量大小 .

不确定您要寻找多少细节,恐怕就我所知,希望这对您有所帮助。