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, gerçekte 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.

Uygulamada 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
)