Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.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 3.x 在tensorflow中保留特定的tensor行块_Python 3.x_Split_Tensorflow_Deep Learning - Fatal编程技术网

Python 3.x 在tensorflow中保留特定的tensor行块

Python 3.x 在tensorflow中保留特定的tensor行块,python-3.x,split,tensorflow,deep-learning,Python 3.x,Split,Tensorflow,Deep Learning,我正在Python3.x中使用tensorflow 1.0.1 我有一个张量L,它有nx seq行,我想在c中为I保留每个seq行的第一个I元素。因此len(c)=n,c中的i-th元素表示从该分区的开始,在L的i-th大小的分区中保留多少个元素 例如,如果L=list(范围(10))和c=[2,4]则所需的结果是D=[0,1,5,6,7,8]。当然,在实际示例中,L和D是?x dim张量 我尝试使用,其中我计算了每个seq中要丢弃的项的数量,得到c=[2,3,4,1],如示例所示。这样,在丢弃

我正在Python3.x中使用tensorflow 1.0.1

我有一个张量
L
,它有
nx seq
行,我想在
c
中为
I
保留每个
seq
行的第一个
I
元素。因此
len(c)=n
c
中的
i-th
元素表示从该分区的开始,在
L
i-th
大小的分区中保留多少个元素

例如,如果
L=list(范围(10))
c=[2,4]
则所需的结果是
D=[0,1,5,6,7,8]
。当然,在实际示例中,
L
D
?x dim
张量

我尝试使用,其中我计算了每个seq中要丢弃的项的数量,得到
c=[2,3,4,1]
,如示例所示。这样,在丢弃所有其他元素后,所需的行将是
tf.split
结果列表的元素

问题是,
c
的值和长度是通过占位符输入的,在图形创建过程中是未知的,所以我得到一个异常:

ValueError: Cannot infer num from shape Tensor("tensorname", shape=(?,), dtype=int32)
tf.split()的文档表示,如果无法从
num\u或\u size\u splits
参数推断分割数
num
,它将抛出上述异常。那么,在图形构造时,绝对必须知道拆分的数量

如果是这样的话,你能想出一个静态定义的方法来实现下面的目标或解决方法吗

提前感谢您的帮助。

事实证明,我们可以使用和从张量中获取特定的索引

因此,为了获得所需的位置,我直接提供它们的索引,而不是
c
,并使用
tf.gather(L,索引)