Tensorflow :: ops :: Bitcast

#include <array_ops.h>

Bitcasts eines Tensors von einem Typ zum anderen, ohne Daten zu kopieren.

Zusammenfassung

Bei einem Tensor input , gibt diese Operation einen Tensor, der die gleichen Pufferdaten wie hat input mit Datentyp type .

Wenn der Eingangsdatentyp T größer ist als die Ausgangsdatentyp type dann die Form ändert sich von [...] bis [..., sizeof ( T ) / sizeof ( type )].

Wenn T kleiner als der type , muss der Operator die Abmessung ganz rechts gleich sizeof ( type ) / sizeof ( T ) haben. Die Form geht dann von [..., sizeof ( type ) / sizeof ( T )] nach [...].

tf.bitcast () und tf.cast () funktionieren unterschiedlich, wenn realer dtype als komplexer dtype (z. B. tf.complex64 oder tf.complex128) umgewandelt wird, da tf.cast () den Imaginärteil 0 macht, während tf.bitcast () das Modul ergibt Error. Beispielsweise,

Beispiel 1:

a = [1., 2., 3.] Equality_bitcast = tf.bitcast (a, tf.complex128) Traceback (letzter Aufruf zuletzt): ... InvalidArgumentError: Bitcast von 1 bis 18 nicht möglich [Op: Bitcast ] Equality_cast = tf.cast (a, tf.complex128) print (Equality_cast) tf.Tensor ([1. + 0.j 2. + 0.j 3. + 0.j], Form = (3,), dtype = complex128)

Beispiel 2:

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

Beispiel 3:

x = [1., 2., 3.] y = [0., 2., 3.] Gleichheit = tf.gleich (x, y) Gleichheit_cast = tf.cast (Gleichheit, tf.float32) Gleichheit_bitcast = tf. Bitcast (Equality_cast, tf.uint8) print (Equality) tf.Tensor ([False True True], Form = (3,), dtype = bool) print (Equality_cast) tf.Tensor ([0. 1. 1.], Form = (3,), dtype = float32) print (Gleichheit_bitcast) tf.Tensor ([[0 0 0 0] [0 0 128 63] [0 0 128 63]], Form = (3, 4), dtype = uint8)

HINWEIS: Bitcast als Low-Level - Guss implementiert ist, so Maschinen mit verschiedenen Endian Ordnungen unterschiedliche Ergebnisse geben.

Argumente:

Kehrt zurück:

  • Output : Der Ausgangstensor.

Konstruktoren und Destruktoren

Bitcast (const :: tensorflow::Scope & scope, :: tensorflow::Input input, DataType type)

Öffentliche Attribute

operation
output

Öffentliche Funktionen

node () const
::tensorflow::Node *
operator::tensorflow::Input () const
operator::tensorflow::Output () const

Öffentliche Attribute

Operation

Operation operation

Ausgabe

::tensorflow::Output output

Öffentliche Funktionen

Bitcast

 Bitcast(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  DataType type
)

Knoten

::tensorflow::Node * node() const 

operator :: tensorflow :: Input

 operator::tensorflow::Input() const 

operator :: tensorflow :: Output

 operator::tensorflow::Output() const