sparse_to_dense要求索引按字典顺序排序为0.7

时间:2016-02-19 15:28:03

标签: tensorflow

sparse_to_dense中版本0.7和0.6之间的行为发生了变化,现在需要按字典顺序对索引进行排序。这对我的一些用途来说是一个有点繁重的要求,因为我生成索引的方式与我生成元素的方式(sparse_to_dense的第三个arg)匹配,并且排序两者都有点麻烦。我看到validate_indices选项可以设置为False以忽略此选项。这样做是否安全?为什么要求首先?

1 个答案:

答案 0 :(得分:8)

查看tensorflow::sparse::SparseTensor::ToDense<T>()的当前实现,似乎转换不依赖于索引的顺序。因此,您可以对未排序的sparse_indices运行tf.sparse_to_dense(sparse_indices, ..., validate_indices=False)。只要没有重复索引,就会产生一致的结果(否则看起来当前的实现是最后一个作者获胜,但在API中无法保证)。

对于按字典顺序排序的索引的要求似乎是因为希望检查sparse_indices中没有重复项。您可以通过索引张量的简单扫描(仅考虑行ii - 1)来检查订单属性是否缺少重复项,而在独立的订单中检查重复项时尚更贵。由于更保守的检查有更大的优势,并且潜在的大的性能下降,我们选择不实施它,但文档在这一点上可能更清楚!