Dequantize

halka açık son sınıf Dequantize

'Giriş' tensörünü bir float veya bfloat16 Tensörüne dönüştürün.

[min_aralık, maksimum_aralık] çıktının aralığını belirten skaler değişkenlerdir. 'Mode' özelliği, kayan değer değerlerini nicelenmiş eşdeğerlerine dönüştürmek için tam olarak hangi hesaplamaların kullanıldığını kontrol eder.

'MIN_COMBINED' modunda tensörün her değeri aşağıdaki işlemlerden geçecektir:

if T == qint8: in[i] += (range(T) + 1)/ 2.0
 out[i] = min_range + (in[i]* (max_range - min_range) / range(T))
 
burada `aralık(T) = sayısal_limitler ::max() - sayısal_limitler ::dakika()`

MIN_COMBINED Mod Örneği

Giriş bir QuantizedRelu6'dan geliyorsa, çıkış türü quint8'dir (0-255 aralığı) ancak QuantizedRelu6'nın olası aralığı 0-6'dır. Min_range ve max_range değerleri bu nedenle 0,0 ve 6,0'dır. Quint8'deki dequantize her değeri alır, float'a çevirir ve 6/255 ile çarpar. Eğer quantizedtype qint8 ise, işlemin dökümden önce ek olarak her değeri 128 ile ekleyeceğini unutmayın.

Mod 'MIN_FIRST' ise bu yaklaşım kullanılır:

num_discrete_values = 1 << (# of bits in T)
 range_adjust = num_discrete_values / (num_discrete_values - 1)
 range = (range_max - range_min) * range_adjust
 range_scale = range / num_discrete_values
 const double offset_input = static_cast<double>(input) - lowest_quantized;
 result = range_min + ((input - numeric_limits<T>::min()) * range_scale)
 
Mod "ÖLÇEKLİ" ise, her giriş değerinin bir ölçeklendirme_faktörü ile çarpılmasıyla dekuantizasyon gerçekleştirilir. (Böylece 0 girişi her zaman 0,0 ile eşleşir).

Ölçekleme_faktörü, aşağıdaki algoritma kullanılarak "QuantizeAndDequantize{V2|V3}" ve "QuantizeV2" ile uyumlu olacak şekilde "min_aralık", "maks_aralık" ve "dar_aralık"tan belirlenir:

const int min_expected_T = std::numeric_limits<T>::min() +
     (narrow_range ? 1 : 0);
   const int max_expected_T = std::numeric_limits<T>::max();
   const float max_expected_T = std::numeric_limits<float>::max();
 
   const float scale_factor =
     (std::numeric_limits<T>::min() == 0) ? (max_range / max_expected_T)
                                          : std::max(min_range / min_expected_T,
                                                     max_range / max_expected_T);
 

İç İçe Sınıflar

sınıf Dequantize.Seçenekler Dequantize için isteğe bağlı özellikler

Sabitler

Sicim OP_NAME Bu operasyonun TensorFlow çekirdek motoru tarafından bilinen adı

Genel Yöntemler

Çıkış <U>
Çıkış olarak ()
Tensörün sembolik tutamacını döndürür.
statik Dekuantizasyon.Seçenekler
eksen (Uzun eksen)
statik <U TNumber'ı genişletir > Dekuantizasyon <U>
create ( Kapsam kapsamı, İşlenen <? extends TType > giriş, İşlenen < TFloat32 > minRange, İşlenen < TFloat32 > maxRange, Class<U> dtype, Seçenekler... seçenekler)
Yeni bir Dequantize işlemini saran bir sınıf oluşturmaya yönelik fabrika yöntemi.
statik Dekuantizasyon < TFloat32 >
create ( Kapsam kapsamı, İşlenen <? TType'ı genişletir > giriş, İşlenen < TFloat32 > minRange, İşlenen < TFloat32 > maxRange, Seçenekler... seçenekler)
Varsayılan çıkış türlerini kullanarak yeni bir Dequantize işlemini saran bir sınıf oluşturmaya yönelik fabrika yöntemi.
statik Dekuantizasyon.Seçenekler
modu (Dize modu)
statik Dekuantizasyon.Seçenekler
darRange (Boolean darRange)
Çıkış <U>

Kalıtsal Yöntemler

Sabitler

genel statik son Dize OP_NAME

Bu operasyonun TensorFlow çekirdek motoru tarafından bilinen adı

Sabit Değer: "Dekuantizasyon"

Genel Yöntemler

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

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 Dequantize.Options ekseni (Uzun eksen)

public static Dequantize <U> create ( Kapsam kapsamı, İşlenen <? extends TType > giriş, İşlenen < TFloat32 > minRange, İşlenen < TFloat32 > maxRange, Class<U> dtype, Seçenekler... seçenekler)

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

Parametreler
kapsam mevcut kapsam
minAralık Giriş için muhtemelen üretilen minimum skaler değer.
maksimum aralık Giriş için muhtemelen üretilen maksimum skaler değer.
dtype Çıkış tensörünün türü. Şu anda Dequantize, float ve bfloat16'yı desteklemektedir. 'dtype', 'bfloat16' ise yalnızca 'MIN_COMBINED' modunu destekler.
seçenekler isteğe bağlı nitelik değerlerini taşır
İade
  • Dequantize'ın yeni bir örneği

public static Dequantize < TFloat32 > create ( Kapsam kapsamı, İşlenen <? extends TType > giriş, İşlenen < TFloat32 > minRange, İşlenen < TFloat32 > maxRange, Seçenekler... seçenekler)

Varsayılan çıkış türlerini kullanarak yeni bir Dequantize işlemini saran bir sınıf oluşturmaya yönelik fabrika yöntemi.

Parametreler
kapsam mevcut kapsam
minAralık Giriş için muhtemelen üretilen minimum skaler değer.
maksimum aralık Giriş için muhtemelen üretilen maksimum skaler değer.
seçenekler isteğe bağlı nitelik değerlerini taşır
İade
  • Dequantize'ın yeni bir örneği

public static Dequantize.Options modu (Dize modu)

public static Dequantize.Options darRange (Boolean darRange)

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