Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

Znane problemy

Kompilacja z XLA może znacznie poprawić wydajność programów, ale interop TensorFlow ma wiele znanych ostrych rogów.

Interkonwersja TensorArray TF / XLA nie jest obsługiwana

Komunikat o błędzie : Support for TensorList crossing the XLA/TF boundary is not implemented .

XLA obsługuje tf.TensorArray . Jednak wzajemna konwersja między reprezentacjami TF i XLA nie została jeszcze zaimplementowana. Ten błąd często pojawia się, gdy TensorArray jest używana wewnątrz skompilowanego bloku, ale pochodna jest pobierana na zewnątrz.

Obejście problemu : skompiluj najbardziej zewnętrzny zakres, który przyjmuje pochodną.

TensorFlow while pętle while muszą być ograniczone (lub mieć wyłączone backprop)

Komunikat o błędzie : 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 .

Pętle TF while utworzone przy użyciu tf.while_loop obsługują wsteczną propagację poprzez gromadzenie wszystkich pośrednich wyników w TensorArray , ale XLA obsługuje tylko ograniczone TensorArray s.

Obejście : wszystkie skompilowane pętle while muszą mieć parametr maximum_iterations ustawiony na stałą wartość znaną w czasie kompilacji lub wsteczną propagację wyłączoną za pomocą back_prop=False .

Dynamiczny tf.TensorArray nie jest obsługiwany

tf.TensorArray(..., dynamic_size=True) do tf.TensorArray(..., dynamic_size=True) nie można kompilować z XLA, ponieważ takie zapisy wymagają nieznanej liczby ponownych alokacji, gdy tablica przekracza pierwotne ograniczenie.

Obejście : podaj statycznie znane powiązanie z tablicami.

Generowanie liczb losowych ignoruje ziarno TF

XLA obecnie ignoruje nasiona TF do operacji losowych. Wpływa to na stanowe operacje losowe TF, takie jak tf.random.normal lub tf.nn.dropout . XLA będzie zachowywał się tak, jakby kompilacja została zapoczątkowana nowym, unikalnym materiałem siewnym przy każdym uruchomieniu. To ograniczenie nie dotyczy losowych operacji bezstanowych.

Potwierdzenia TensorFlow są ignorowane

Asercje utworzone za pomocą tf.Assert i podobne funkcje są nieudane po kompilacji do XLA. Chociaż prawidłowe wsparcie asercji jest w zasadzie możliwe, może to uniemożliwić pewne optymalizacje (głównie łączenie bufora, na którym asercja jest wykonywana).