我正在使用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中也是如此。 谁能解释这些行的工作原理以及如何在代码后实现这些工作?这将非常有帮助。
谢谢。
答案 0 :(得分:2)
这两个函数分别对正态分布或截断的(正切的)正态分布进行采样,shape参数用于指定所得张量的形状,即。您将从各自的分布中获取多少个样本,它们将处于什么形状。
任何3维尺寸的图片都很容易
tf.Variable(tf.random_normal([7*7*64, 1024]))
从正态分布中创建一个形状为3136x1024的2D张量,其随机采样值。
类似地,tf.Variable(tf.random_normal([1024]))
将创建一个大小为1024(或大小为1x1024的2D张量)的向量
最后,tf.Variable(tf.random_normal([5, 5, 32, 64]))
在思维上难以想象,这导致尺寸为5x5x32x64的4D张量。
这可能表示一批5个3-D张量,其中第一个维度(在本例中为第一个“ 5”)将表示某些输入数据的批量大小。
不确定您要寻找多少细节,恐怕这只是我的知识,希望能对您有所帮助。