Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

Quantization farkında eğitim

TensorFlow Modeli Optimizasyonu sahibi olduğu

eğitim sonrası nicemleme ve nicemleme farkında eğitimi: Kuantizasyonun iki biçimi vardır. İle başlayın eğitim sonrası nicelemesinden nicemleme farkında eğitim modeli doğruluk için genellikle daha iyi olsa da, kullanımı daha kolay olduğundan.

Bu sayfa sizin kullanma dosyası ile nasıl uyduğunu belirlemenize yardımcı olmak için nicemleme farkında eğitime bir bakış sağlar.

genel bakış

Düzeyleme farkında eğitim mansap araçlar aslında kuvantalaması modeller üretmek için kullanacağı bir model oluştururken, çıkarım zamanlı nicemlemesini benzetilmiştir. nicelenmiş model dağıtım sırasında yönünden fayda sağlar, düşük hassasiyet (yerine, 32-bit şamandıranın örneğin 8 bit) kullanın.

Nicemlemenin dağıtın

Kuantalama modeli sıkıştırma ve gecikme azaltılması yoluyla iyileştirmeler getiriyor. Test edilen arka ucu CPU gecikme 4x iyileştirmeler - API varsayılan, 4 kat modeli boyutunu küçültür ve ile biz, tipik olarak 1.5 ile bkz. Sonunda, gecikme gelişmeler gibi uyumlu makine öğrenme hızlandırıcılar, görülebilir EdgeTPU ve NNAPI.

teknik konuşma, görme, metinde üretiminde kullanılan ve kullanım durumları tercüme edilir. Kod şu anda bir destek bu modellerin alt kümesini .

Nicemlemenin ve ilişkili donanım denemeler

Kullanıcılar nicemleme parametrelerini (bit örn numarası) ve bir dereceye kadar, altta yatan algoritmalar yapılandırabilir. API varsayılanlarından Bu değişikliklerle birlikte, hiçbir dağıtım yolunu orada desteklenmektedir.

Bu konfigürasyona API'leri geriye doğru uyumluluk, deneysel olup tabidir.

API uyumluluğu

Kullanıcılar aşağıdaki API'larla nicelemesini uygulayabilirsiniz:

  • Model bina: tf.keras Sıralı ve Fonksiyonel modelleri yalnızca.
  • TensorFlow sürümleri: tf-nightly için TF 2.x.
  • TensorFlow yürütme modunda: istekli yürütme

Aşağıdaki alanlarda desteği eklemek için yol haritamızdadır:

  • Model bina: subclassed Modeller hiçbir desteğiyle sınırlı nasıl netleştirmek
  • Dağıtılmış eğitimi: tf.distribute

Genel destek matrisi

Destek aşağıdaki alanlarda kullanılabilir:

  • Model kapsamı: kullanan modeller beyaz listede bulunan katmanları , bu Conv2D ve DepthwiseConv2D katmanları aşağıdaki BatchNormalization ve sınırlı durumlarda, Concat .
  • Donanım hızlandırma: API varsayılan diğerleri arasında, EdgeTPU, NNAPI ve TFLite backends üzerinde hızlanma ile uyumludur. yol haritasında ihtar bakın.
  • niceleme dağıtın: evrişimli katman başına değil, tensör niceleme sadece başına ekseni nicemleme, şu anda desteklenir.

Aşağıdaki alanlarda desteği eklemek için yol haritamızdadır:

  • Model kapsam: uzatıldı RYSA / LSTMs ve genel Concat desteğini içerecek şekilde.
  • Donanım hızlandırma: Tam tamsayı modeller üretebilir TFLite dönüştürücü sağlamak. Bkz bu sorunu detayları için.
  • nicemleme kullanım durumları ile Deney:
    • yayılma Keras katmanları o nicemleme algoritmaları ile Deney veya eğitim aşamasını gerektirir.
    • API'leri stabilize.

Sonuçlar

araçlarla Görüntü sınıflandırma

model Sigara kuvantalaması Üst 1 Doğruluk 8-bit Kuantize Doğruluk
MobilenetV1 224 71.03% 71.06%
Resnet v1 50 % 76.3 % 76.1
MobilenetV2 224 70.77% 70.01%

Modeller IMAGEnet üzerinde test ve TensorFlow ve TFLite hem de değerlendirildi.

tekniği için Görüntü sınıflandırma

model Sigara kuvantalaması Üst 1 Doğruluk 8-Bit Quantized Doğruluk
Nasnet-Mobile % 74 % 73
Resnet-v2 50 % 75.6 % 75

Modeller IMAGEnet üzerinde test ve TensorFlow ve TFLite hem de değerlendirildi.

Örnekler

Ek olarak nicemleme farkında eğitim Örneğin , aşağıdaki örneklere bakın:

  • Nicemlemenin ile MNIST el yazısıyla haneli sınıflandırma görevi CNN modeli: Kod

Benzer bir şey üzerinde arka plan için Verimli Tam Sayı-Aritmetik Okunur Çıkarım için Sinir Ağları Nicelemek ve Eğitim bkz kağıt . Bu yazı, bu araç kullanımları bazı kavramları tanıtmaktadır. uygulama tam olarak aynı değildir ve bu araç kullanılan ek kavramlar (örneğin başına eksenli nicemleme) vardır.