gpt4 book ai didi

python - 在 TensorFlow 中平铺可变张量会创建新变量吗?

转载 作者:行者123 更新时间:2023-11-28 22:25:20 33 4
gpt4 key购买 nike

我有一个 (2x1) 变量张量,我定义为:

W = tf.Variable(tf.random_normal([2, 1]))

因此 (2x1) 向量中有 2 个变量。然后我继续像这样平铺这个张量:

W = tf.tile(W,tf.constant([1,3]))

我们现在有一个 (2x3) 张量。我的问题是:

我们知道有 6 个唯一变量吗?还是 2 个唯一变量平铺在 3 列上?

最佳答案

它的行为与您预期的一样:原始变量是平铺的,没有创建变量。很容易检查:

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

关于python - 在 TensorFlow 中平铺可变张量会创建新变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45557338/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com