Esta página foi traduzida pela API Cloud Translation.
Switch to English

Problemas Conhecidos

A compilação com o XLA pode melhorar muito o desempenho de seus programas, mas a interoperabilidade do TensorFlow tem vários cantos agudos conhecidos.

TensorArray TF / XLA interconversion

Mensagem de erro : o Support for TensorList crossing the XLA/TF boundary is not implemented .

O XLA oferece suporte a tf.TensorArray . No entanto, a interconversão entre as representações TF e XLA ainda não foi implementada. Esse erro geralmente surge quando o TensorArray é usado dentro do bloco compilado, mas a derivada é tirada de fora.

Solução alternativa : compilar o escopo mais externo que está obtendo a derivada.

TensorFlow while loops precisam ser limitados (ou ter backprop desativado)

Mensagem de erro : a 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 .

Os loops while do TF criados usando tf.while_loop suportam retropropagação ao acumular todos os resultados intermediários em um TensorArray , mas o XLA só oferece suporte a TensorArray s limitados.

Solução alternativa : todos os loops while compilados precisam ter o parâmetro maximum_iterations definido como um valor constante conhecido no momento da compilação ou a retropropagação desabilitada usando back_prop=False .

Dynamic tf.TensorArray

As gravações em tf.TensorArray(..., dynamic_size=True) não são compiláveis ​​com XLA, pois essas gravações exigem um número desconhecido de realocações quando a matriz excede o limite original.

Solução alternativa : forneça um limite conhecido estaticamente para seus arrays.

Geração de número aleatório

O XLA atualmente ignora sementes de TF para operações aleatórias. Isso afeta as operações aleatórias do TF com estado, como tf.random.normal ou tf.nn.dropout . O XLA se comportará como se a compilação fosse propagada com uma nova propagação exclusiva a cada execução. Esta limitação não se aplica a operações aleatórias sem estado.