'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))
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)
Ö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> | |
statik Dekuantizasyon < TFloat32 > | |
statik Dekuantizasyon.Seçenekler | modu (Dize modu) |
statik Dekuantizasyon.Seçenekler | darRange (Boolean darRange) |
Çıkış <U> | çıktı () |
Kalıtsal Yöntemler
Sabitler
genel statik son Dize OP_NAME
Bu operasyonun TensorFlow çekirdek motoru tarafından bilinen adı
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 <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