Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.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 tensor进行不同的切片?_Python_Tensorflow_Data Science - Fatal编程技术网

Python 如何一次为每一行对tensorflow tensor进行不同的切片?

Python 如何一次为每一行对tensorflow tensor进行不同的切片?,python,tensorflow,data-science,Python,Tensorflow,Data Science,我有一个简单的张量a=tf.constant([[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15])并想对它进行切片,但我需要对每一行进行不同的操作。这个切片操作由另一个张量b=tf.常量([[0,1],[2,4],[2,5]])来描述。这意味着从张量a的第一行开始,我需要0到1的元素,从2到4的第二行开始,依此类推。因此,最终结果将是 [ [1], [8, 9], [13, 14, 15] ] 我的第一个想法是填充切片开始和结束之间的范围,但不幸的

我有一个简单的张量
a=tf.constant([[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15])
并想对它进行切片,但我需要对每一行进行不同的操作。这个切片操作由另一个张量
b=tf.常量([[0,1],[2,4],[2,5]])
来描述。这意味着从张量
a的第一行开始,我需要
0
1
的元素,从
2
4
的第二行开始,依此类推。因此,最终结果将是

[
  [1],
  [8, 9],
  [13, 14, 15]
]
我的第一个想法是填充切片开始和结束之间的范围,但不幸的是,使用
map\u fn
不可能,因为结果行的长度不同

有人知道怎么做这种手术吗?

  • 基本上,我们需要迭代两个数组。一个包含实际数据,另一个包含要返回的范围
  • 因此,zip函数可以帮助逐个迭代来自多个数组的元素
输出:

[[1], [8, 9], [13, 14, 15]]

结果是正确的,但我希望在不将张量转换为numpy数组的情况下得到同样的结果;)无论如何,您的答案可能非常有用,谢谢:)
[[1], [8, 9], [13, 14, 15]]