tensorflow::ops::Bitcast
#include <array_ops.h>Melakukan bitcast pada tensor dari satu tipe ke tipe lain tanpa menyalin data.
Ringkasan
Dengan diberikan input tensor, operasi ini mengembalikan tensor yang memiliki data buffer yang sama dengan input dengan type data type.
Jika tipe data input T lebih besar daripada type data output type 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 tipe data real diubah menjadi tipe data kompleks (misalnya tf.complex64 atau tf.complex128) karena tf.cast() membuat bagian imajiner menjadi 0 sedangkan tf.bitcast() memberikan kesalahan modul. Misalnya,
Contoh 1:
a = [1., 2., 3.] equality_bitcast = tf.bitcast(a, tf.complex128) Traceback (most recent call last): ... InvalidArgumentError: Cannot bitcast from 1 to 18 [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)
Contoh 2:
tf.bitcast(tf.constant(0xffffffff, dtype=tf.uint32), tf.uint8)
Contoh 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)
CATATAN : Bitcast diimplementasikan sebagai konversi tipe data tingkat rendah, sehingga mesin dengan urutan endian yang berbeda akan memberikan hasil yang berbeda.
Argumen:
- Cakupan: Objek Cakupan
Mengembalikan:
-
Output: Tensor output.
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::Input
operator::tensorflow::Input() const
operator::tensorflow::Output
operator::tensorflow::Output() const