tf.ragged.constant() API 中使用的 ragged_rank 参数是什么?

问题描述

我不知道传递给 ragged_ranktf.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,6]])>,<tf.Tensor: shape=(1,numpy=array([[7,9]])>]

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

list(tf.data.Dataset.from_tensor_slices
(tf.ragged.constant([[[1,ragged_rank=2)))

结果看起来有点像我,但与上面的不一样:

[<tf.RaggedTensor [[1,6]]>,<tf.RaggedTensor [[7,9]]>]

而且我发现下面的代码会产生错误

list(tf.data.Dataset.from_tensor_slices
(tf.ragged.constant([[[1,8]]],ragged_rank=1)))

ValueError: inner values have inconsistent shape

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

[<tf.RaggedTensor [[1,8]]>]

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)