בצע קונבולציה קוונטית של Tensor 'lhs' ו-Tensor 'rhs' קוונטי. לעשות `פלט` כמותי.
בהינתן `lhs` ו-`rhs` קוונטי, מבצע נקודה קוונטית על `lhs` ו-`rhs` כדי ליצור `פלט` כמותי.
`lhs` ו-`rhs` חייבים להיות טנסורים בעלי אותה דרגה, ולעמוד בתנאי הצורה הבאים. - `lhs_feature` % `feature_group_count` == 0 - `lhs_feature` % `rhs_input_feature` == 0 - `lhs_feature` / `feature_group_count` == `rhs_input_feature` - `rhs_output_feature ==group` %_bat `count % `batch_group_count` == 0 - `rhs_output_feature` % `batch_group_count` == 0
יש לכמת את 'lhs' ו-'rhs' ב-Tensor, כאשר ערך הנתונים מקומת באמצעות הנוסחה:
quantized_data = clip(original_data / scale + zero_point, quantization_min_val, quantization_max_val)
גם `פלט` מקומת, תוך שימוש באותה נוסחה. אם 'rhs' מכומת לפי טנסור, ה'פלט' חייב להיות גם מיומת לפי טנסור. כיתות מקוננות
מַחלָקָה | UniformQuantizedConvolution.Options | תכונות אופציונליות עבור UniformQuantizedConvolution |
שיטות ציבוריות
פלט <U> | asOutput () מחזירה את הידית הסמלית של טנזור. |
סטטי UniformQuantizedConvolution.Options | batchGroupCount (Long batchGroupCount) |
סטטי <U, T> UniformQuantizedConvolution <U> | create ( scope scope, Operand <T> lhs, Operand <T> rhs, Operand <Float> lhsScales, Operand <Integer> lhsZeroPoints, Operand <Float> rhsScales, Operand <Integer> rhsZeroPoints, Operand <Float> <Integer> <Integer, Operand > outputZeroPoints, Class<U> Tout, String padding, Long lhsQuantizationMinVal, Long lhsQuantizationMaxVal, Long rhsQuantizationMinVal, Long rhsQuantizationMaxVal, Long outputQuantizationMinVal, Long outputQuantizationMaxVal, Options... options) שיטת מפעל ליצירת מחלקה העוטפת פעולת UniformQuantizedConvolution חדשה. |
סטטי UniformQuantizedConvolution.Options | dimensionNumbers (מחרוזת dimensionNumbers) |
סטטי UniformQuantizedConvolution.Options | explicitPadding (רשימה<Long> explicitPadding) |
סטטי UniformQuantizedConvolution.Options | featureGroupCount (Long featureGroupCount) |
סטטי UniformQuantizedConvolution.Options | lhsDilation (רשימה<Long> lhsDilation) |
סטטי UniformQuantizedConvolution.Options | lhsQuantizationAxis (Long lhsQuantizationAxis) |
פלט <U> | פלט () הטנזור המכומתי של הפלט של `Tout`, זהה לדרגה של `lhs` ו-`rhs`. |
סטטי UniformQuantizedConvolution.Options | outputQuantizationAxis (Long outputQuantizationAxis) |
סטטי UniformQuantizedConvolution.Options | rhsDilation (רשימה<Long> rhsDilation) |
סטטי UniformQuantizedConvolution.Options | rhsQuantizationAxis (Long rhsQuantizationAxis) |
סטטי UniformQuantizedConvolution.Options | windowStrides (רשימה<Long> windowStrides) |
שיטות בירושה
שיטות ציבוריות
פלט ציבורי <U> asOutput ()
מחזירה את הידית הסמלית של טנזור.
כניסות לפעולות TensorFlow הן יציאות של פעולת TensorFlow אחרת. שיטה זו משמשת לקבלת ידית סמלית המייצגת את חישוב הקלט.
public static UniformQuantizedConvolution.Options batchGroupCount (Long batchGroupCount)
פרמטרים
batchGroupCount | מספר קבוצות האצווה. משמש עבור מסננים מקובצים. חייב להיות מחלק של 'תכונת_פלט'. |
---|
public static UniformQuantizedConvolution <U> create ( scope scope, Operand <T> lhs, Operand <T> rhs, Operand <Float> lhsScales, Operand <Integer> lhsZeroPoints, Operand <Float> rhsScales, Operand <Integer> rhsZeroPoint, Operand <Integer> rhsZeros > outputScales, Operand <Integer> outputZeroPoints, Class<U> Tout, String padding, Long lhsQuantizationMinVal, Long lhsQuantizationMaxVal, Long rhsQuantizationMinVal, Long rhsQuantizationMaxVal, Long outputQuantizationMinVal, Long outputQuantizationMaxVal ... options)
שיטת מפעל ליצירת מחלקה העוטפת פעולת UniformQuantizedConvolution חדשה.
פרמטרים
תְחוּם | ההיקף הנוכחי |
---|---|
lhs | חייב להיות טנזור כמותי, דרגה >= 3. |
rhs | חייב להיות טנזור כמותי, זהה לדרגה של 'lhs'. |
lhsscales | ערכי הציפה המשמשים כגורמי קנה מידה בעת כימות הנתונים המקוריים ש-'lhs' מייצגים. חייב להיות 'טנזור' סקלרי ('lhs' תומך רק בכימות לפי טנסור). |
lhsZeroPoints | ערכי int32 המשמשים כנקודות אפס בעת כימות נתונים מקוריים ש-'lhs' מייצגים. אותו מצב צורה כמו `lhs_scales`. |
rhsScales | ערכי הציפה המשמשים כגורמי קנה מידה בעת כימות הנתונים המקוריים ש'rhs' מייצגים. חייב להיות 'טנזור' סקלרי לכימות פר-טנזור, או 'טנזור' 1D בגודל 'rhs.dim_size(kernel_output_feature_dimension)', עבור כימות לכל ערוץ. |
rhsZeroPoints | ערכי int32 המשמשים כנקודות אפס בעת כימות נתונים מקוריים ש'rhs' מייצגים. אותו תנאי צורה כמו `rhs_scales`. |
סולמות פלט | ערכי הציפה לשימוש כגורמי קנה מידה בעת כימות נתונים מקוריים ש'פלט' מייצג. חייב להיות `טנזור` סקלרי לכימות פר-טנסור, או `טנזור` 1D בגודל `rhs.dim_size(kernel_output_feature_dimension)` - השווה ל-`output.dim_size(output_feature_dimension)`, עבור קוונטיזציה לכל ערוץ. אם 'rhs' מכומד לפי טנסור, הפלט חייב להיות מקומת גם לפי טנסור. זה אומר שאם `rhs_scales` ו`rhs_zero_points` הם `scalar`s `Tensor`s, `output_scales` ו`output_zero_points` חייבים להיות גם `טנסורים` סקלאריים. |
outputZeroPoints | ערכי int32 המשמשים כנקודות אפס בעת כימות נתונים מקוריים שהפלט מייצג. אותו תנאי צורה כמו 'סולמות_פלט'. |
לְסַפְסֵר | סוג 'פלט' 'טנזור'. |
ריפוד | מחרוזת מ: `"SAME"`, `"VALID"`, או `"EXPLICIT"`, המציינת את סוג אלגוריתם הריפוד שיש להשתמש בו. |
lhsQuantizationMinVal | הערך המינימלי של הנתונים הכומתיים המאוחסנים ב-'lhs'. לדוגמה, אם `פח` הוא `qint8`, יש להגדיר את זה ל-127 אם הטווח הצר מכומד או -128 אם לא. |
lhsQuantizationMaxVal | הערך המקסימלי של הנתונים הכומתיים המאוחסנים ב-'lhs'. לדוגמה, אם `פח` הוא `qint8`, יש להגדיר זאת ל-127. |
rhsQuantizationMinVal | הערך המינימלי של הנתונים הכומתיים המאוחסנים ב-'rhs'. לדוגמה, אם `פח` הוא `qint8`, יש להגדיר את זה ל-127 אם הטווח הצר מכומד או -128 אם לא. |
rhsQuantizationMaxVal | הערך המקסימלי של הנתונים הכומתיים המאוחסנים ב-'rhs'. לדוגמה, אם `פח` הוא `qint8`, יש להגדיר זאת ל-127. |
outputQuantizationMinVal | הערך המינימלי של הנתונים הכומתיים המאוחסנים ב'פלט'. לדוגמה, אם `Tout` הוא `qint8`, יש להגדיר את זה ל-127 אם הטווח הצר מקומת או -128 אם לא. |
outputQuantizationMaxVal | הערך המקסימלי של הנתונים הכומתיים המאוחסנים ב'פלט'. לדוגמה, אם `Tout` הוא `qint8`, יש להגדיר זאת ל-127. |
אפשרויות | נושא ערכי תכונות אופציונליות |
מחזיר
- מופע חדש של UniformQuantizedConvolution
public static UniformQuantizedConvolution.Options dimensionNumbers (String dimensionNumbers)
פרמטרים
dimensionNumbers | מבנה מידע מימד עבור הקונבולציה אופ. חייבת להיות מחרוזת ריקה (ברירת מחדל) או מחרוזת מסודרת של פרוטו `tensorflow.UniformQuantizedConvolutionDimensionNumbersAttr`. אם מחרוזת ריקה, ברירת המחדל היא `("NCHW", "OIHW", "NCHW")` (עבור פיתול דו-ממדי). |
---|
public static UniformQuantizedConvolution.Options explicitPadding (רשימה<Long> explicitPadding)
פרמטרים
ריפוד מפורש | אם `padding` הוא `"EXPLICIT"`, יש להגדיר כרשימה המציינת את הריפודים המפורשים בתחילת ובסוף של כל ממד מרחבי `lhs`. אחרת, זה חייב להיות ריק. (אם נעשה שימוש,) חייבת להיות רשימה בגודל `2 * (מספר מידות מרחביות lhs)`, כאשר `(ריפוד מפורש[2 *i], ריפוד מפורש[2 *i + 1])` מציין `(ריפוד_התחלה, ריפוד_סוף) ` של `ממדים_מרחביים[i]`. |
---|
public static UniformQuantizedConvolution.Options featureGroupCount (Long featureGroupCount)
פרמטרים
featureGroupCount | מספר קבוצות התכונות. משמש עבור פיתולים מקובצים. חייב להיות מחלק של 'lhs_feature' ו-'output_feature'. |
---|
public static UniformQuantizedConvolution.Options lhsDilation (רשימה<Long> lhsDilation)
פרמטרים
lhs הרחבה | מקדם ההתרחבות שיש ליישם בכל מימד מרחבי של `lhs`. חייבת להיות רשימה ריקה (ברירת מחדל) או רשימה של גודל (מספר הממדים המרחביים 'lhs'). אם רשימה ריקה, ההרחבה עבור כל ממד מרחבי `lhs` מוגדרת ל-1. |
---|
public static UniformQuantizedConvolution.Options lhsQuantizationAxis (Long lhsQuantizationAxis)
פרמטרים
lhsQuantizationAxis | מציין את אינדקס הממדים של הטנזור שבו מוחל קוונטיזציה לכל ציר עבור הפרוסות לאורך ממד זה. אם מוגדר ל-1 (ברירת מחדל), זה מצביע על קוונטיזציה לפי טנסור. עבור 'lhs', רק קוונטיזציה לפי טנסור נתמכת. לפיכך, יש להגדיר זאת ל-1. ערכים אחרים יעלו שגיאה בבניית OpKernel. |
---|
public static UniformQuantizedConvolution.Options outputQuantizationAxis (Long outputQuantizationAxis)
פרמטרים
outputQuantizationAxis | מציין את אינדקס הממדים של הטנזור שבו מוחל קוונטיזציה לכל ציר עבור הפרוסות לאורך ממד זה. אם מוגדר ל-1 (ברירת מחדל), זה מצביע על קוונטיזציה לפי טנסור. עבור 'פלט', נתמך רק קוונטיזציה לפי טנסור או קוונטיזציה לכל ערוץ לאורך 'מימד_תכונת_פלט'. לפיכך, יש להגדיר זאת ל-1 או `dimension_numbers.output_feature_dimension`. ערכים אחרים יעלו שגיאה בבניית OpKernel. |
---|
public static UniformQuantizedConvolution.Options rhsDilation (רשימה<Long> rhsDilation)
פרמטרים
rhsDilation | מקדם ההתרחבות שיש ליישם בכל מימד מרחבי של `rhs`. חייבת להיות רשימה ריקה (ברירת מחדל) או רשימה של גודל (מספר הממדים המרחביים 'rhs'). אם רשימה ריקה, ההרחבה עבור כל ממד מרחבי 'rhs' מוגדרת ל-1. |
---|
public static UniformQuantizedConvolution.Options rhsQuantizationAxis (Long rhsQuantizationAxis)
פרמטרים
rhsQuantizationAxis | מציין את אינדקס הממדים של הטנזור שבו מוחל קוונטיזציה לכל ציר עבור הפרוסות לאורך ממד זה. אם מוגדר ל-1 (ברירת מחדל), זה מצביע על קוונטיזציה לפי טנסור. עבור `rhs`, רק קוונטיזציה לפי טנסור או קוונטיזציה לכל ערוץ לאורך `ממד_תכונת_פלט_kernel` נתמכת. לפיכך, זה חייב להיות מוגדר ל-1 או `dimension_numbers.kernel_output_feature_dimension`. ערכים אחרים יעלו שגיאה בבניית OpKernel. |
---|
public static UniformQuantizedConvolution.Options windowStrides (רשימה<Long> windowStrides)
פרמטרים
windowStrides | הצעד של חלון ההזזה עבור כל מימד מרחבי של `lhs`. חייבת להיות רשימה ריקה (ברירת מחדל) או רשימה של גודל (מספר ממדים מרחביים). אם מסופקת רשימה ריקה, הצעד עבור כל ממד מרחבי מוגדר ל-1. |
---|