tensorflow::ops::QuantizeDownAndShrinkRange
#include <math_ops.h>Konversikan tensor 'input' yang telah dikuantisasi menjadi 'output' dengan presisi lebih rendah, menggunakan.
Ringkasan
distribusi nilai aktual untuk memaksimalkan penggunaan kedalaman bit yang lebih rendah dan menyesuaikan rentang minimum dan maksimum keluaran sesuai dengan itu.
[input_min, input_max] adalah bilangan floating point skalar yang menentukan rentang interpretasi floating point dari data 'input'. Misalnya, jika input_min adalah -1.0f dan input_max adalah 1.0f, dan kita berurusan dengan data terkuantisasi quint16, maka nilai 0 dalam data 16-bit harus diinterpretasikan sebagai -1.0f, dan 65535 berarti 1.0f.
Operator ini mencoba untuk memaksimalkan presisi ke dalam output dengan kedalaman bit yang lebih rendah dengan menghitung nilai minimum dan maksimum aktual yang ditemukan dalam data. Misalnya, mungkin input quint16 tidak memiliki nilai yang lebih rendah dari 16.384 dan tidak ada yang lebih tinggi dari 49.152. Itu berarti hanya setengah dari rentang yang sebenarnya dibutuhkan, semua interpretasi float berada di antara -0,5f dan 0,5f, jadi jika kita ingin mengompres data menjadi output quint8, kita dapat menggunakan rentang tersebut daripada rentang teoritis -1,0f hingga 1,0f yang disarankan oleh nilai minimum dan maksimum input.
Dalam praktiknya, ini paling berguna untuk mengambil output dari operasi seperti QuantizedMatMul yang dapat menghasilkan output dengan kedalaman bit lebih tinggi daripada inputnya dan mungkin memiliki rentang output potensial yang besar, tetapi dalam praktiknya memiliki distribusi nilai input yang hanya menggunakan sebagian kecil dari rentang yang mungkin. Dengan memasukkan output tersebut ke operator ini, kita dapat menguranginya dari 32 bit menjadi 8 bit dengan kehilangan akurasi minimal.
Argumen:
- Cakupan: Objek Cakupan
- input_min: Nilai float yang mewakili nilai input terkuantisasi minimum.
- input_max: Nilai float yang mewakili nilai input terkuantisasi maksimum.
- out_type: Tipe output. Seharusnya memiliki kedalaman bit yang lebih rendah daripada Tinput.
Mengembalikan:
- Keluaran
Output -
Outputoutput_min: Nilai float yang mewakili nilai output terkuantisasi minimum. -
Outputoutput_max: Nilai float yang mewakili nilai output terkuantisasi maksimum.
Konstruktor dan Destruktor | |
|---|---|
QuantizeDownAndShrinkRange (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input input_min, :: tensorflow::Input input_max, DataType out_type) |
Atribut publik | |
|---|---|
operation | |
output | |
output_max | |
output_min | |
Atribut publik
operasi
Operation operation
keluaran
::tensorflow::Output output
output_maksimum
::tensorflow::Output output_max
output_min
::tensorflow::Output output_min
Fungsi publik
QuantizeDownAndShrinkRange
QuantizeDownAndShrinkRange( const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input input_min, ::tensorflow::Input input_max, DataType out_type )