我有一个(2x1)变量张量我定义为:
this
因此(2x1)向量中有2个变量。然后,我继续这样张贴这个张量:
W = tf.Variable(tf.random_normal([2, 1]))
我们现在有一个(2x3)张量。我的问题是:
我们知道有6个独特的变量吗?或者将2个唯一变量平铺在3列上?
答案 0 :(得分:4)
它的行为与您期望的一样:原始变量是平铺的,并且没有变量创建。很容易检查:
import tensorflow as tf
W = tf.Variable(tf.zeros((2,1)))
Wt = tf.tile(W, (1,3))
sess = tf.InteractiveSession()
tf.global_variables_initializer().run()
print(Wt.eval())
# [[ 0. 0. 0.]
# [ 0. 0. 0.]]
W[0,0].assign(1).eval()
print(Wt.eval())
# [[ 1. 1. 1.]
# [ 0. 0. 0.]]
Wt
不是变量,无法分配:
Wt[0,0].assign(1).eval()
# ValueError: Sliced assignment is only supported for variables