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)
Ejemplo 2:
>>> tf.bitcast(tf.constant(0xffffffff, dtype=tf.uint32), tf.uint8)
<tf.Tensor: ... shape=(4,), dtype=uint8, numpy=array([255, 255, 255, 255], dtype=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 ordenes endian darán resultados diferentes.

Argumentos:

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