YOLO Vision 2026:

Ultralytics YOLO ile Model Dışa Aktarımı#

Ultralytics YOLO ecosystem and integrations

Giriş#

Bir modeli eğitmenin nihai amacı, onu gerçek dünya uygulamalarında kullanıma sunmaktır. Ultralytics YOLO26'daki dışa aktarma modu (Export mode), eğitilmiş modelini farklı formatlara dönüştürmen için çok yönlü seçenekler sunar; böylece modelini çeşitli platformlarda ve cihazlarda çalıştırabilirsin. Bu kapsamlı kılavuz, model dışa aktarmanın inceliklerini sana anlatmayı ve maksimum uyumluluk ile performansa nasıl ulaşacağını göstermeyi amaçlamaktadır.



Watch: How to Export Ultralytics YOLO26 in different formats for Deployment | ONNX, TensorRT, CoreML 🚀

Neden YOLO26'nın Dışa Aktarma Modunu Seçmelisin?#

  • Çok Yönlülük: ONNX, TensorRT, CoreML ve daha fazlası dahil olmak üzere birden fazla biçime aktar.
  • Performans: TensorRT ile 5 kata kadar GPU hızlandırması ve ONNX ya da OpenVINO ile 3 kata kadar CPU hızlandırması elde et.
  • Uyumluluk: Modelini sayısız donanım ve yazılım ortamında evrensel olarak kullanılabilir hale getirebilirsin.
  • Kullanım Kolaylığı: Hızlı ve doğrudan model dışa aktarımı için basit CLI ve Python API'si mevcuttur.

Dışa Aktarma Modunun Temel Özellikleri#

İşte öne çıkan bazı işlevler:

  • Tek Tıkla Dışa Aktarım: Farklı formatlara dışa aktarmak için basit komutlar kullanabilirsin.
  • Toplu Dışa Aktarım: Toplu çıkarım (batch-inference) yapabilen modelleri dışa aktarabilirsin.
  • Optimize Edilmiş Çıkarım: Dışa aktarılan modeller, daha hızlı çıkarım süreleri için optimize edilir.
  • Eğitim Videoları: Sorunsuz bir dışa aktarma deneyimi için derinlemesine kılavuzlar ve eğitimler mevcuttur.
İpucu
  • 3 kata kadar CPU hızlandırması için ONNX veya OpenVINO formatına aktar.
  • 5 kata kadar GPU hızlandırması için TensorRT formatına aktar.

Kullanım Örnekleri#

Bir YOLO26n modelini ONNX veya TensorRT gibi farklı bir formata dışa aktarabilirsin. Dışa aktarma argümanlarının tam listesi için aşağıdaki Argümanlar bölümüne bakabilirsin.

Örnek
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom-trained model

# Export the model
model.export(format="onnx")

Argümanlar#

Bu tablo, YOLO modellerini farklı formatlara dışa aktarmak için mevcut olan yapılandırmaları ve seçenekleri detaylandırır. Bu ayarlar, dışa aktarılan modelin performansını, boyutunu ve çeşitli platformlardaki uyumluluğunu optimize etmek için kritiktir. Doğru yapılandırma, modelin amaçlanan uygulamada en iyi verimlilikle dağıtıma hazır olmasını sağlar.

ArgümanTipVarsayılanAçıklama
formatstr'torchscript''onnx', 'torchscript', 'engine' (TensorRT) veya diğerleri gibi dışa aktarılan model için hedef format. Her format farklı dağıtım ortamlarıyla uyumluluk sağlar.
imgszint veya tuple640Model girdisi için istenen görüntü boyutu. Kare görüntüler için bir tamsayı (örn. 640×640 için 640) veya belirli boyutlar için (height, width) demeti olabilir.
kerasboolFalseTensorFlow SavedModel için Keras formatına dışa aktarmayı etkinleştirerek TensorFlow sunumu ve API'leri ile uyumluluk sağlar.
optimizeboolFalseDEEPX için daha yüksek derleyici optimizasyonunu etkinleştirerek, derleme süresini artırırken çıkarım gecikmesini azaltır.
quantizeint veya strNoneNiceleme hassasiyeti: 16 (FP16, model boyutunu küçültür ve desteklenen donanımda çıkarımı hızlandırabilir) veya 8 (INT8/PTQ, minimum doğruluk kaybıyla modeli daha da sıkıştırır, öncelikle uç cihazlar içindir; kalibrasyon gerektirir data/fraction); 32/belirtilmemişse FP32'dir. Karışık ağırlık/aktivasyon hassasiyetini destekleyen dışa aktarma formatları ayrıca 'w8a8'/'w16a16'/'w8a16'/'w8a32' gösterimini kabul eder. Kullanımdan kaldırılan half/int8 bayraklarının yerini alır (half=True16, int8=True8, kullanım dışı kalma uyarısıyla hala kabul edilir). Yalnızca hedef format tarafından desteklenen hassasiyetlere izin verilir (aşağıya bakın).
dynamicboolFalseTorchScript, ONNX, OpenVINO, TensorRT ve CoreML dışa aktarımları için dinamik giriş boyutlarına izin vererek değişen görüntü boyutlarını işlemede esnekliği artırır.
simplifyboolTrueBir tane oluşturan dışa aktarmalar için ara ONNX grafiğini onnxslim ile basitleştirir (Dışa Aktarma Formatlarına bakın), bu da performansı ve çıkarım motorlarıyla uyumluluğu potansiyel olarak artırır.
opsetintNoneFarklı ONNX ayrıştırıcıları ve çalışma zamanlarıyla uyumluluk için bir ONNX grafiği oluşturan dış aktarımlar için ONNX opset sürümünü belirtir (bkz. Export Formats). Ayarlanmazsa, desteklenen en son sürüm kullanılır.
workspacefloat veya NoneNoneBellek kullanımı ile performansı dengeleyerek TensorRT optimizasyonları için GiB cinsinden maksimum çalışma alanı boyutunu ayarlar. TensorRT tarafından cihaz maksimumuna kadar otomatik tahsis için None kullanın.
nmsboolFalseDesteklendiğinde dışa aktarılan modele Maksimum Olmayan Bastırma (NMS) ekler (Dışa Aktarma Formatlarına bakın), tespit son işleme verimliliğini artırır. Uçtan uca modeller için kullanılamaz. CoreML için yalnızca tespit modelleri desteklenir.
batchint1Dışa aktarılan model yığın çıkarım boyutunu veya dışa aktarılan modelin predict modunda aynı anda işleyeceği maksimum görüntü sayısını belirtir. Edge TPU dışa aktarımları için bu otomatik olarak 1 olarak ayarlanır.
devicestrNoneDışa aktarma için cihazı belirtir: GPU (device=0), CPU (device=cpu), Apple silikon için MPS (device=mps), Huawei Ascend NPU (device=npu veya device=npu:0) veya NVIDIA Jetson için DLA (device=dla:0 veya device=dla:1). TensorRT dışa aktarımları otomatik olarak GPU kullanır, ancak TensorRT 11.0 DLA'yı desteklemez.
datastrNoneINT8 niceleme kalibrasyonu için gerekli olan veri kümesi yapılandırma dosyasına giden yol. INT8 etkinken belirtilmediğinde Ultralytics, gerektiğinde göreve özel bir kalibrasyon veri kümesi seçer veya model görevi için varsayılan veri kümesine geri döner.
fractionfloat1.0INT8 nicemleme kalibrasyonu için kullanılacak veri kümesi oranını belirtir. Deneyler veya kaynakların sınırlı olduğu durumlar için yararlı olan tam veri kümesinin bir alt kümesinde kalibrasyona izin verir. INT8 etkinleştirildiğinde belirtilmezse, veri kümesinin tamamı kullanılır.
end2endboolNoneNMS içermeyen çıkarımı destekleyen YOLO modellerinde uçtan uca modu geçersiz kılar (YOLO26, YOLOv10). Bunu False olarak ayarlamak, bu modelleri geleneksel NMS tabanlı son işlem boru hattıyla uyumlu olacak şekilde dışa aktarmanıza olanak tanır. Ayrıntılar için Uçtan Uca Tespit kılavuzuna bakın.

Bu parametreleri ayarlamak, dağıtım ortamı, donanım kısıtlamaları ve performans hedefleri gibi belirli gereksinimlere uyum sağlamak için dışa aktarma sürecinin özelleştirilmesine olanak tanır. Model boyutu, hız ve doğruluk arasında en iyi dengeyi elde etmek için uygun formatı ve ayarları seçmek çok önemlidir.

Dışa Aktarma Formatları#

Mevcut YOLO26 dışa aktarma formatları aşağıdaki tabloda yer almaktadır. format argümanını, yani format='onnx' veya format='engine' kullanarak herhangi bir formata dışa aktarabilirsin. Dışa aktarılan modeller üzerinde doğrudan tahmin yapabilir veya doğrulama gerçekleştirebilirsin, yani yolo predict model=yolo26n.onnx. Kullanım örnekleri, dışa aktarma tamamlandıktan sonra modelin için gösterilir. Modeller ayrıca herhangi bir yerel kurulum gerektirmeden Ultralytics Platform üzerinden doğrudan tarayıcıdan dışa aktarılabilir.

Formatformat ArgümanıModelMeta verilerArgümanlar
PyTorch-yolo26n.pt-
TorchScripttorchscriptyolo26n.torchscriptimgsz, quantize, dynamic, nms, batch, device
ONNXonnxyolo26n.onnximgsz, quantize, dynamic, simplify, opset, nms, batch, data, fraction, device
OpenVINOopenvinoyolo26n_openvino_model/imgsz, quantize, dynamic, nms, batch, data, fraction, device
TensorRTengineyolo26n.engineimgsz, quantize, dynamic, simplify, opset, workspace, nms, batch, data, fraction, device
CoreMLcoremlyolo26n.mlpackageimgsz, dynamic, quantize, nms, batch, device
TF SavedModelsaved_modelyolo26n_saved_model/imgsz, keras, quantize, opset, nms, batch, data, fraction, device
TF GraphDefpbyolo26n.pbimgsz, opset, batch, device
TF Edge TPUedgetpuyolo26n_edgetpu.tfliteimgsz, quantize, opset, data, fraction, device
PaddlePaddlepaddleyolo26n_paddle_model/imgsz, batch, device
MNNmnnyolo26n.mnnimgsz, batch, dynamic, quantize, simplify, opset, nms, device
NCNNncnnyolo26n_ncnn_model/imgsz, quantize, batch, device
IMX500imxyolo26n_imx_model/imgsz, quantize, data, fraction, nms, device
RKNNrknnyolo26n_rknn_model/imgsz, batch, name, quantize, simplify, opset, data, fraction, device
ExecuTorchexecutorchyolo26n_executorch_model/imgsz, batch, device
Axeleraaxelerayolo26n_axelera_model/imgsz, batch, quantize, data, fraction, device
DEEPXdeepxyolo26n_deepx_model/imgsz, quantize, simplify, opset, data, optimize, device
Qualcomm QNNqnnyolo26n_qnn.onnximgsz, batch, name, quantize, simplify, opset, data, fraction, device
LiteRTlitertyolo26n.tfliteimgsz, quantize, batch, data, fraction, device
Hailohailoyolo26n_hailo_model/imgsz, name, quantize, data, fraction, simplify, conf, iou
Huawei Ascendascendyolo26n_ascend_model/imgsz, batch, name, quantize, opset, simplify, nms

Kuantizasyon Seçenekleri#

Dışa aktarma hassasiyetini istemek için quantize argümanını kullan. Dize değerleri büyük/küçük harf duyarsızdır ve Ultralytics, dışa aktarmadan önce kabul edilen diğer adları standartlaştırır:

İstek değerleriStandart değerAnlamı
8, "8", "int8", "w8a8"8INT8 ağırlıklar ve aktivasyonlar
16, "16", "fp16", "w16a16"16FP16 ağırlıklar ve aktivasyonlar
32, "32", "fp32", "w32a32"32FP32 dışa aktarımı; CoreML NMS ML Programları haricinde ayarlanmamış ile aynıdır, bunlar varsayılan olarak FP16'dır
"w8a16""w8a16"16-bit aktivasyonlu INT8 ağırlıklar (FP16; LiteRT üzerinde INT16)
"w8a32""w8a32"FP32 aktivasyonlu INT8 ağırlıklar (LiteRT dinamik INT8, kalibrasyon gerektirmez)

Eski half=True ve int8=True bayrakları, kullanım dışı kalma uyarılarıyla hala kabul edilmekte ve quantize=16 ile quantize=8'e yönlendirilmektedir.

Her dışa aktarma formatı her hassasiyeti desteklemez. Açık quantize istekleri ya o hassasiyeti üretir ya da dışa aktarmadan önce başarısız olur:

FormatFP32 (32/belirtilmemiş)FP16 (16)INT8 (8)W8A16 ("w8a16")Notlar
PyTorchN/AN/AN/AYerel eğitim/kontrol noktası formatı.
TorchScript✅ Sadece GPUFP16 TorchScript dışa aktarımı device=0 gerektirir; CPU dışa aktarımı FP32'dir.
ONNXINT8, ONNX Runtime statik niceleme ve kalibrasyon verilerini kullanır.
OpenVINOINT8, NNCF eğitim sonrası niceleme kullanır.
TensorRTINT8, temsilci kalibrasyon verisine ihtiyaç duyar.
CoreML✅¹CoreML INT8 ağırlık nicelemesidir; W8A16, FP16 aktivasyonları ile INT8 ağırlıklarını kullanır. ¹Ayarlanmamış NMS ML Programları varsayılan olarak FP16'dır.
TF SavedModelINT8 dışa aktarımı TensorFlow kalibrasyonunu kullanır.
TF GraphDefDışa aktarma sırasında hassasiyet dönüşümü yoktur.
Edge TPU✅ otomatikEdge TPU, INT8 gerektirir; ayarlanmadığında otomatik olarak etkinleşir.
PaddlePaddleDışa aktarma sırasında hassasiyet dönüşümü yoktur.
MNNINT8, MNN dönüştürme yoluyla ağırlık nicelemesidir.
NCNNMobil/gömülü çalışma zamanı formatı.
IMX500✅ otomatikIMX500 niceleme gerektirir; ayarlanmadığında INT8 otomatik olarak etkinleşir.
RKNN✅ çipe bağlıRK3588/RK3576/RK3566/RK3568/RK3562/RK2118/RV1126B modelleri FP16 veya INT8 destekler; RV1103/RV1106 varyantları yalnızca INT8 desteklidir.
ExecuTorchDışa aktarma sırasında hassasiyet dönüşümü yoktur.
Axelera✅ otomatikAxelera dışa aktarımı INT8 gerektirir; ayarlanmadığında otomatik olarak etkinleşir.
DEEPX✅ otomatikDEEPX dışa aktarımı INT8 gerektirir; ayarlanmadığında otomatik olarak etkinleşir.
Qualcomm QNN✅ otomatikQNN HTP dışa aktarımı, 16-bit aktivasyonlarla INT8 ağırlıklarına sabitlenmiştir.
LiteRTStatik INT8 (8) ve "w8a16" (int8 ağırlıklar + int16 aktivasyonlar) kalibrasyon verisi kullanır; ayrıca "w8a32" dinamik INT8'i (kalibrasyon yok) destekler. quantize=16 ayrı bir dışa aktarım değildir; bir FP32 modeli, GPU temsilcisi (delegate) aracılığıyla çalışma zamanında FP16 olarak çalışır.
Huawei Ascend✅ otomatikAscend AI Core konvolüsyonları yalnızca FP16/INT8 girdilerini kabul eder, bu nedenle ATC FP16 derler; ayarlanmadığında otomatik olarak etkinleştirilir.

INT8 ve W8A16 dışa aktarımları için, hedef entegrasyon varsayılan veya otomatik etkinleştirilen bir davranışı belgelemediği sürece data ile data="coco8.yaml" gibi temsili kalibrasyon verileri sağla. LiteRT "w8a32" (dinamik INT8) şeması kalibrasyon verisi gerektirmez.

Sırada ne var#

Dışa aktarılan modelin nasıl çalıştırılacağını öğrenmek için dağıtım hedefinin entegrasyon kılavuzunu bul — ONNX, TensorRT, CoreML ve daha fazlası tüm entegrasyonlar listesinde yer almaktadır.

SSS#

Bir YOLO26 modelini ONNX formatına nasıl dışa aktarırım?#

Bir YOLO26 modelini ONNX formatına dışa aktarmak, Ultralytics ile oldukça kolaydır. Modelleri dışa aktarmak için hem Python hem de CLI yöntemleri sunar.

Örnek
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom-trained model

# Export the model
model.export(format="onnx")

Farklı girdi boyutlarını ele almak gibi gelişmiş seçenekler dahil olmak üzere süreç hakkında daha fazla ayrıntı için ONNX entegrasyon kılavuzuna bakın.

Model dışa aktarımı için TensorRT kullanmanın faydaları nelerdir?#

Model dışa aktarımı için TensorRT kullanmak, önemli performans iyileştirmeleri sunar. TensorRT'ye dışa aktarılan YOLO26 modelleri, 5 kata kadar GPU hızlandırmasına ulaşabilir ve bu da onları gerçek zamanlı çıkarım uygulamaları için ideal hale getirir.

  • Çok Yönlülük: Modelleri belirli bir donanım kurulumu için optimize edebilirsin.
  • Hız: Gelişmiş optimizasyonlar sayesinde daha hızlı çıkarım elde edebilirsin.
  • Uyumluluk: NVIDIA donanımı ile sorunsuz bir şekilde entegre edebilirsin.

TensorRT'yi entegre etme hakkında daha fazla bilgi edinmek için TensorRT entegrasyon kılavuzuna bakın.

YOLO26 modelimi dışa aktarırken INT8 nicemlemeyi nasıl etkinleştiririm?#

INT8 nicemleme, modeli sıkıştırmak ve çıkarımı hızlandırmak için, özellikle uç cihazlarda, harika bir yoldur. İşte INT8 nicemlemeyi nasıl etkinleştirebileceğin:

Örnek
from ultralytics import YOLO

model = YOLO("yolo26n.pt")  # Load a model
model.export(format="onnx", quantize=8, data="coco8.yaml")

INT8 nicelemesi ONNX, TensorRT, OpenVINO, CoreML ve Rockchip RKNN gibi biçimlere uygulanabilir. En iyi niceleme sonuçları için data parametresini kullanarak temsilci bir dataset sağla. Kabul edilen quantize değerleri ve desteklenen biçimler için bkz. Quantization Options.

Model dışa aktarırken dinamik girdi boyutu neden önemlidir?#

Dinamik girdi boyutu, dışa aktarılan modelin değişen görüntü boyutlarını işlemesine olanak tanır; böylece esneklik sağlar ve farklı kullanım senaryoları için işleme verimliliğini optimize eder. ONNX veya TensorRT gibi formatlara dışa aktarırken, dinamik girdi boyutunu etkinleştirmek modelin farklı girdi şekillerine sorunsuz bir şekilde uyum sağlayabilmesini garanti eder.

Bu özelliği etkinleştirmek için dışa aktarma sırasında dynamic=True bayrağını kullan:

Örnek
from ultralytics import YOLO

model = YOLO("yolo26n.pt")
model.export(format="onnx", dynamic=True)

Dinamik girdi boyutlandırma, özellikle video işleme veya farklı kaynaklardan gelen görüntüleri işleme gibi girdi boyutlarının değişebileceği uygulamalar için oldukça kullanışlıdır.

Model performansını optimize etmek için dikkate alınması gereken temel dışa aktarma argümanları nelerdir?#

Dışa aktarma argümanlarını anlamak ve yapılandırmak, model performansını optimize etmek için çok önemlidir:

  • format: Dışarı aktarılan model için hedef biçim (örn. onnx, torchscript, tensorflow).
  • imgsz: Model girişi için istenen görüntü boyutu (örn. 640 veya (height, width)).
  • quantize: 8/"int8", 16/"fp16", 32/"fp32" gibi niceleme hassasiyeti veya desteklenen formatlarda karışık ağırlık/aktivasyon şemaları olan "w8a16" ve "w8a32" (LiteRT dinamik INT8). Niceleme Seçenekleri konusuna bakın.
  • optimize: DEEPX dışa aktarımları için daha yüksek derleyici optimizasyonunu etkinleştirir.

Belirli donanım platformlarında dağıtım için NVIDIA GPU'lar için TensorRT, Apple cihazlar için CoreML veya Google Coral cihazları için Edge TPU gibi özelleştirilmiş dışa aktarma formatlarını kullanmayı düşün.

Dışa aktarılan YOLO modellerindeki çıktı tensörleri neyi temsil eder?#

Bir YOLO modelini ONNX veya TensorRT gibi formatlara dışa aktardığında, çıktı tensör yapısı modelin görevine bağlıdır. Bu çıktıları anlamak, özel çıkarım uygulamaları için önemlidir.

YOLO26 detection models (örn. yolo26n.pt) için uçtan uca dış aktarım, bunu destekleyen biçimlerde varsayılan olarak etkinleştirilmiştir; bu nedenle çıktı, [x1, y1, x2, y2, confidence, class_id] değerleriyle birlikte (batch_size, max_detections, 6) biçimindedir. Varsayılan max_det=300 ile bu genellikle (batch_size, 300, 6) şeklindedir. Bazı kısıtlı biçimler, uçtan uca operatörler desteklenmediğinde otomatik olarak geleneksel çıktı düzenine geri döner.

Uçtan uca olmayan algılama modelleri veya end2end=False ile dışarı aktarılan YOLO26 modelleri için çıktı, genellikle kanalların kutu koordinatlarını ve sınıf başına skorları temsil ettiği (batch_size, 4 + num_classes, num_predictions) şeklinde tek bir tensördür ve num_predictions, dış aktarım girdi çözünürlüğüne bağlıdır (ve dinamik olabilir).

Segmentasyon modelleri için (örn. yolo26n-seg.pt), genellikle iki çıktı alırsın: (batch_size, 4 + num_classes + mask_dim, num_predictions) (kutular, sınıf skorları ve maske katsayıları) şeklinde biçimlendirilmiş ilk tensör ve örnek maskeleri oluşturmak için katsayılarla birlikte kullanılan maske prototiplerini içeren (batch_size, mask_dim, proto_h, proto_w) şeklinde biçimlendirilmiş ikinci tensör. Boyutlar dışa aktarma girdi çözünürlüğüne bağlıdır (ve dinamik olabilir).

Poz modelleri için (örn. yolo26n-pose.pt), çıktı tensörü tipik olarak (batch_size, 4 + num_classes + keypoint_dims, num_predictions) şeklinde biçimlendirilir; burada keypoint_dims poz spesifikasyonuna (örn. anahtar nokta sayısı ve güven değerinin dahil edilip edilmediği) ve num_predictions dışa aktarma girdi çözünürlüğüne bağlıdır (ve dinamik olabilir).

ONNX çıkarım örneklerindeki örnekler, her model türü için bu çıktıların nasıl işleneceğini göstermektedir.

Resmi bir Ultralytics C++ çıkarım API'si var mı?#

Ultralytics şu anda YOLO modelleri için özel bir C++ çıkarım API'si sağlamamaktadır. C++ dağıtımları için modeli ONNX, TensorRT, TorchScript veya MNN gibi bir çalışma zamanı formatına aktar, ardından dışa aktarılan yapıtı o çalışma zamanının yerel C++ API'si ile yükle.

Örneğin, bir tespit modelini yolo export model=yolo26n.pt format=onnx ile dışa aktar ve .onnx dosyasını ONNX Runtime C++ ile çalıştır ya da format=engine ile dışa aktar ve TensorRT motorunu bir TensorRT C++ uygulamasından çalıştır. Özel C++ son işleme kullandığında, görevin ve dışa aktarma ayarların için çıktı tensörü düzenini eşleştir; YOLO26 uçtan uca tespit dışa aktarımları genellikle (batch, max_det, 6) döndürürken, uçtan uca olmayan dışa aktarımlar harici son işleme gerektiren ham tahmin tensörleri döndürür.

end2end=True ile nicelemiş modeller dışarı aktarılırken output0 neden FP32'dir?#

quantize=16 (FP16) veya quantize=8 (INT8) ile dışa aktarırken, model boyutunu küçültmek ve performansı artırmak için çoğu tensör daha düşük bir hassasiyete dönüştürülür. Bununla birlikte, end2end=True etkinleştirildiğinde, son işleme (sınıf indeksleri dahil) doğrudan dışa aktarılan grafiğe gömülür.

output0 tensörü, dahili olarak kayan noktalı değerler olarak temsil edilen sınıf indekslerini içerir. FP16, sınırlı mantis hassasiyeti nedeniyle 2048'in üzerindeki tamsayı değerlerini güvenilir bir şekilde temsil edemez. Olası bir hassasiyet kaybını veya yanlış sınıf ID'lerini önlemek için output0 kasıtlı olarak FP32 tutulur.

Bu davranış beklenendir ve sınıf dizini sadakatinin korunması gereken düşük hassasiyetli veya nicelenmiş dışa aktarımlar için de geçerlidir.

Tam FP16 çıktısı gerekiyorsa, end2end=False ile dışa aktar ve son işlemeyi harici olarak gerçekleştir.

Yorumlar