Tensorflow从索引创建新的张量

时间:2020-09-22 16:41:06

标签: python tensorflow

我试图通过以下方式组合张量:

yum check-updates | awk 'p;/^$/{p=1}' | grep -c "\."

输出:

a = [0, 0, 1, 1, 1, 2]
b = [[1, 2], [3, 4], 
     [5, 6], [7, 8], [9, 10], 
     [11, 12]]

所以本质上a是第二维中张量b的索引。

形状如下:

c = [[[1, 2], [3, 4]], 
     [[5, 6], [7, 8] ,[9, 10]], 
     [[11, 12]]]

更长的解释: 我正在尝试在维持原始批次大小的同时过滤张量。当我运行以下命令时,上面是简化的输出:

a = (?,) #(6) in this example
b = (?, 2) #(6, 2) in this example
c = (?, ?, 2) #(batch_size aka 3, varies, maybe I need a ragged tensor, 2)

我需要执行上述操作来维护模型的批次大小。我正在使用Tensorflow 1.14(这是必需条件)

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

答案是参差不齐的张量的构造函数,供其他正在搜索此的人使用

tf.RaggedTensor.from_value_rowids(
    values=b,
    value_rowids=a)