Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

Problemi noti

La compilazione con XLA può migliorare notevolmente le prestazioni dei programmi, ma l'interoperabilità di TensorFlow presenta una serie di angoli acuti noti.

L'interconversione TensorArray TF / XLA non è supportata

Messaggio di errore : il Support for TensorList crossing the XLA/TF boundary is not implemented .

XLA supporta tf.TensorArray . Tuttavia, l' interconversione tra le rappresentazioni TF e XLA non è ancora implementata. Questo errore si verifica spesso quando TensorArray viene utilizzato all'interno del blocco compilato, ma la derivata viene portata all'esterno.

Soluzione : compilare l'ambito più esterno che sta prendendo la derivata.

TensorFlow mentre i loop devono essere limitati (o avere backprop disabilitato)

Messaggio di errore : la XLA compilation requires a fixed tensor list size. Set the max number of elements. This could also happen if you're using a TensorArray in a while loop that does not have its maximum_iteration set, you can fix this by setting maximum_iteration to a suitable value .

I cicli while di TF creati utilizzando tf.while_loop supportano la tf.while_loop accumulando tutti i risultati intermedi in un TensorArray , ma XLA supporta solo i TensorArray limitati.

Soluzione : tutti i cicli while compilati devono avere il parametro maximum_iterations impostato su un valore costante noto al momento della compilazione, o la backpropagation disabilitata usando back_prop=False .

Dynamic tf.TensorArray non è supportato

Le scritture in tf.TensorArray(..., dynamic_size=True) non sono compilabili con XLA, poiché tali scritture richiedono un numero sconosciuto di riallocazioni quando l'array supera il limite originale.

Soluzione alternativa : fornire un limite staticamente noto ai propri array.

La generazione di numeri casuali ignora il seme TF

XLA attualmente ignora i seed TF per le operazioni casuali. Ciò influisce sulle operazioni casuali di TF con stato, come tf.random.normal o tf.nn.dropout . XLA si comporterà come se la compilation fosse stata seminata con un nuovo seme univoco ad ogni esecuzione. Questa limitazione non si applica alle operazioni casuali senza stato.

Le affermazioni di TensorFlow vengono ignorate

Le asserzioni create usando tf.Assert e funzioni simili sono noops quando vengono compilate in XLA. Sebbene il supporto appropriato delle asserzioni sia in linea di principio possibile, potrebbe rendere impossibili alcune ottimizzazioni (fondendo principalmente il buffer su cui viene eseguita l'asserzione).