2016-02-19 16 views
5

sparse_to_denseのバージョン0.7と0.6の間の動作に変更がありました。索引を辞書順にソートする必要があります。これは私がインデックスを生成する方法が要素(第3引数:sparse_to_dense)を生成する方法と一致し、両方を並べ替えることが少し面倒であるため、私の用途にはいくらか厄介な要件です。これを無視すると、validate_indicesオプションをFalseに設定することができます。それは安全ですか?なぜ最初の所要量?sparse_to_denseは、索引を辞書順にソートする必要があります。

答えて

6

tensorflow::sparse::SparseTensor::ToDense<T>()の現在の実装を見ると、変換はインデックスの順序に依存しないようです。したがって、並べ替えられていないsparse_indicestf.sparse_to_dense(sparse_indices, ..., validate_indices=False)を実行することができます。インデックスが重複しない限り、一貫した結果が生成されます(そうでない場合は、現在の実装が最終作者勝利であるように見えますが、APIでは保証されません)。

sparse_indicesに重複がないことをチェックしたいという欲求から、辞書的にソートされたインデックスが必要であるように見えます。指数テンソル(単純に行ii - 1を考慮している)上の単純なスキャンで注文プロパティが重複していないことを確認することができます。より保守的なチェックには限られた面があり、パフォーマンスの面で大きな欠点がある可能性があるため、実装しないことを選択しましたが、この時点でドキュメントが明確になる可能性があります。

+1

ご清聴ありがとうございます。これは私の目的のために働く。 'validate_indices = False'を指定すると、非冗長な未ソートインデックスを渡すことができるという事実を反映するために仕様が更新されれば素晴らしいでしょう。この動作に依存するので、警告なしに変更すると問題になります。 –

関連する問題