Bitcast

classe finale publique Bitcast

Bitcaste un tenseur d'un type à un autre sans copier les données.

Étant donné un tenseur « input », cette opération renvoie un tenseur qui a les mêmes données de tampon que « input » avec le type de données « type ».

Si le type de données d'entrée `T` est plus grand que le type de données de sortie `type` alors la forme passe de [...] à [..., sizeof(`T`)/sizeof(`type`)].

Si `T` est plus petit que `type`, l'opérateur exige que la dimension la plus à droite soit égale à sizeof(`type`)/sizeof(`T`). La forme passe alors de [..., sizeof(`type`)/sizeof(`T`)] à [...].

tf.bitcast() et tf.cast() fonctionnent différemment lorsque le type réel est converti en type complexe (par exemple tf.complex64 ou tf.complex128) car tf.cast() crée une partie imaginaire 0 tandis que tf.bitcast() donne le module erreur. Par exemple,

Exemple 1:

>>> a = [1., 2., 3.] >>> Equality_bitcast = tf.bitcast(a, tf.complex128) Traceback (dernier appel le plus récent) : ... InvalidArgumentError : Impossible de diffuser du bit de 1 à 18 [ Op:Bitcast] >>> Equality_cast = tf.cast(a, tf.complex128) >>> print(equality_cast) tf.Tensor([1.+0.j 2.+0.j 3.+0.j] , forme=(3,), dtype=complexe128)

Exemple 2 :

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

Exemple 3 :

>>> x = [1., 2., 3.] >>> y = [0., 2., 3.] >>> égalité= tf.equal(x,y) >>> égalité_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]], forme=(3, 4), dtype=uint8)

REMARQUE : Bitcast est implémenté comme une distribution de bas niveau, donc les machines avec des ordres endian différents donneront des résultats différents.

Constantes

Chaîne OP_NAME Le nom de cette opération, tel que connu par le moteur principal TensorFlow

Méthodes publiques

Sortie <U>
comme Sortie ()
Renvoie le handle symbolique du tenseur.
statique <U étend TType > Bitcast <U>
créer ( Scope scope, Operand <? extends TType > input, Class<U> type)
Méthode d'usine pour créer une classe encapsulant une nouvelle opération Bitcast.
Sortie <U>
sortir ()

Méthodes héritées

Constantes

chaîne finale statique publique OP_NAME

Le nom de cette opération, tel que connu par le moteur principal TensorFlow

Valeur constante : "Bitcast"

Méthodes publiques

sortie publique <U> asOutput ()

Renvoie le handle symbolique du tenseur.

Les entrées des opérations TensorFlow sont les sorties d'une autre opération TensorFlow. Cette méthode est utilisée pour obtenir un handle symbolique qui représente le calcul de l’entrée.

public static Bitcast <U> create ( Scope scope, Operand <? extends TType > input, Class<U> type)

Méthode d'usine pour créer une classe encapsulant une nouvelle opération Bitcast.

Paramètres
portée portée actuelle
Retour
  • une nouvelle instance de Bitcast

Sortie publique Sortie <U> ()