让我假设我有一个内部整数的张量,表示列表的索引,我想用数组中的关联值替换它们。它就像一个哈希表,但我放弃了,因为它告诉我没有初始化(浪费太多时间真的)。 所以我想假设我有一个张量:
[[1,2,3],[2,0,1],[0,3,1]]
和一个包含4个元素数组的数组(0.2,0.4,0.6,0.8)
我希望得到结果[[0.4,0.6,0.8],[0.6,0.2,0.4],[0.2,0.6,0.4]]
如何在tensorflow中进行以便在图中使用它?
由于
答案 0 :(得分:4)
也许你需要tf.gather
方法
x = tf.constant([[1, 2, 3], [2, 0, 1], [0, 3, 1]])
y = tf.constant([0.2, 0.4, 0.6, 0.8])
output = tf.gather(y, x)
print output.eval()
array([[ 0.40000001, 0.60000002, 0.80000001],
[ 0.60000002, 0.2 , 0.40000001],
[ 0.2 , 0.80000001, 0.40000001]], dtype=float32)
答案 1 :(得分:2)
您可以使用UIWebView
执行此操作,如下所示:
tf.nn.embedding_lookup
打印
import tensorflow as tf
idx=tf.constant([[1,2,3],[2,0,1],[0,3,1]])
l=tf.constant([0.2,0.4,0.6,0.8])
res=tf.nn.embedding_lookup(l,idx)
sess=tf.InteractiveSession()
res.eval()