#tensorflow #ragged-tensors
Вопрос:
Я понятия не имею, какова роль 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]]>]