0

我不知道ragged_rank传递给的参数的作用是什么tf.ragged.constant()

玩它,我尝试了以下代码:

list(tf.data.Dataset.from_tensor_slices
(tf.ragged.constant([[[1,2,3], [4,5,6]],[[7,8,9]]], ragged_rank=1)))

在哪里ragged_rank=1通过并产生

[<tf.Tensor: shape=(2, 3), dtype=int32, numpy=
 array([[1, 2, 3],
        [4, 5, 6]])>,
 <tf.Tensor: shape=(1, 3), dtype=int32, numpy=array([[7, 8, 9]])>]

另一方面,如果我通过ragged_rank=2

list(tf.data.Dataset.from_tensor_slices
(tf.ragged.constant([[[1,2,3], [4,5,6]],[[7,8,9]]], ragged_rank=2)))

结果看起来与我有些相似,但与上述不同:

[<tf.RaggedTensor [[1, 2, 3], [4, 5, 6]]>, <tf.RaggedTensor [[7, 8, 9]]>]

此外,我发现以下代码会产生错误

list(tf.data.Dataset.from_tensor_slices
(tf.ragged.constant([[[1,2,3], [4,5,6]],[[7,8]]], ragged_rank=1)))

ValueError: inner values have inconsistent shape

除非我通过ragged_rank=2,否则结果:

[<tf.RaggedTensor [[1, 2, 3], [4, 5, 6]]>, <tf.RaggedTensor [[7, 8]]>]
4

0 回答 0