将密集张量转换为参差不齐的张量

时间:2019-07-11 01:21:26

标签: python numpy tensorflow machine-learning

我有一个稀疏张量,我将其转换为密集张量。使用navController.navigate(FragmentAFragmentDirections.aToC()) 从稀疏转换为密集后,我得到的输出看起来像这样:

Dense tensor

我想删除默认值,即零,并将其转换为参差不齐的张量,如下所示: Ragged tensor 上面两张图片中的数据不同

我浏览了Tensorflow文档,但找不到任何方法来执行此操作。我尝试使用tf.sparse.to_dense,主要问题是为每一行分别计算boolean_mask
因此,我想知道是否有一种有效的方法来实现这一目标。

谢谢。

1 个答案:

答案 0 :(得分:0)

tf.RaggedTensor.from_tensor 从任何维度的张量中删除特定值。

x = [[1, 3, -1, -1], [2, -1, -1, -1], [4, 5, 8, 9]]
print(tf.RaggedTensor.from_tensor(x, padding=-1))


Output: <tf.RaggedTensor [[1, 3], [2], [4, 5, 8, 9]]>