我正在寻找类似于tf.unsorted_segment_sum的函数,但我不想对分段进行求和,而是想将每个分段作为张量获取。
例如,我有以下代码: (实际上,我有一个形状为(10000, 63)的张量,分段数为2500)
我需要的是三个形状不同的张量(可能是张量列表),第一个包含原始数据的第一行和第三行(形状为(2,5)),第二个包含第四行(形状为(1,5)),第三个包含第二行,如下所示:
例如,我有以下代码: (实际上,我有一个形状为(10000, 63)的张量,分段数为2500)
to_be_sliced = tf.constant([[0.1, 0.2, 0.3, 0.4, 0.5],
[0.3, 0.2, 0.2, 0.6, 0.3],
[0.9, 0.8, 0.7, 0.6, 0.5],
[2.0, 2.0, 2.0, 2.0, 2.0]])
indices = tf.constant([0, 2, 0, 1])
num_segments = 3
tf.unsorted_segment_sum(to_be_sliced, indices, num_segments)
输出结果将会显示在这里
array([sum(row1+row3), row4, row2]
我需要的是三个形状不同的张量(可能是张量列表),第一个包含原始数据的第一行和第三行(形状为(2,5)),第二个包含第四行(形状为(1,5)),第三个包含第二行,如下所示:
[array([[0.1, 0.2, 0.3, 0.4, 0.5],
[0.9, 0.8, 0.7, 0.6, 0.5]]),
array([[2.0, 2.0, 2.0, 2.0, 2.0]]),
array([[0.3, 0.2, 0.2, 0.6, 0.3]])]
提前致谢!