如何在TensorFlow中将Tensor变量初始化为单位矩阵

时间:2016-07-13 18:40:09

标签: python tensorflow

如何将Tensor T初始化为单位矩阵?

以下将T初始化为784乘784矩阵零。

T = tf.Variable(tf.zeros([784, 784]))

但我找不到行为符合要求的tf.fn。怎么办呢?

3 个答案:

答案 0 :(得分:6)

您实际上可以将numpy数组作为initial_value的参数传递,因此tf.Variable(initial_value = np.identity(784))应该执行您想要执行的操作。

答案 1 :(得分:6)

您正在寻找的tf.fn称为tf.eye。因此,最简洁的答案是

T = tf.Variable(tf.eye(size))

注意:将此值放在tf.Variable中会将可学习的权重初始化为标识,但允许更改它。如果你实际上只想要一个单位矩阵的常量,那么只需使用

T = tf.eye(size)

答案 2 :(得分:2)

不想仅为np.identity安装numpy?
这是一个仅限张量流的变体:

T = tf.Variable(tf.diag(tf.ones(size)))