tensorflow:: ops:: Bitcast

#include <array_ops.h>

Przekazuje tensor z jednego typu do innego bez kopiowania danych.

Streszczenie

Biorąc pod uwagę tensor input , ta operacja zwraca tensor, który ma takie same dane buforowe jak input i type danych type .

Jeżeli typ danych wejściowych T jest większy od type danych wyjściowych, wówczas kształt zmienia się z [...] na [..., sizeof( T )/sizeof( type )].

Jeśli T jest mniejsze niż type , operator wymaga, aby skrajny prawy wymiar był równy sizeof( type )/sizeof( T ). Kształt zmienia się wówczas z [..., sizeof( type )/sizeof( T )] na [...].

Funkcje tf.bitcast() i tf.cast() działają inaczej, gdy rzeczywisty typ danych jest rzutowany na zespolony typ danych (np. tf.complex64 lub tf.complex128), ponieważ tf.cast() powoduje, że część urojona jest równa 0, podczas gdy tf.bitcast() zwraca błąd modułu. Na przykład:

Przykład 1:

a = [1., 2., 3.]quality_bitcast = tf.bitcast(a, tf.complex128) Traceback (ostatnie wywołanie na końcu): ... InvalidArgumentError: Nie można wykonać transmisji bitowej z 1 do 18 [Op: Bitcast ]quality_cast = tf.cast(a, tf.complex128) print(equality_cast) tf.Tensor([1.+0.j 2.+0.j 3.+0.j], shape=(3,), dtype=complex128)

Przykład 2:

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

Przykład 3:

x = [1., 2., 3.] y = [0., 2., 3.] równość = tf.equal(x,y) równość_cast = tf.cast(równość, tf.float32) równość_bitcast = tf.bitcast(równość_cast, tf.uint8) drukuj(równość) tf.Tensor([Fałsz Prawda Prawda], kształt=(3,), typ danych=bool) drukuj(równość_cast) tf.Tensor([0. 1. 1.], kształt=(3,), typ danych=float32) drukuj(równość_bitcast) tf.Tensor( [[ 0 0 0 0] [ 0 0 128 63] [ 0 0 128 63]], kształt=(3, 4), typ danych=uint8)

UWAGA : Protokół Bitcast jest implementowany jako rzutowanie niskiego poziomu, więc maszyny z różną kolejnością bajtów endianowych dadzą różne wyniki.

Argumenty:

Zwroty:

Konstruktory i destruktory

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

Atrybuty publiczne

operation
output

Funkcje publiczne

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

Atrybuty publiczne

działanie

Operation operation

wyjście

::tensorflow::Output output

Funkcje publiczne

Bitcast

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

węzeł

::tensorflow::Node * node() const 

operator::tensorflow::Input

 operator::tensorflow::Input() const 

operator::tensorflow::Output

 operator::tensorflow::Output() const