tensor akışı:: işlem:: QuantizeDownAndShrinkRange
#include <math_ops.h>
kullanarak nicelenmiş 'giriş' tensörünü daha düşük hassasiyetli bir 'çıkışa' dönüştürün.
Özet
daha düşük bit derinliğinin kullanımını en üst düzeye çıkarmak ve çıkışın minimum ve maksimum aralıklarını buna göre ayarlamak için değerlerin gerçek dağıtımı.
[input_min, input_max], 'giriş' verilerinin kayan nokta yorumlanmasına ilişkin aralığı belirten skaler değişkenlerdir. Örneğin, giriş_min -1.0f ve giriş_maks. 1.0f ise ve quint16 kuantize edilmiş verilerle ilgileniyorsak, 16 bitlik verilerdeki 0 değeri -1.0f olarak yorumlanmalıdır ve 65535, 1.0f anlamına gelir.
Bu operatör, verilerde bulunan gerçek minimum ve maksimum değerleri hesaplayarak, daha düşük bit derinliğine sahip bir çıktıya mümkün olduğunca fazla hassasiyet sıkıştırmaya çalışır. Örneğin, belki de quint16 girişinin 16.384'ten düşük ve 49.152'den yüksek değeri yoktur. Bu, aslında aralığın yalnızca yarısının gerekli olduğu anlamına gelir; tüm kayan noktalı yorumlamalar -0,5f ile 0,5f arasındadır, dolayısıyla verileri bir quint8 çıktısına sıkıştırmak istiyorsak, teorik -1,0f ila 1,0 yerine bu aralığı kullanabiliriz. f min ve max girişi tarafından önerilen değerdir.
Pratikte bu, girişlerinden daha yüksek bit derinliğinde çıkışlar üretebilen ve büyük potansiyel çıkış aralıklarına sahip olabilen, ancak pratikte girdi değerlerinin yalnızca küçük bir kısmını kullanan bir giriş değerleri dağılımına sahip olan QuantizedMatMul gibi işlemlerden çıktı almak için en kullanışlıdır. olası aralık. Bu çıktıyı bu operatöre besleyerek, minimum doğruluk kaybıyla onu 32 bitten 8'e düşürebiliriz.
Argümanlar:
- kapsam: Bir Kapsam nesnesi
- input_min: Minimum nicelenmiş giriş değerinin temsil ettiği kayan değer.
- input_max: Maksimum nicelenmiş giriş değerinin temsil ettiği kayan değer.
- out_type: Çıktının türü. Tinput'tan daha düşük bir bit derinliği olmalıdır.
İade:
-
Output
çıkışı -
Output
çıkışı_min: Minimum nicelenmiş çıkış değerinin temsil ettiği kayan değer. -
Output
Output_max: Maksimum nicelenmiş çıkış değerinin temsil ettiği kayan değer.
Yapıcılar ve Yıkıcılar | |
---|---|
QuantizeDownAndShrinkRange (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input input_min, :: tensorflow::Input input_max, DataType out_type) |
Genel özellikler | |
---|---|
operation | |
output | |
output_max | |
output_min |
Genel özellikler
operasyon
Operation operation
çıktı
::tensorflow::Output output
çıktı_maks
::tensorflow::Output output_max
çıktı_dakika
::tensorflow::Output output_min
Kamu işlevleri
QuantizeDownAndShrinkRange
QuantizeDownAndShrinkRange( const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input input_min, ::tensorflow::Input input_max, DataType out_type )