Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
tensor akışı:: işlem:: QuantizeDownAndShrinkRange
#include <math_ops.h>
kullanarak nicelenmiş 'giriş' tensörünü daha düşük hassasiyetli bir 'çıkışa' dönüştürün.
Özet
daha düşük bit derinliğinin kullanımını en üst düzeye çıkarmak ve çıkışın minimum ve maksimum aralıklarını buna göre ayarlamak için değerlerin gerçek dağıtımı.
[input_min, input_max], 'giriş' verilerinin kayan nokta yorumlanmasına ilişkin aralığı belirten skaler değişkenlerdir. Örneğin, giriş_min -1.0f ve giriş_maks. 1.0f ise ve quint16 kuantize edilmiş verilerle ilgileniyorsak, 16 bitlik verilerdeki 0 değeri -1.0f olarak yorumlanmalıdır ve 65535, 1.0f anlamına gelir.
Bu operatör, verilerde bulunan gerçek minimum ve maksimum değerleri hesaplayarak, daha düşük bit derinliğine sahip bir çıktıya mümkün olduğunca fazla hassasiyet sıkıştırmaya çalışır. Örneğin, belki de quint16 girişinin 16.384'ten düşük ve 49.152'den yüksek değeri yoktur. Bu, aslında aralığın yalnızca yarısının gerekli olduğu anlamına gelir; tüm kayan noktalı yorumlamalar -0,5f ile 0,5f arasındadır, dolayısıyla verileri bir quint8 çıktısına sıkıştırmak istiyorsak, teorik -1,0f ila 1,0 yerine bu aralığı kullanabiliriz. f min ve max girişi tarafından önerilen değerdir.
Pratikte bu, girişlerinden daha yüksek bit derinliğinde çıkışlar üretebilen ve büyük potansiyel çıkış aralıklarına sahip olabilen, ancak pratikte girdi değerlerinin yalnızca küçük bir kısmını kullanan bir giriş değerleri dağılımına sahip olan QuantizedMatMul gibi işlemlerden çıktı almak için en kullanışlıdır. olası aralık. Bu çıktıyı bu operatöre besleyerek, minimum doğruluk kaybıyla onu 32 bitten 8'e düşürebiliriz.
Argümanlar:
- kapsam: Bir Kapsam nesnesi
- input_min: Minimum nicelenmiş giriş değerinin temsil ettiği kayan değer.
- input_max: Maksimum nicelenmiş giriş değerinin temsil ettiği kayan değer.
- out_type: Çıktının türü. Tinput'tan daha düşük bir bit derinliği olmalıdır.
İade:
-
Output
çıkışı -
Output
çıkışı_min: Minimum nicelenmiş çıkış değerinin temsil ettiği kayan değer. -
Output
Output_max: Maksimum nicelenmiş çıkış değerinin temsil ettiği kayan değer.
Genel özellikler
Kamu işlevleri
Aksi belirtilmediği sürece bu sayfanın içeriği Creative Commons Atıf 4.0 Lisansı altında ve kod örnekleri Apache 2.0 Lisansı altında lisanslanmıştır. Ayrıntılı bilgi için Google Developers Site Politikaları'na göz atın. Java, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-07-26 UTC.
[null,null,["Son güncelleme tarihi: 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```"]]