Bitcast

Bitcast kelas akhir publik

Mem-bitcast tensor dari satu jenis ke jenis lainnya tanpa menyalin data.

Mengingat `input` tensor, operasi ini mengembalikan tensor yang memiliki data buffer yang sama dengan `input` dengan tipe data `type`.

Jika tipe data masukan `T` lebih besar dari tipe data keluaran `tipe` 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.] >>> kesetaraan_bitcast = tf.bitcast(a, tf.complex128) Traceback (panggilan terakhir terakhir): ... InvalidArgumentError: Tidak dapat melakukan bitcast dari 1 hingga 18 [ Op:Bitcast] >>> kesetaraan_cast = tf.cast(a, tf.complex128) >>> print(equality_cast) tf.Tensor([1.+0.j 2.+0.j 3.+0.j] , bentuk=(3,), tiped=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) >>> kesetaraan_cast = tf. cast(equality,tf.float32) >>>equality_bitcast = tf.bitcast(equality_cast,tf.uint8) >>> print(equality) tf.Tensor([False Benar Benar], 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), tiped=uint8)

CATATAN : Bitcast diimplementasikan sebagai cast tingkat rendah, sehingga mesin dengan urutan endian berbeda akan memberikan hasil yang berbeda. Salinan dari buffer input ke buffer output dibuat pada mesin BE ketika jenisnya memiliki ukuran berbeda untuk mendapatkan hasil casting yang sama seperti pada mesin LE.

Metode Publik

Keluaran <U>
sebagai Keluaran ()
Mengembalikan pegangan simbolik tensor.
statis <U, T> Bitcast <U>
buat ( Lingkup lingkup, masukan Operan <T>, tipe Kelas<U>)
Metode pabrik untuk membuat kelas yang membungkus operasi Bitcast baru.
Keluaran <U>

Metode Warisan

Metode Publik

Keluaran publik <U> sebagai Keluaran ()

Mengembalikan pegangan simbolik tensor.

Masukan ke operasi TensorFlow adalah keluaran dari operasi TensorFlow lainnya. Metode ini digunakan untuk mendapatkan pegangan simbolis yang mewakili perhitungan input.

public static Bitcast <U> buat ( Lingkup lingkup, masukan Operan <T>, tipe Kelas<U>)

Metode pabrik untuk membuat kelas yang membungkus operasi Bitcast baru.

Parameter
cakupan ruang lingkup saat ini
Kembali
  • contoh baru dari Bitcast

Keluaran publik <U> keluaran ()