Tensorflow 稀疏到密集要求索引按0.7进行字典排序

Tensorflow 稀疏到密集要求索引按0.7进行字典排序,tensorflow,Tensorflow,0.7版和0.6版之间在sparse_to_dense中的行为发生了变化,现在需要对索引进行字典排序。这对于我的某些用途来说是一个有点繁重的要求,因为我生成索引的方式与我生成元素的方式相匹配(第三个参数是稀疏到密集的),并且对两者进行排序有点麻烦。我发现可以将validate_index选项设置为False来忽略这一点。这样做安全吗?首先,为什么要这样做?从当前的实现来看,转换似乎并不取决于索引的顺序。因此,您可以在未排序的稀疏索引上运行。只要没有重复的索引,就会产生一致的结果(否则看起来当前的

0.7版和0.6版之间在
sparse_to_dense
中的行为发生了变化,现在需要对索引进行字典排序。这对于我的某些用途来说是一个有点繁重的要求,因为我生成索引的方式与我生成元素的方式相匹配(第三个参数是
稀疏到密集的
),并且对两者进行排序有点麻烦。我发现可以将
validate_index
选项设置为
False
来忽略这一点。这样做安全吗?首先,为什么要这样做?

从当前的实现来看,转换似乎并不取决于索引的顺序。因此,您可以在未排序的
稀疏索引上运行。只要没有重复的索引,就会产生一致的结果(否则看起来当前的实现是最后一个writer赢了,但API中不保证这一点)


看起来,对词典排序索引的要求源于检查
稀疏索引中是否存在重复项的愿望。您可以通过简单地扫描索引张量(仅考虑行
i
i-1
)来检查顺序属性和是否存在重复项,而以顺序无关的方式检查重复项的成本更高。由于更保守的检查的好处有限,而且性能可能会有很大的下降,我们选择不实施它,但是文档在这一点上可能会更清楚

谢谢你的澄清。这符合我的目的。如果更新规范以反映这样一个事实,即使用
validate\u index=False
传入非冗余的未排序索引是可以的,这将非常好,因为我将依赖此行为,如果它在没有警告的情况下更改,这将是一个问题。