Beispiel: EfficientNetV2 ist eine CoreML-Model, die von ImageNet(ILSVRC2012) Validierungsbildern verwendet wird
Vergleichen Sie die Unterschiede zwischen verschiedenen EfficientNetV2-Modellen (S, M, L) hinsichtlich der ImageNet High-1-Genauigkeit und Modellgröße
High-1-Genauigkeit 是參考論文提出的數值,而 (MB des Gewichts im Modell) 模型大小則是參考載入 Pytorch und Torchvision.fashions
Vergleichen Sie die Inferenzzeit verschiedener EfficientNetV2-Modelle (S, M, L) auf Small-ImageNet High-1
推理的時間是在 Macbook Air M1 上, 並使用 Kleiner ImageNet-Validierungsdatensatz 進行計算的
Vergleichen Sie die Small-ImageNet High-1-Genauigkeit und Inferenzzeit verschiedener Eingabebildgrößen in EfficientNetV2_S
推理的時間是在 Macbook Air M1 上, 並使用 Kleiner ImageNet-Validierungsdatensatz 進行計算的, 並可以發現當輸入的照片尺寸越大, High-1 也會越高
權衡模型大小以及推理時間後,我決定使用 EfficientNetV2_S 作為本次實驗的 spine (骨幹), 299 x 299 為輸入照片的大小
Konvertieren Sie PyTorch EfficientNetV2_S in CoreML
可以參考下方這一篇進行轉換,不過文中標籤的產生方式需要修改
# 原本產生標籤的方式
import urllib
import coremltools as ctlabel_url = 'https://storage.googleapis.com/obtain.tensorflow.org/information/ImageNetLabels.txt'
class_labels = urllib.request.urlopen(label_url).learn().splitlines()
class_labels = class_labels[1:] # take away the primary class which is background assert len(class_labels) == 1000
for i, label in enumerate(class_labels):
if isinstance(label, bytes):
class_labels[i] = label.decode("utf8")
classifier_config = ct.ClassifierConfig(class_labels)
# 更改為這樣產生標籤
import json
import coremltools as ctwith open('/Customers/jason/Downloads/Small-ImageNet-Validation-Dataset-1000-Lessons-main/imagenet.json') as f:
imagenet_labels = json.load(f)
classifier_config = ct.ClassifierConfig(imagenet_labels)
Laden Sie imagenet.json herunter Kleiner ImageNet-Validierungsdatensatz 找到
Vergleichen Sie die quantisierte Genauigkeit und die Modellgröße von EfficientNetV2_S (ImageNet High-1- und High-5-Genauigkeit).
Die aktuelle Model von EfficientNetV2_S ist eine neue Model von EfficientNetV2_S ImageNet-Validierungsbilder 評估了其精度.結果顯示,在將模型量化為 4bit 時,模型無法正常進行預測;而將模型量化為 16bit時, High-1 und High-5 將模型量化為 8 bit 時,精度僅有些微下降 。