Dekuantisasi tensor 'input' menjadi Tensor float atau bfloat16.
[min_range, max_range] adalah pelampung skalar yang menentukan rentang keluaran. Atribut 'mode' mengontrol penghitungan mana yang digunakan untuk mengonversi nilai float ke nilai terkuantisasinya.
Dalam mode 'MIN_COMBINED', setiap nilai tensor akan mengalami hal berikut:
if T == qint8: in[i] += (range(T) + 1)/ 2.0
out[i] = min_range + (in[i]* (max_range - min_range) / range(T))
Contoh Mode MIN_COMBINED
Jika masukan berasal dari QuantizedRelu6, jenis keluarannya adalah quint8 (kisaran 0-255) tetapi kisaran QuantizedRelu6 yang mungkin adalah 0-6. Oleh karena itu, nilai min_range dan max_range adalah 0,0 dan 6,0. Dequantize pada quint8 akan mengambil setiap nilai, dilemparkan ke float, dan dikalikan dengan 6/255. Perhatikan bahwa jika quantizedtype adalah qint8, operasi ini juga akan menambahkan setiap nilai sebesar 128 sebelum casting.
Jika modenya adalah 'MIN_FIRST', maka pendekatan ini digunakan:
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)
Faktor_penskalaan ditentukan dari `min_range`, `max_range`, dan `narrow_range` dengan cara yang kompatibel dengan `QuantizeAndDequantize{V2|V3}` dan `QuantizeV2`, menggunakan algoritma berikut:
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);
Kelas Bersarang
kelas | Dekuantisasi. Opsi | Atribut opsional untuk Dequantize |
Konstanta
Rangkaian | OP_NAME | Nama operasi ini dikenal dengan mesin inti TensorFlow |
Metode Publik
Keluaran <U> | sebagai Keluaran () Mengembalikan pegangan simbolis tensor. |
Dequantize.Options statis | sumbu (Sumbu panjang) |
statis <U extends TNumber > Dequantize <U> | |
Dekuantisasi statis < TFloat32 > | |
Dequantize.Options statis | mode (mode string) |
Dequantize.Options statis | rentang sempit (rentang sempit Boolean) |
Keluaran <U> | keluaran () |
Metode Warisan
boolean | sama dengan (Objek arg0) |
Kelas terakhir<?> | dapatkan Kelas () |
ke dalam | Kode hash () |
kekosongan terakhir | beri tahu () |
kekosongan terakhir | beri tahuSemua () |
Rangkaian | keString () |
kekosongan terakhir | tunggu (arg0 panjang, int arg1) |
kekosongan terakhir | tunggu (argumen panjang0) |
kekosongan terakhir | Tunggu () |
Lingkungan Eksekusi abstrak | env () Kembalikan lingkungan eksekusi tempat operasi ini dibuat. |
Operasi abstrak |
Abstrak Keluaran <U memperluas TNomber > | sebagai Keluaran () Mengembalikan pegangan simbolis tensor. |
abstrak U memperluas TNomber | sebagai Tensor () Mengembalikan tensor pada operan ini. |
Bentuk abstrak | |
Kelas abstrak<U extends TNumber > | jenis () Mengembalikan tipe tensor operan ini |
Konstanta
String akhir statis publik OP_NAME
Nama operasi ini dikenal dengan mesin inti TensorFlow
Metode Publik
Keluaran publik <U> sebagai Keluaran ()
Mengembalikan pegangan simbolis tensor.
Masukan ke operasi TensorFlow adalah keluaran dari operasi TensorFlow lainnya. Metode ini digunakan untuk mendapatkan pegangan simbolis yang mewakili perhitungan input.
public static Dequantize <U> buat ( Lingkup cakupan , Operan <? extends TType > input, Operan < TFloat32 > minRange, Operan < TFloat32 > maxRange, Kelas<U> dtype, Opsi... opsi)
Metode pabrik untuk membuat kelas yang membungkus operasi Dequantize baru.
Parameter
cakupan | ruang lingkup saat ini |
---|---|
rentang minimum | Nilai skalar minimum yang mungkin dihasilkan untuk masukan. |
rentang maksimal | Nilai skalar maksimum yang mungkin dihasilkan untuk masukan. |
tipe | Jenis tensor keluaran. Saat ini Dequantize mendukung float dan bfloat16. Jika 'dtype' adalah 'bfloat16', ini hanya mendukung mode 'MIN_COMBINED'. |
pilihan | membawa nilai atribut opsional |
Kembali
- contoh baru Dequantize
public static Dequantize < TFloat32 > buat ( Lingkup cakupan , Operan <? extends TType > masukan, Operan < TFloat32 > minRange, Operan < TFloat32 > maxRange, Opsi... opsi)
Metode pabrik untuk membuat kelas yang membungkus operasi Dequantize baru menggunakan tipe output default.
Parameter
cakupan | ruang lingkup saat ini |
---|---|
rentang minimum | Nilai skalar minimum yang mungkin dihasilkan untuk masukan. |
rentang maksimal | Nilai skalar maksimum yang mungkin dihasilkan untuk masukan. |
pilihan | membawa nilai atribut opsional |
Kembali
- contoh baru Dequantize