tensorflow:: ops:: Bitcast
#include <array_ops.h>Convierte un tensor de un tipo a otro sin copiar datos.
Resumen
Dada una input de tensor, esta operación devuelve un tensor que tiene los mismos datos de búfer que input con el type de datos type.
Si el tipo de datos de entrada T es mayor que el type de datos de salida type, entonces la forma cambia de [...] a [..., sizeof( T )/sizeof( type )].
Si T es menor que type , el operador requiere que la dimensión más a la derecha sea igual a sizeof( type )/sizeof( T ). La forma entonces pasa de [..., sizeof( type )/sizeof( T )] a [...].
tf.bitcast() y tf.cast() funcionan de manera diferente cuando un tipo de datos real se convierte a un tipo de datos complejo (por ejemplo, tf.complex64 o tf.complex128), ya que tf.cast() hace que la parte imaginaria sea 0, mientras que tf.bitcast() genera un error de módulo. Por ejemplo,
Ejemplo 1:
a = [1., 2., 3.] equality_bitcast = tf.bitcast(a, tf.complex128) Traceback (most recent call last): ... InvalidArgumentError: No se puede convertir de 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], shape=(3,), dtype=complex128)
Ejemplo 2:
tf.bitcast(tf.constant(0xffffffff, dtype=tf.uint32), tf.uint8)
Ejemplo 3:
x = [1., 2., 3.] y = [0., 2., 3.] equality = tf.equal(x, y) equality_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]], shape=(3, 4), dtype=uint8)
NOTA : Bitcast se implementa como una conversión de bajo nivel, por lo que las máquinas con diferentes ordenamientos de bytes darán resultados diferentes.
Argumentos:
- ámbito: Un objeto de ámbito
Devoluciones:
-
Output: El tensor de salida.
Constructores y destructores | |
|---|---|
Bitcast (const :: tensorflow::Scope & scope, :: tensorflow::Input input, DataType type) |
Atributos públicos | |
|---|---|
operation | |
output | |
Funciones públicas | |
|---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const | |
Atributos públicos
operación
Operation operation
producción
::tensorflow::Output output
Funciones públicas
Lanzamiento de datos
Bitcast( const ::tensorflow::Scope & scope, ::tensorflow::Input input, DataType type )
nodo
::tensorflow::Node * node() const
operador::tensorflow::Input
operator::tensorflow::Input() const
operador::tensorflow::Salida
operator::tensorflow::Output() const