tensorflow:: אופס:: QuantizeDownAndShrinkRange
#include <math_ops.h>
המר את טנסור ה-'קלט' המכומתי ל'פלט' בעל דיוק נמוך יותר, באמצעות ה-.
תַקצִיר
הפצה בפועל של הערכים כדי למקסם את השימוש בעומק הסיביות התחתון והתאמת טווחי המינימום והמקסימום של הפלט בהתאם.
[input_min, input_max] הם צפים סקלאריים המציינים את הטווח עבור פרשנות הציפה של נתוני 'הקלט'. לדוגמה, אם input_min הוא -1.0f ו-input_max הוא 1.0f, ואנו עוסקים בנתונים quantized quant16, אז יש לפרש ערך 0 בנתונים של 16 סיביות כ-1.0f, ו-65535 פירושו 1.0f.
אופרטור זה מנסה לסחוט כמה שיותר דיוק לתוך פלט עם עומק סיביות נמוך יותר על ידי חישוב ערכי המינימום והמקסימום בפועל שנמצאו בנתונים. לדוגמה, אולי לקלט של quint16 אין ערכים נמוכים מ-16,384 ואף לא גבוה מ-49,152. זה אומר שרק חצי מהטווח נחוצים בפועל, כל הפירושים הצפים הם בין -0.5f ל-0.5f, כך שאם אנחנו רוצים לדחוס את הנתונים לפלט quint8, נוכל להשתמש בטווח הזה ולא ב-1.0f התיאורטי עד 1.0 f המוצע על ידי הקלט min ו-max.
בפועל, זה שימושי ביותר עבור נטילת פלט מפעולות כמו QuantizedMatMul שיכולות לייצר פלטים בעומק סיביות גבוהים יותר מהכניסות שלהן ועשויות להיות בעלות טווחי פלט פוטנציאליים גדולים, אך בפועל יש להן התפלגות ערכי קלט שמשתמשת רק בחלק קטן של טווח אפשרי. על ידי הזנת הפלט לאופרטור הזה, נוכל לצמצם אותו מ-32 סיביות ל-8 עם אובדן דיוק מינימלי.
טיעונים:
- scope: אובייקט Scope
- input_min: הערך הצף שערך הקלט הקוונטי המינימלי מייצג.
- input_max: הערך הצף שערך הקלט המקוונטי המקסימלי מייצג.
- out_type: סוג הפלט. צריך להיות עומק סיביות נמוך יותר מ- Tinput.
החזרות:
-
Output
פלט -
Output
output_min: הערך הצף שערך הפלט המקוונטי המינימלי מייצג. -
Output
output_max: הערך הצף שערך הפלט המקוונטי המקסימלי מייצג.
תכונות ציבוריות
מִבצָע
Operation operation
תְפוּקָה
::tensorflow::Output output
output_max
::tensorflow::Output output_max
output_min
::tensorflow::Output output_min
תפקידים ציבוריים
אלא אם צוין אחרת, התוכן של דף זה הוא ברישיון Creative Commons Attribution 4.0 ודוגמאות הקוד הן ברישיון Apache 2.0. לפרטים, ניתן לעיין במדיניות האתר Google Developers. Java הוא סימן מסחרי רשום של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-07-26 (שעון UTC).
[null,null,["עדכון אחרון: 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/r2.1/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/r2.1/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/r2.1/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output) output\n- [Output](/versions/r2.1/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/r2.1/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/r2.1/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope)` & scope, ::`[tensorflow::Input](/versions/r2.1/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` input, ::`[tensorflow::Input](/versions/r2.1/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` input_min, ::`[tensorflow::Input](/versions/r2.1/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/r2.1/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/r2.1/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/r2.1/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/r2.1/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```"]]