Bitcast

classe finale pubblica Bitcast

Bitcast un tensore da un tipo a un altro senza copiare i dati.

Dato un tensore "input", questa operazione restituisce un tensore che ha gli stessi dati del buffer di "input" con tipo di dato "tipo".

Se il tipo di dati di input "T" è maggiore del tipo di dati di output "tipo", la forma cambia da [...] a [..., sizeof ("T") / sizeof ("type")].

Se "T" è minore di "tipo", l'operatore richiede che la dimensione più a destra sia uguale a sizeof ("type") / sizeof ("T"). La forma va quindi da [..., sizeof (`type`) / sizeof (` T`)] a [...].

tf.bitcast () e tf.cast () funzionano in modo diverso quando dtype reale viene lanciato come un dtype complesso (ad esempio tf.complex64 o tf.complex128) poiché tf.cast () rende la parte immaginaria 0 mentre tf.bitcast () fornisce il modulo errore. Per esempio,

Esempio 1:

>>> a = [1., 2., 3.] >>> equality_bitcast = tf.bitcast (a, tf.complex128) Traceback (la chiamata più recente per ultima): ... InvalidArgumentError: Impossibile bitcast da 1 a 18 [ Op: Bitcast] >>> equality_cast = tf.cast (a, tf.complex128) >>> print (equality_cast) tf.Tensor ([1. + 0.j 2. + 0.j 3. + 0.j] , forma = (3,), dtype = complex128)

Esempio 2:

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

Esempio 3:

>>> x = [1., 2., 3.] >>> y = [0., 2., 3.] >>> uguaglianza = tf.equal (x, y) >>> cast_uguaglianza = tf. cast (uguaglianza, tf.float32) >>> bitcast_uguaglianza = tf.bitcast (cast_uguaglianza, tf.uint8) >>> print (uguaglianza) tf.Tensor ([False True True], shape = (3,), dtype = bool ) >>> print (egality_cast) tf.Tensor ([0. 1. 1.], shape = (3,), dtype = float32) >>> print (equality_bitcast) tf.Tensor ([[0 0 0 0] [0 0 128 63] [0 0 128 63]], forma = (3, 4), dtype = uint8)

NOTA : Bitcast è implementato come un cast di basso livello, quindi macchine con diversi ordinamenti endian daranno risultati diversi.

Metodi pubblici

Uscita <U>
asOutput ()
Restituisce la maniglia simbolica di un tensore.
statico <U, T> Bitcast <U>
create ( ambito ambito, operando <T> input, classe <U> tipo)
Metodo di fabbrica per creare una classe che avvolge una nuova operazione Bitcast.
Uscita <U>
uscita ()

Metodi ereditati

Metodi pubblici

output pubblico <U> asOutput ()

Restituisce la maniglia simbolica di un tensore.

Gli input per le operazioni TensorFlow sono output di un'altra operazione TensorFlow. Questo metodo viene utilizzato per ottenere un handle simbolico che rappresenta il calcolo dell'input.

public static Bitcast <U> create ( ambito ambito, input operando <T>, tipo <U> classe)

Metodo di fabbrica per creare una classe che avvolge una nuova operazione Bitcast.

Parametri
scopo ambito attuale
ritorna
  • una nuova istanza di Bitcast

output pubblico <U> output ()