Bitcast

halka açık final dersi Bitcast

Verileri kopyalamadan bir tensörü bir türden diğerine aktarır.

Bir tensör "girdisi" verildiğinde, bu işlem "tip" veri türüyle "giriş" ile aynı arabellek verilerine sahip bir tensör döndürür.

Giriş veri türü 'T' çıktı veri türü 'tip'ten büyükse şekil [...]'den [..., sizeof('T')/sizeof('type')] olarak değişir.

"T", "type"tan küçükse, operatör en sağdaki boyutun sizeof(`type`)/sizeof(`T`) değerine eşit olmasını gerektirir. Şekil daha sonra [..., sizeof(`type`)/sizeof(`T`)]'dan [...]'a gider.

Gerçek dtype karmaşık bir dtype (örn. tf.complex64 veya tf.complex128) olarak dönüştürüldüğünde tf.bitcast() ve tf.cast() farklı çalışır, çünkü tf.cast() hayali parça 0'ı oluştururken tf.bitcast() modülü verir hata. Örneğin,

Örnek 1:

>>> a = [1., 2., 3.] >>> eşitlik_bitcast = tf.bitcast(a, tf.complex128) Traceback (en son çağrı son): ... InvalidArgumentError: 1'den 18'e kadar bit yayını yapılamıyor [ İşlem:Bitcast] >>> eşitlik_cast = tf.cast(a, tf.complex128) >>> print(equality_cast) tf.Tensor([1.+0.j 2.+0.j 3.+0.j] , şekil=(3,), dtype=karmaşık128)

Örnek 2:

>>> tf.bitcast(tf.constant(0xffffffff, dtype=tf.uint32), tf.uint8)

Örnek 3:

>>> x = [1., 2., 3.] >>> y = [0., 2., 3.] >>> eşitlik= tf.equal(x,y) >>> eşitlik_cast = tf. cast(equality,tf.float32) >>> eşitlik_bitcast = tf.bitcast(equality_cast,tf.uint8) >>> print(equality) tf.Tensor([Yanlış Doğru Doğru], şekil=(3,), dtype=bool ) >>> print(equality_cast) tf.Tensor([0.1. 1.], şekil=(3,), dtype=float32) >>> print(equality_bitcast) tf.Tensor( [[ 0 0 0 0] [ 0 0 128 63] [ 0 0 128 63]], şekil=(3, 4), dtype=uint8)

NOT : Bitcast, düşük seviyeli bir dönüşüm olarak uygulanır, bu nedenle farklı endian sıralamalarına sahip makineler farklı sonuçlar verecektir. LE makinelerinde olduğu gibi aynı döküm sonuçlarını elde etmek için tipler farklı boyutlarda olduğunda BE makinelerinde giriş arabelleğinden çıkış arabelleğine bir kopya yapılır.

Genel Yöntemler

Çıkış <U>
Çıkış olarak ()
Bir tensörün sembolik tutamacını döndürür.
statik <U, T> Bit yayını <U>
create ( Kapsam kapsamı, İşlenen <T> girişi, Sınıf<U> türü)
Yeni bir Bitcast işlemini saran bir sınıf oluşturmaya yönelik fabrika yöntemi.
Çıkış <U>

Kalıtsal Yöntemler

Genel Yöntemler

genel Çıkış <U> asOutput ()

Bir tensörün sembolik tutamacını döndürür.

TensorFlow işlemlerinin girdileri, başka bir TensorFlow işleminin çıktılarıdır. Bu yöntem, girişin hesaplanmasını temsil eden sembolik bir tanıtıcı elde etmek için kullanılır.

public static Bitcast <U> oluştur ( Kapsam kapsamı, İşlenen <T> girişi, Sınıf<U> türü)

Yeni bir Bitcast işlemini saran bir sınıf oluşturmaya yönelik fabrika yöntemi.

Parametreler
kapsam mevcut kapsam
İadeler
  • Bitcast'in yeni bir örneği

genel Çıkış <U> çıkışı ()