(ML) 評估轉換後 CoreML 模型的精度.目的:將 EfficientNetV2 模型轉換為 CoreML 模型,並使用… | von YEN HUNG CHENG | Juni 2023

0
104


Foto von Florian Schmetz An Unsplash

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

Quelle

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 ct

label_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 ct

with 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 時,精度僅有些微下降 。

EfficientNetV2: Kleinere Modelle und schnelleres Coaching

ImageNet Massive Scale Visible Recognition Problem 2012 (ILSVRC2012)

Kleiner ImageNet-Validierungsdatensatz 1000 Klassen



Source link

HINTERLASSEN SIE EINE ANTWORT

Please enter your comment!
Please enter your name here