为什么tf.random.truncated_normal可以得到不是矢量的形状,即使它说它只接收矢量的形状?

时间:2018-12-25 18:26:06

标签: python-3.x tensorflow tensor

我正在使用Python中的TensorFlow。

我阅读了以下文档 tf.random.truncated_normal 输入的“形状”获取一维张量或python数组,即一个向量(根据https://www.tensorflow.org/guide/tensors)。

但是,在我使用的示例中,“形状”是一个4-D张量。还是被认为是向量?也许我对向量和张量的定义有疑问?

def weight_variable(shape, name = 'noname'):
  initial = tf.truncated_normal(shape, stddev=0.1)
  return tf.Variable(initial, name = name)

W_conv1 = weight_variable([5, 5, 3, 32], 'W_conv1')

1 个答案:

答案 0 :(得分:1)

因此,您在理解张量时会犯一个小错误。张量可以具有不同的“等级”。单个标量(例如1)是等级0张量。列表/向量(例如[1,2,3,4])是1级张量。诸如[[0,0],[0,0]]之类的2D矩阵是2级张量,而3D矩阵是3级张量,依此类推。因此,您在此处输入的是矢量或1级张量,而不是4D张量。

Here is a nice blog post about this.