Dequantize

kelas akhir publik Dekuantisasi

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))
 
di sini `rentang(T) = batas_numerik ::maks() - batas_numerik ::menit()`

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)
 
Jika modenya adalah `SCALED`, dekuantisasi dilakukan dengan mengalikan setiap nilai input dengan scaling_factor. (Jadi input 0 selalu dipetakan ke 0,0).

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>
buat ( Lingkup lingkup , 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.
Dekuantisasi statis < TFloat32 >
buat ( Lingkup lingkup , 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.
Dequantize.Options statis
mode (mode string)
Dequantize.Options statis
rentang sempit (rentang sempit Boolean)
Keluaran <U>

Metode Warisan

org.tensorflow.op.RawOp
boolean terakhir
sama dengan (Objek objek)
int terakhir
Operasi
op ()
Kembalikan unit komputasi ini sebagai satu Operation .
String terakhir
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 ()
org.tensorflow.op.Op
Lingkungan Eksekusi abstrak
env ()
Kembalikan lingkungan eksekusi tempat operasi ini dibuat.
Operasi abstrak
op ()
Kembalikan unit komputasi ini sebagai satu Operation .
org.tensorflow.Operand
Abstrak Keluaran <U memperluas TNomber >
sebagai Keluaran ()
Mengembalikan pegangan simbolis tensor.
abstrak U memperluas TNomber
sebagai Tensor ()
Mengembalikan tensor pada operan ini.
Bentuk abstrak
membentuk ()
Mengembalikan bentuk tensor (yang mungkin diketahui sebagian) yang dirujuk oleh Output operan ini.
Kelas abstrak<U extends TNumber >
jenis ()
Mengembalikan tipe tensor operan ini
org.tensorflow.ndarray.Shaped
abstrak ke dalam
Bentuk abstrak
abstrak panjang
ukuran ()
Menghitung dan mengembalikan ukuran total wadah ini, dalam jumlah nilai.

Konstanta

String akhir statis publik OP_NAME

Nama operasi ini dikenal dengan mesin inti TensorFlow

Nilai Konstan: "Dekuantisasi"

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.

Sumbu Dequantize.Options statis publik (Sumbu panjang)

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

Mode Dequantize.Options statis publik (mode String)

Dequantize statis publik.Options NarrowRange (Boolean NarrowRange)

Keluaran publik <U> keluaran ()