flujo tensor:: operaciones:: Bitcast
#include <array_ops.h>
Transmite 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 del búfer que input
con type
de datos.
Si el tipo de datos de entrada T
es mayor que el type
de datos de salida, entonces la forma cambia de [...] a [..., tamaño de ( T
)/tamaño de ( type
)].
Si T
es menor que type
, el operador requiere que la dimensión más a la derecha sea igual a tamaño de ( type
)/tamaño de ( T
). La forma luego pasa de [..., tamaño de ( type
)/tamaño de ( T
)] a [...].
tf.bitcast() y tf.cast() funcionan de manera diferente cuando el tipo d real se convierte como un tipo d complejo (por ejemplo, tf.complex64 o tf.complex128), ya que tf.cast() convierte la parte imaginaria en 0, mientras que tf.bitcast() proporciona el módulo. error. Por ejemplo,
Ejemplo 1:
>>> a = [1., 2., 3.] >>> equality_bitcast = tf.bitcast(a,tf.complex128) tensorflow.python.framework.errors_impl.InvalidArgumentError: Cannot bitcast from float to complex128: shape [3] [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)
>>> tf.bitcast(tf.constant(0xffffffff, dtype=tf.uint32), tf.uint8) <tf.Tensor: ... shape=(4,), dtype=uint8, numpy=array([255, 255, 255, 255], dtype=uint8)>
>>> 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 ordenes endian darán resultados diferentes.
Argumentos:
- alcance: un objeto de alcance
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
Bitcast
Bitcast( const ::tensorflow::Scope & scope, ::tensorflow::Input input, DataType type )
nodo
::tensorflow::Node * node() const
operador::tensorflow::Entrada
operator::tensorflow::Input() const
operador::tensorflow::Salida
operator::tensorflow::Output() const