تحديد الكمي بعد التدريب
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
يتضمن التكميم بعد التدريب تقنيات عامة لتقليل وقت استجابة وحدة المعالجة المركزية ومسرع الأجهزة والمعالجة والطاقة وحجم النموذج مع انخفاض طفيف في دقة النموذج. يمكن تنفيذ هذه التقنيات على نموذج TensorFlow العائم المُدرب بالفعل وتطبيقها أثناء تحويل TensorFlow Lite. يتم تمكين هذه التقنيات كخيارات في محول TensorFlow Lite .
للانتقال مباشرة إلى الأمثلة الشاملة، راجع البرامج التعليمية التالية:
تكميم الأوزان
يمكن تحويل الأوزان إلى أنواع ذات دقة منخفضة، مثل أعداد 16 بت أو أعداد صحيحة 8 بت. نوصي عمومًا بتعويم 16 بت لتسريع وحدة معالجة الرسومات وعدد صحيح 8 بت لتنفيذ وحدة المعالجة المركزية.
على سبيل المثال، فيما يلي كيفية تحديد تكميم الوزن الصحيح بمقدار 8 بت:
import tensorflow as tf
converter = tf.lite.TFLiteConverter.from_saved_model(saved_model_dir)
converter.optimizations = [tf.lite.Optimize.DEFAULT]
tflite_quant_model = converter.convert()
عند الاستدلال، يتم حساب الأجزاء الأكثر كثافة باستخدام 8 بتات بدلاً من النقطة العائمة. هناك بعض النفقات العامة لأداء وقت الاستدلال، مقارنة بتقدير كل من الأوزان والتنشيطات أدناه.
لمزيد من المعلومات، راجع دليل تكمية TensorFlow Lite لما بعد التدريب .
تكميم عدد صحيح كامل للأوزان والتنشيط
قم بتحسين زمن الوصول والمعالجة واستخدام الطاقة، وتمتع بإمكانية الوصول إلى مسرعات الأجهزة ذات الأعداد الصحيحة فقط من خلال التأكد من تحديد كل من الأوزان وعمليات التنشيط. وهذا يتطلب مجموعة بيانات تمثيلية صغيرة.
import tensorflow as tf
def representative_dataset_gen():
for _ in range(num_calibration_steps):
# Get sample input data as a numpy array in a method of your choosing.
yield [input]
converter = tf.lite.TFLiteConverter.from_saved_model(saved_model_dir)
converter.optimizations = [tf.lite.Optimize.DEFAULT]
converter.representative_dataset = representative_dataset_gen
tflite_quant_model = converter.convert()
سيظل النموذج الناتج يأخذ المدخلات والمخرجات العائمة من أجل الراحة.
لمزيد من المعلومات، راجع دليل تكمية TensorFlow Lite لما بعد التدريب .
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2025-07-25 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-07-25 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# Post-training quantization\n\n\u003cbr /\u003e\n\nPost-training quantization includes general techniques to reduce CPU and\nhardware accelerator latency, processing, power, and model size with little\ndegradation in model accuracy. These techniques can be performed on an\nalready-trained float TensorFlow model and applied during TensorFlow Lite\nconversion. These techniques are enabled as options in the\n[TensorFlow Lite converter](https://www.tensorflow.org/lite/convert/).\n\nTo jump right into end-to-end examples, see the following tutorials:\n\n- [Post-training dynamic range\n quantization](https://www.tensorflow.org/lite/performance/post_training_quant)\n- [Post-training full integer\n quantization](https://www.tensorflow.org/lite/performance/post_training_integer_quant)\n- [Post-training float16\n quantization](https://www.tensorflow.org/lite/performance/post_training_float16_quant)\n\nQuantizing weights\n------------------\n\nWeights can be converted to types with reduced precision, such as 16 bit floats\nor 8 bit integers. We generally recommend 16-bit floats for GPU acceleration and\n8-bit integer for CPU execution.\n\nFor example, here is how to specify 8 bit integer weight quantization: \n\n import tensorflow as tf\n converter = tf.lite.TFLiteConverter.from_saved_model(saved_model_dir)\n converter.optimizations = [tf.lite.Optimize.DEFAULT]\n tflite_quant_model = converter.convert()\n\nAt inference, the most critically intensive parts are computed with 8 bits\ninstead of floating point. There is some inference-time performance overhead,\nrelative to quantizing both weights and activations below.\n\nFor more information, see the TensorFlow Lite\n[post-training quantization](https://www.tensorflow.org/lite/performance/post_training_quantization)\nguide.\n\nFull integer quantization of weights and activations\n----------------------------------------------------\n\nImprove latency, processing, and power usage, and get access to integer-only\nhardware accelerators by making sure both weights and activations are quantized.\nThis requires a small representative data set. \n\n import tensorflow as tf\n\n def representative_dataset_gen():\n for _ in range(num_calibration_steps):\n # Get sample input data as a numpy array in a method of your choosing.\n yield [input]\n\n converter = tf.lite.TFLiteConverter.from_saved_model(saved_model_dir)\n converter.optimizations = [tf.lite.Optimize.DEFAULT]\n converter.representative_dataset = representative_dataset_gen\n tflite_quant_model = converter.convert()\n\nThe resulting model will still take float input and output for convenience.\n\nFor more information, see the TensorFlow Lite\n[post-training quantization](https://www.tensorflow.org/lite/performance/post_training_quantization#full_integer_quantization_of_weights_and_activations)\nguide."]]