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 buffer di "input" con tipo di dati "type".

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

Se "T" è inferiore a "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 il dtype reale viene castato come un dtype complesso (ad esempio tf.complex64 o tf.complex128) poiché tf.cast() crea 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 (ultima chiamata più recente): ... 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,), dtipo=complesso128)

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) >>> uguaglianza_cast = tf. cast(equality,tf.float32) >>> equality_bitcast = tf.bitcast(equality_cast,tf.uint8) >>> print(equality) tf.Tensor([False True True], shape=(3,), dtype=bool ) >>> print(equality_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 cast di basso livello, quindi macchine con ordinamenti endian diversi forniranno risultati diversi.

Costanti

Corda OP_NAME Il nome di questa operazione, come noto al motore principale di TensorFlow

Metodi pubblici

Uscita <U>
comeuscita ()
Restituisce l'handle simbolico del tensore.
statico <U estende TType > Bitcast <U>
create ( ambito ambito , operando <? estende TType > input, tipo Class<U>)
Metodo factory per creare una classe che racchiude una nuova operazione Bitcast.
Uscita <U>

Metodi ereditati

Costanti

Stringa finale statica pubblica OP_NAME

Il nome di questa operazione, come noto al motore principale di TensorFlow

Valore costante: "Bitcast"

Metodi pubblici

Uscita pubblica <U> asOutput ()

Restituisce l'handle simbolico del 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.

bitcast statico pubblico <U> create ( ambito ambito , operando <? estende TType > input, tipo Class<U>)

Metodo factory per creare una classe che racchiude una nuova operazione Bitcast.

Parametri
scopo ambito attuale
ritorna
  • una nuova istanza di Bitcast

Uscita pubblica <U> uscita ()