aliran tensor:: operasi:: bitcast
#include <array_ops.h>
Mem-bitcast tensor dari satu jenis ke jenis lainnya tanpa menyalin data.
Ringkasan
Dengan adanya input
tensor, operasi ini mengembalikan tensor yang memiliki data buffer yang sama dengan input
dengan type
tipe data.
Jika tipe data masukan T
lebih besar dari type
data keluaran maka bentuknya berubah dari [...] menjadi [..., sizeof( T
)/sizeof( type
)].
Jika T
lebih kecil dari type
, operator mengharuskan dimensi paling kanan sama dengan sizeof( type
)/sizeof( T
). Bentuknya kemudian berubah dari [..., sizeof( type
)/sizeof( T
)] menjadi [...].
tf.bitcast() dan tf.cast() bekerja secara berbeda ketika dtype nyata dicor sebagai dtype kompleks (misalnya tf.complex64 atau tf.complex128) karena tf.cast() membuat bagian imajiner 0 sementara tf.bitcast() memberikan modul kesalahan. Misalnya,
Contoh 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)
CATATAN : Bitcast diimplementasikan sebagai cast tingkat rendah, sehingga mesin dengan urutan endian berbeda akan memberikan hasil yang berbeda.
Argumen:
- ruang lingkup: Objek Lingkup
Pengembalian:
-
Output
: Tensor keluaran.
Konstruktor dan Destruktor | |
---|---|
Bitcast (const :: tensorflow::Scope & scope, :: tensorflow::Input input, DataType type) |
Atribut publik | |
---|---|
operation | |
output |
Fungsi publik | |
---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const |
Atribut publik
operasi
Operation operation
keluaran
::tensorflow::Output output
Fungsi publik
bitcast
Bitcast( const ::tensorflow::Scope & scope, ::tensorflow::Input input, DataType type )
simpul
::tensorflow::Node * node() const
operator::tensorflow::Masukan
operator::tensorflow::Input() const
operator::tensorflow::Keluaran
operator::tensorflow::Output() const