【发布时间】:2018-07-05 17:47:44
【问题描述】:
我想从现有的张量 x 和 m<n 和一个索引张量 idx 和形状 (b,m) 构造一个新的张量 idx 和形状 (b,m),这告诉我x(长度c)中的每一行将其放在y中的什么位置。
以 numpy 为例:
import numpy as np
b=2
n=100
m=4
c=3
idx=np.array([[0,31,5,66],[1,73,34,80]]) # shape b x m
x=np.random.random((b,m,c))
y=np.zeros((b,n,c))
for i,cur_idx in enumerate(idx):
y[i,cur_idx]=x[i]
这会产生一个数组y,除了idx 给出的插入x 的值的位置之外,它的所有位置都为零。
我需要帮助将这段代码“翻译”成 tensorflow。
编辑: 我不想创建一个变量,而是一个常量张量,所以不能使用 tf.scatter_update。
【问题讨论】:
-
tf.scatter可能会有所帮助。 -
我宁愿不想创建一个变量,而是一个常量张量。我应该澄清一下。
标签: python tensorflow