หน้านี้ได้รับการแปลโดย Cloud Translation API
Switch to English

การหาปริมาณหลังการฝึกอบรม

การหาปริมาณหลังการฝึกอบรมประกอบด้วยเทคนิคทั่วไปในการลดเวลาแฝงของตัวเร่งความเร็วของ CPU และฮาร์ดแวร์การประมวลผลพลังงานและขนาดของโมเดลโดยมีความแม่นยำของโมเดลลดลงเล็กน้อย เทคนิคเหล่านี้สามารถทำได้ในแบบจำลอง Float TensorFlow ที่ได้รับการฝึกฝนมาแล้วและนำไปใช้ในระหว่างการแปลง TensorFlow Lite เทคนิคเหล่านี้เปิดใช้งานเป็นตัวเลือกในตัว แปลง TensorFlow Lite

หากต้องการข้ามไปยังตัวอย่างแบบ end-to-end โปรดดูบทช่วยสอนต่อไปนี้:

การวัดน้ำหนัก

น้ำหนักสามารถแปลงเป็นประเภทที่มีความแม่นยำลดลงเช่นลอย 16 บิตหรือจำนวนเต็ม 8 บิต โดยทั่วไปเราแนะนำให้ใช้การลอยตัวแบบ 16 บิตสำหรับการเร่ง GPU และจำนวนเต็ม 8 บิตสำหรับการทำงานของ CPU

ตัวอย่างเช่นนี่คือวิธีการระบุปริมาณน้ำหนักจำนวนเต็ม 8 บิต:

import tensorflow as tf
converter = tf.lite.TFLiteConverter.from_saved_model(saved_model_dir)
converter.optimizations = [tf.lite.Optimize.OPTIMIZE_FOR_SIZE]
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