Bitcast

public final class Bitcast

Bitcasts um tensor de um tipo para outro sem copiar dados.

Dado um tensor `input`, esta operação retorna um tensor que tem os mesmos dados de buffer que` input` com o tipo de dados `type`.

Se o tipo de dados de entrada `T` for maior do que o tipo de dados de saída` type` então a forma muda de [...] para [..., sizeof (`T`) / sizeof (` type`)].

Se `T` for menor que` type`, o operador exige que a dimensão mais à direita seja igual a sizeof (`type`) / sizeof (` T`). A forma então vai de [..., sizeof (`tipo`) / sizeof (` T`)] para [...].

tf.bitcast () e tf.cast () funcionam de maneira diferente quando dtype real é lançado como um dtype complexo (por exemplo, tf.complex64 ou tf.complex128), pois tf.cast () faz parte imaginária 0 enquanto tf.bitcast () fornece módulo erro. Por exemplo,

Exemplo 1:

>>> a = [1., 2., 3.] >>> igualdade_bitcast = tf.bitcast (a, tf.complex128) Traceback (última chamada mais recente): ... InvalidArgumentError: Não é possível bitcast de 1 a 18 [ Op: Bitcast] >>> igualdade_cast = tf.cast (a, tf.complex128) >>> imprimir (igualdade_cast) tf.Tensor ([1. + 0.j 2. + 0.j 3. + 0.j] , forma = (3,), dtipo = complexo128)

Exemplo 2:

>>> tf.bitcast (tf.constant (0xffffffff, dtype = tf.uint32), tf.uint8)

Exemplo 3:

>>> x = [1., 2., 3.] >>> y = [0., 2., 3.] >>> igualdade = tf.equal (x, y) >>> igualdade_cast = tf. cast (igualdade, tf.float32) >>> igualdade_bitcast = tf.bitcast (igualdade_cast, tf.uint8) >>> imprimir (igualdade) tf.Tensor ([False True True], shape = (3,), dtype = bool ) >>> print (igualdade_cast) tf.Tensor ([0. 1. 1.], forma = (3,), dtype = float32) >>> print (igualdade_bitcast) tf.Tensor ([[0 0 0 0] [0 0 128 63] [0 0 128 63]], forma = (3, 4), tipo d = uint8)

NOTA: Bitcast é implementado como um elenco de baixo nível, de modo que máquinas com diferentes ordenamentos endian dará resultados diferentes.

Métodos Públicos

Output <U>
asOutput ()
Retorna o identificador simbólico de um tensor.
estática <U, T> Bitcast <U>
criar ( Scope escopo, Operando <T> entrada, Class <U> tipo)
Método de fábrica para criar uma classe que envolve uma nova operação Bitcast.
Output <U>
saída ()

Métodos herdados

Métodos Públicos

pública Output <U> asOutput ()

Retorna o identificador simbólico de um tensor.

As entradas para as operações do TensorFlow são saídas de outra operação do TensorFlow. Este método é usado para obter um identificador simbólico que representa o cálculo da entrada.

public static Bitcast <U> create ( Scope escopo, Operando <T> entrada, Class <U> tipo)

Método de fábrica para criar uma classe que envolve uma nova operação Bitcast.

Parâmetros
alcance escopo atual
Devoluções
  • uma nova instância de Bitcast

pública Output <U> saída ()