fluxo tensor:: ops:: Bitcast
#include <array_ops.h>
Bitcasta um tensor de um tipo para outro sem copiar dados.
Resumo
Dada uma input
de tensor, esta operação retorna um tensor que possui os mesmos dados de buffer que a input
com type
de dados type .
Se o tipo de dados de entrada T
for maior que o type
de tipo de dados de saída, a forma muda de [...] para [..., sizeof( T
)/sizeof( type
)].
Se T
for menor que type
, o operador exige que a dimensão mais à direita seja igual a sizeof( type
)/sizeof( T
). A forma então vai de [..., sizeof( type
)/sizeof( T
)] para [...].
tf.bitcast() e tf.cast() funcionam de maneira diferente quando o dtype real é convertido como um dtype complexo (por exemplo, tf.complex64 ou tf.complex128), pois tf.cast() cria a parte imaginária 0 enquanto tf.bitcast() fornece o módulo erro. Por exemplo,
Exemplo 1:
a = [1., 2., 3.] equal_bitcast = tf.bitcast (a, tf.complex128) Traceback (última chamada mais recente): ... InvalidArgumentError: Não é possível transmitir bit de 1 a 18 [Op: Bitcast ] equal_cast = tf.cast(a, tf.complex128) print(equality_cast) tf.Tensor([1.+0.j 2.+0.j 3.+0.j], shape=(3,), dtype=complex128)
Exemplo 2:
tf.bitcast(tf.constant(0xffffffff, dtype=tf.uint32), tf.uint8)
Exemplo 3:
x = [1., 2., 3.] y = [0., 2., 3.] igualdade = tf.equal (x, y) igualdade_cast = tf.cast (igualdade, tf.float32) igualdade_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 : O Bitcast é implementado como uma conversão de baixo nível, portanto, máquinas com ordenações endian diferentes darão resultados diferentes.
Argumentos:
- escopo: um objeto Escopo
Retorna:
-
Output
: o tensor de saída.
Construtores e Destruidores | |
---|---|
Bitcast (const :: tensorflow::Scope & scope, :: tensorflow::Input input, DataType type) |
Atributos públicos | |
---|---|
operation | |
output |
Funções públicas | |
---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const |
Atributos públicos
Operação
Operation operation
saída
::tensorflow::Output output
Funções públicas
Bitcast
Bitcast( const ::tensorflow::Scope & scope, ::tensorflow::Input input, DataType type )
nó
::tensorflow::Node * node() const
operador::tensorflow::Input
operator::tensorflow::Input() const
operador::tensorflow::Saída
operator::tensorflow::Output() const