gpt4 book ai didi

python - Tensorflow运行时确定Tensor的形状

转载 作者:太空宇宙 更新时间:2023-11-03 15:30:27 24 4
gpt4 key购买 nike

Tensorflow支持运行时确定Tensor的形状吗?

问题是在运行时基于输入向量length_q构建一个常量张量。目标张量的列数是length_q的总和。代码片段如下,length_q的长度固定为64。

T = tf.reduce_sum(length_q, 0)[0]
N = np.shape(length_q)[0]
wm = np.zeros((N, T), dtype=np.float32)

# Something inreletive.
count = 0
for i in xrange(N):
ones = np.ones(length_q[i])
wm[i][count:count+length_q[i]] = ones
count += length_q[i]
return tf.Constant(wm)

更新

我想根据输入length_q创建一个动态Tensor。 length_q 是一些输入向量 (64*1)。我想要创建的新张量的形状取决于 length_q 的总和,因为在每个批处理中,length_q 中的数据都会发生变化。目前的代码片段如下:

def some_matrix(length_q):
T = tf.reduce_sum(length_q, 0)[0]
N = np.shape(length_q)[0]
wm = np.zeros((N, T), dtype=np.float32)
count = 0
return wm

def network_inference(length_q):
wm = tf.constant(some_matrix(length_q));
...

出现这个问题可能是因为length_q是占位符,没有求和运算。有什么办法可以解决这个问题吗?

最佳答案

听起来像 tf.fill() op 就是你所需要的。此操作允许您将形状指定为 tf.Tensor(即运行时值)以及值:

def some_matrix(length_q):
T = tf.reduce_sum(length_q, 0)[0]
N = tf.shape(length_q)[0]
wm = tf.fill([T, N], 0.0)
return wm

关于python - Tensorflow运行时确定Tensor的形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42920095/

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