Bitcasts tensor dari satu jenis ke jenis lainnya tanpa menyalin data.
Diberikan `input` tensor, operasi ini mengembalikan tensor yang memiliki data buffer yang sama dengan `input` dengan tipe data `type`.
Jika tipe data input `T` lebih besar dari tipe 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 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. Sebagai contoh,
Contoh 1:
>>> a = [1., 2., 3.] >>> kesetaraan_bitcast = tf.bitcast(a, tf.complex128) Traceback (panggilan terakhir terakhir): ... InvalidArgumentError: Cannot bitcast from 1 to 18 [ Op:Bitcast] >>> equal_cast = tf.cast(a, tf.complex128) >>> print(equality_cast) tf.Tensor([1.+0.j 2.+0.j 3.+0.j] , bentuk=(3,), dtype=kompleks128)
Contoh 2:
>>> tf.bitcast(tf.constant(0xffffffff, dtype=tf.uint32), tf.uint8) Contoh 3: >>> x = [1., 2., 3.] >>> y = [0., 2., 3.] >>> persamaan= tf.equal(x,y) >>> equal_cast = tf. cast(equality,tf.float32) >>> equal_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]], bentuk=(3, 4), dtype=uint8) CATATAN: Bitcast diimplementasikan sebagai pemain tingkat rendah, sehingga mesin dengan orderings endian yang berbeda akan memberikan hasil yang berbeda.
Metode Publik
Output <U> | asOutput () Mengembalikan pegangan simbolis tensor. |
statis <U, T> Bitcast <U> | |
Output <U> | Output () |
Metode yang Diwarisi
Metode Publik
publik Keluaran <U> asOutput ()
Mengembalikan pegangan simbolis tensor.
Input ke operasi TensorFlow adalah output dari operasi TensorFlow lainnya. Metode ini digunakan untuk mendapatkan pegangan simbolis yang mewakili perhitungan input.
public static Bitcast <U> membuat ( Lingkup lingkup, Operan <T> input, Kelas <U> jenis)
Metode pabrik untuk membuat kelas yang membungkus operasi Bitcast baru.
Parameter
cakupan | lingkup saat ini |
---|
Kembali
- contoh baru Bitcast