C'è stato un cambiamento nel comportamento tra le versioni 0.7 e 0.6 in sparse_to_dense
che ora richiede che gli indici siano ordinati lessicograficamente. Questo è un requisito un po 'oneroso per alcuni dei miei usi perché il modo in cui generi gli indici è abbinato al modo in cui generi gli elementi (terzo argomento di sparse_to_dense
) e l'ordinamento di entrambi è un po' complicato. Vedo che l'opzione validate_indices
può essere impostata su False
per ignorarlo. È sicuro farlo? Perché il requisito in primo luogo?sparse_to_dense richiede che gli indici siano ordinati lessicograficamente in 0,7
risposta
Guardando all'attuale implementazione per tensorflow::sparse::SparseTensor::ToDense<T>()
, sembra che la conversione non dipenda dall'ordine degli indici. Pertanto, è possibile eseguire tf.sparse_to_dense(sparse_indices, ..., validate_indices=False)
su sparse_indices
non selezionato. Un risultato coerente verrà prodotto fino a quando non ci saranno indici duplicati (altrimenti sembra che l'attuale implementazione vince l'ultimo autore, ma ciò non è garantito nell'API).
Sembra che il requisito per gli indici ordinati lessicograficamente deriva dalla volontà di verificare che non ci siano duplicati in sparse_indices
. È possibile controllare la proprietà dell'ordine e senza duplicati con una semplice scansione sul tensore degli indici (solo considerando le righe i
e i - 1
), mentre il controllo dei duplicati in modo indipendente dall'ordine è più costoso. Dal momento che c'è un vantaggio limitato al controllo più prudente e un potenziale lato negativo delle prestazioni, abbiamo scelto di non implementarlo, ma la documentazione potrebbe essere più chiara su questo punto!
- 1. In che modo uno schema XML richiede che gli elementi siano ordinati per attributo?
- 2. Come vengono memorizzati gli indici secondari 0,7 di Cassandra?
- 3. R vettore vettoriale con gli indici ordinati
- 4. Swift richiede che due generici siano dello stesso tipo
- 5. Come avere correttamente ordinati gli elenchi ordinati
- 6. In che modo MySQL memorizza gli indici?
- 7. Ordina lessicograficamente?
- 8. Gli attributi XML vengono ordinati
- 9. Il comando ListBucket garantisce che i risultati siano ordinati per chiave?
- 10. Assicurarsi che gli oggetti siano chiusi se viene generata un'eccezione
- 11. È necessario verificare che gli oggetti siano effettivamente allocati?
- 12. Come verificare che gli attributi siano unici con RelaxNG?
- 13. In che modo MongoDB implementa gli indici spaziali?
- 14. subprocess.call che richiede che tutti i parametri siano separati da virgole
- 15. mongodb non utilizza gli indici durante l'ordinamento?
- 16. Perché la funzione di cattura multipla in Java richiede che le eccezioni siano definitive?
- 17. Il C++ 11 richiede che gli allocatori siano costruttibili di default, libstdC++ e libC++ non sono d'accordo?
- 18. Ordina i risultati non lessicograficamente?
- 19. Come confrontare lessicograficamente scala tuple?
- 20. Rimuovere gli indici comuni dell'array
- 21. Come conservare gli articoli ordinati che cambiano spesso posizione in DB
- 22. String diviso con gli indici in Python
- 23. Come memorizzare gli indici in una lista
- 24. Gli indici di ordinamento discendenti
- 25. Come funzionano gli indici compositi?
- 26. ActiveRecord che trova gli indici di tabella esistenti
- 27. Cosa fa Eclipse quando dice che sta aggiornando gli indici?
- 28. Come unire due vettori che alternano gli indici?
- 29. C++ sort che tiene traccia degli indici
- 30. Trova gli indici dalla lista in Elixir
Grazie per il chiarimento. Questo funziona per i miei scopi. Sarebbe bello se la specifica venisse aggiornata per riflettere il fatto che con 'validate_indices = False' è ok passare gli indici non sovrannaturali non sovrabbondanti, poiché farò affidamento su questo comportamento e sarà un problema se cambierà senza preavviso. –