Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Tensorflow切片/提取_Python_Tensorflow - Fatal编程技术网

Python Tensorflow切片/提取

Python Tensorflow切片/提取,python,tensorflow,Python,Tensorflow,张量T是nxk,选择器是NxN。选择器中的每个元素v(i,j)表示:从T[i,j]中抓取第v(i,j)个元素 有没有办法实现这一点,是numpy还是tensorflow?谢谢 ----更新 感谢Alok Singhal在Numpy的回答。如果tensor和selector都是tensorflow tensor,有没有办法做到这一点?这里有一种方法: tensor = array([[ [ 0.1, 0.8], [ 0.1, 0.8], [ 0.1, 0.8]],

张量T是nxk,选择器是NxN。选择器中的每个元素v(i,j)表示:从T[i,j]中抓取第v(i,j)个元素

有没有办法实现这一点,是numpy还是tensorflow?谢谢

----更新 感谢Alok Singhal在Numpy的回答。如果tensor和selector都是tensorflow tensor,有没有办法做到这一点?

这里有一种方法:

tensor = array([[
    [ 0.1,  0.8],
    [ 0.1,  0.8],
    [ 0.1,  0.8]],

   [[ 0.9,  0.3],
    [ 0.1,  0.8],
    [ 0.9,  0.3]],

   [[ 0.1,  0.8],
    [ 0.1,  0.8],
    [ 0.9,  0.3]]])

selector = array([
    [0, 0, 1],
    [1, 1, 1],
    [1, 1, 0]])


want = array([
    [0.1 0.1 0.8],
    [0.3 0.8 0.3],
    [0.8 0.8 0.9]
    ])

美丽的。谢谢,如果张量和选择器都是tf.变量,有没有办法?张量[i,j,选择器]在这种情况下似乎不起作用。
>>> i, j = np.ogrid[0:3, 0:3]
>>> i
array([[0],
       [1],
       [2]])
>>> j
array([[0, 1, 2]])
>>> tensor[i, j, selector]
array([[ 0.1,  0.1,  0.8],
       [ 0.3,  0.8,  0.3],
       [ 0.8,  0.8,  0.9]])