¿Tengo una pregunta? Conéctese con la comunidad en el Foro de visita del foro de TensorFlow

tensorflow :: operaciones :: Bitcast

#include <array_ops.h>

Bitcasts un tensor de un tipo a otro sin copiar datos.

Resumen

Dada una input tensor, esta operación devuelve un tensor que tiene los mismos datos de búfer que la input con tipo de type datos.

Si el tipo de datos de entrada T es mayor que el type datos de salida, 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 sizeof ( type ) / sizeof ( T ). La forma pasa entonces de [..., tamaño de ( type ) / tamaño de ( T )] a [...].

tf.bitcast () y tf.cast () funcionan de manera diferente cuando el dtype real se convierte en un dtype complejo (por ejemplo, tf.complex64 o tf.complex128) ya que tf.cast () hace la parte imaginaria 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)

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 un elenco de bajo nivel, por lo que las máquinas con diferentes órdenes de 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 publicas

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 publicas

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