Python 3.x 在tensorflow中保留特定的tensor行块
我正在Python3.x中使用tensorflow 1.0.1 我有一个张量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],如示例所示。这样,在丢弃
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,索引)