张量流:寻找支持向量张量广播的op

2024-09-21 00:21:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在努力实现以下目标:

输入:

  1. T:第一维长度为n的张量,[t1,t2,…tn],元素(ti,i=1,2,…,n)是秩为3的张量

return:张量,[x1*t1, x2*t2, ... xn*tn]

我知道这可以通过tf.stack([x[i]*T[i] for i in range(n)])实现,不知道有没有不经过迭代的优雅方法


Tags: in元素目标forreturnstacktfti
1条回答
网友
1楼 · 发布于 2024-09-21 00:21:24

把这两个向量放到同一个维度上:

T = tf.constant([[[[1,1]]],[[[2,2]]]]) 
x = tf.constant([3,4])
xr = tf.reshape(x, [-1,1,1,1])
res = T*xr

运行res将打印:

 [[[[3, 3]]],[[[8, 8]]]]

这正是你想要的

一旦两个张量的维数相同,tf将负责广播op(需要整形才能正确广播)

相关问题 更多 >

    热门问题