Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
aliran tensor:: operasi:: QuantizeDownAndShrinkRange
#include <math_ops.h>
Ubah tensor 'input' yang terkuantisasi menjadi 'output' dengan presisi lebih rendah, menggunakan.
Ringkasan
distribusi nilai aktual untuk memaksimalkan penggunaan kedalaman bit yang lebih rendah dan menyesuaikan rentang output min dan max yang sesuai.
[input_min, input_max] adalah float skalar yang menentukan rentang interpretasi float 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 ditafsirkan sebagai -1.0f, dan 65535 berarti 1.0f.
Operator ini mencoba memeras presisi sebanyak mungkin ke dalam keluaran dengan kedalaman bit lebih rendah dengan menghitung nilai min dan maks aktual yang ditemukan dalam data. Misalnya, mungkin masukan quint16 tidak memiliki nilai yang lebih rendah dari 16.384 dan tidak ada yang lebih tinggi dari 49.152. Itu berarti hanya setengah rentang yang benar-benar diperlukan, semua interpretasi float berada di antara -0,5f dan 0,5f, jadi jika kita ingin mengompresi data menjadi keluaran quint8, kita dapat menggunakan rentang tersebut daripada menggunakan -1,0f hingga 1,0 secara teoritis. f yang disarankan oleh input min dan maks.
Dalam praktiknya, ini paling berguna untuk mengambil keluaran dari operasi seperti QuantizedMatMul yang dapat menghasilkan keluaran dengan kedalaman bit lebih tinggi daripada masukannya dan mungkin memiliki rentang keluaran potensial yang besar, namun dalam praktiknya memiliki distribusi nilai masukan yang hanya menggunakan sebagian kecil dari nilai masukan. jangkauan yang mungkin. Dengan memasukkan keluaran tersebut ke operator ini, kami dapat menguranginya dari 32 bit menjadi 8 dengan kehilangan akurasi yang minimal.
Argumen:
- ruang lingkup: Objek Lingkup
- input_min: Nilai float yang diwakili oleh nilai input terkuantisasi minimum.
- input_max: Nilai float yang diwakili oleh nilai input terkuantisasi maksimum.
- out_type: Jenis keluaran. Harus memiliki kedalaman bit yang lebih rendah daripada Tinput.
Pengembalian:
- keluaran
Output
-
Output
output_min: Nilai float yang diwakili oleh nilai output terkuantisasi minimum. -
Output
output_max: Nilai float yang diwakili oleh nilai output terkuantisasi maksimum.
Atribut publik
Fungsi publik
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-26 UTC.
[null,null,["Terakhir diperbarui pada 2025-07-26 UTC."],[],[],null,["# tensorflow::ops::QuantizeDownAndShrinkRange Class Reference\n\ntensorflow::ops::QuantizeDownAndShrinkRange\n===========================================\n\n`#include \u003cmath_ops.h\u003e`\n\nConvert the quantized 'input' tensor into a lower-precision 'output', using the.\n\nSummary\n-------\n\nactual distribution of the values to maximize the usage of the lower bit depth and adjusting the output min and max ranges accordingly.\n\n\\[input_min, input_max\\] are scalar floats that specify the range for the float interpretation of the 'input' data. For example, if input_min is -1.0f and input_max is 1.0f, and we are dealing with quint16 quantized data, then a 0 value in the 16-bit data should be interpreted as -1.0f, and a 65535 means 1.0f.\n\nThis operator tries to squeeze as much precision as possible into an output with a lower bit depth by calculating the actual min and max values found in the data. For example, maybe that quint16 input has no values lower than 16,384 and none higher than 49,152. That means only half the range is actually needed, all the float interpretations are between -0.5f and 0.5f, so if we want to compress the data into a quint8 output, we can use that range rather than the theoretical -1.0f to 1.0f that is suggested by the input min and max.\n\nIn practice, this is most useful for taking output from operations like [QuantizedMatMul](/versions/r1.15/api_docs/cc/class/tensorflow/ops/quantized-mat-mul#classtensorflow_1_1ops_1_1_quantized_mat_mul) that can produce higher bit-depth outputs than their inputs and may have large potential output ranges, but in practice have a distribution of input values that only uses a small fraction of the possible range. By feeding that output into this operator, we can reduce it from 32 bits down to 8 with minimal loss of accuracy.\n\nArguments:\n\n- scope: A [Scope](/versions/r1.15/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope) object\n- input_min: The float value that the minimum quantized input value represents.\n- input_max: The float value that the maximum quantized input value represents.\n- out_type: The type of the output. Should be a lower bit depth than Tinput.\n\n\u003cbr /\u003e\n\nReturns:\n\n- [Output](/versions/r1.15/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output) output\n- [Output](/versions/r1.15/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output) output_min: The float value that the minimum quantized output value represents.\n- [Output](/versions/r1.15/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output) output_max: The float value that the maximum quantized output value represents.\n\n\u003cbr /\u003e\n\n| ### Constructors and Destructors ||\n|---|---|\n| [QuantizeDownAndShrinkRange](#classtensorflow_1_1ops_1_1_quantize_down_and_shrink_range_1a19ee578c7b888e9aca48d291a1a0d5da)`(const ::`[tensorflow::Scope](/versions/r1.15/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope)` & scope, ::`[tensorflow::Input](/versions/r1.15/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` input, ::`[tensorflow::Input](/versions/r1.15/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` input_min, ::`[tensorflow::Input](/versions/r1.15/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` input_max, DataType out_type)` ||\n\n| ### Public attributes ||\n|-------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------|\n| [operation](#classtensorflow_1_1ops_1_1_quantize_down_and_shrink_range_1a3ab13cf6f6f7814f990022d1a49b3a99) | [Operation](/versions/r1.15/api_docs/cc/class/tensorflow/operation#classtensorflow_1_1_operation) |\n| [output](#classtensorflow_1_1ops_1_1_quantize_down_and_shrink_range_1a02ce18813489b86884040f42ddcfca87) | `::`[tensorflow::Output](/versions/r1.15/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output) |\n| [output_max](#classtensorflow_1_1ops_1_1_quantize_down_and_shrink_range_1a3c2857dfc27b8777dc82845ec0a4919a) | `::`[tensorflow::Output](/versions/r1.15/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output) |\n| [output_min](#classtensorflow_1_1ops_1_1_quantize_down_and_shrink_range_1aa8dddbbd62576e4961029ce5ed846677) | `::`[tensorflow::Output](/versions/r1.15/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output) |\n\nPublic attributes\n-----------------\n\n### operation\n\n```text\nOperation operation\n``` \n\n### output\n\n```text\n::tensorflow::Output output\n``` \n\n### output_max\n\n```scdoc\n::tensorflow::Output output_max\n``` \n\n### output_min\n\n```scdoc\n::tensorflow::Output output_min\n``` \n\nPublic functions\n----------------\n\n### QuantizeDownAndShrinkRange\n\n```gdscript\n QuantizeDownAndShrinkRange(\n const ::tensorflow::Scope & scope,\n ::tensorflow::Input input,\n ::tensorflow::Input input_min,\n ::tensorflow::Input input_max,\n DataType out_type\n)\n```"]]