mlmodel — mi ez, fájlstruktúra és konvertálás mlpackage formátumba

Szerző: IT Sectr Megjelenés: 2026-07-17 Olvasási idő: 10 perc

mlmodel — az Apple Core ML keretrendszerének gépi tanulási modell fájlformátuma, amelyet a betanított modellek tárolására használtak a .mlpackage formátum megjelenése előtt. A .mlmodel fájl egy bináris csomag volt protobuf formátumban, amely tartalmazta a modell leírását, a neurális háló súlyait, metaadatokat és a be-/kimenetekkel kapcsolatos információkat. Az Apple Core ML Release Notes (2025) szerint az Xcode 13 és Core ML 4 verziótól kezdve a régi .mlmodel formátum elavulttá vált a .mlpackage javára.

Főbb pontok

  • mlmodel — elavult Core ML fájlformátum ML modellek tárolására bináris protobuf formátumban.
  • Tartalmazta a modell súlyait, metaadatokat, be-/kimenet leírást és elő-/utófeldolgozási konfigurációt.
  • A .mlmodel fájlt az Xcode automatikusan .mlpackage formátumba konvertálta fordításkor.
  • Az Xcode 13-tól (2021) kezdve az Apple a .mlpackage formátumot ajánlja.
  • Konvertálás Xcode Model Compilerrel vagy coremltools segítségével Pythonban.

Mi az mlmodel?

mlmodel — egy bináris fájlformátum, amelyet az Apple 2017-ben mutatott be a Core ML keretrendszerrel együtt a WWDC 2017 rendezvényen. A formátum a Google protobuf (Protocol Buffers) szerializációs technológiáján alapul.

A formátum története

A .mlmodel volt az egyetlen Core ML formátum 2017-től 2021-ig. Ez alatt az idő alatt millióká modellt konvertáltak a TensorFlow, Keras, PyTorch, Caffe, scikit-learn és más könyvtárakból a coremltools segítségével.

Fő jellemzők

A mlmodel fájl tárolja a modellt kompakt bináris reprezentációban. Mérete tízes kilobajttól gigabájtig terjed. Támogatja az összes Core ML modelltípust.

Jellemzőmlmodel
FormátumBináris (protobuf)
OlvashatóságNem olvasható
VerziókezelésNincs
MetaadatokProtobuf sémában
Git-barátNem

Az mlmodel fájlstruktúrája

A .mlmodel fájl belső struktúráját a CoreML.framework protobuf sémája határozza meg. Fő szekciók: modelDescription, modelParameters, preprocessing, postprocessing.

modelDescription szekció

A modelDescription (MLModelDescription) tartalmazza a modell nevét, szerzőjét, verzióját, leírását, licencét és az összes be-/kimeneti paraméter leírását.

modelParameters szekció

A modelParameters tartalmazza a betanított modell tényleges súlyait és paramétereit. Neurális hálók esetén ez NeuralNetworkLayer tömb.

preprocessing szekció

A preprocessing a bemeneti adatok előfeldolgozási lépéseit írja le: Scaler, ImagePreprocessing, OneHotEncoder, FeatureVectorizer.

mlmodel vs mlpackage: összehasonlító elemzés

mlpackage — az új generációs formátum Core ML modellekhez, amelyet a WWDC 2021-en mutattak be. A .mlpackage egy könyvtár (csomag) fájlstruktúrával.

Paramétermlmodelmlpackage
TípusEgyetlen bináris fájlKönyvtár (csomag)
MetaadatokBináris protobufJSON
Git diffHasználhatatlanMűködik
VerziókezelésKéziAutomatikus
Custom layersNincsTámogatja
StátuszElavultAktuális

Az mlpackage fájlstruktúrája

A .mlpackage tartalmazza: ModelCI/, Data/, Metadata.json, Model.json, Manifests/.

Hogyan konvertáljuk az mlmodel-t mlpackage-ba

Konvertálás két módon: automatikusan az Xcode-ban vagy kézzel a coremltools segítségével Pythonban.

python
import coremltools as ct

model = ct.models.MLModel(
    "OldModel.mlmodel"
)
model.author = "IT Sectr"
model.short_description = "Converted from mlmodel"
model.version = "2.0"
model.save("NewModel.mlpackage")

Automatikus konvertálás az Xcode-ban

A .mlmodel fájl Xcode projekthez adásakor a rendszer automatikusan elindítja a Model Compiler-t fordításkor.

Ellenőrzés konvertálás után

A coremltools ct.utils.compare_models() függvényt kínál az előrejelzések összehasonlítására. Megengedett eltérés Float32 esetén maximum 1e-5.

Visszafelé kompatibilitás és támogatás

A .mlmodel visszafelé kompatibilitása biztosított az összes jelenlegi iOS és macOS verzión.

Támogatás iOS 18+ és macOS 15+ rendszereken

Az iOS 18-tól kezdve a Core ML már nem támogatja a .mlmodel közvetlen betöltését.

A támogatás vége

A .mlmodel teljes támogatásának vége iOS 20-21 (2026-2027) körül várható.

Mikor aktuális még az mlmodel

A .mlmodel még megtalálható meglévő projektekben és bizonyos forgatókönyvekben.

Régi projektek

A 2021 előtt indított projektek több tucat .mlmodel modellt tartalmazhatnak.

CI/CD pipeline-ok coremltools-szal

A coremltools 4.x-et használó CI/CD pipeline-ok alapértelmezésben .mlmodel formátumba exportálnak.

Könyvtárak és Pods

A 2021 előtt kiadott könyvtárak .mlmodel modelleket tartalmazhatnak.

Gyakori problémák az mlmodel-lel

Az elavult .mlmodel formátummal való munka néhány gyakori problémával jár.

Xcode elavulási figyelmeztetés

A .mlmodel Xcode 13+-hoz való hozzáadásakor figyelmeztetés jelenik meg: 'mlmodel' format is deprecated. Use 'mlpackage' instead.

Model file is not valid hiba

A régi coremltools-szal készített .mlmodel nem nyílik meg iOS 16+ rendszeren.

Problémák a custom layers-szel

A custom layers-t tartalmazó .mlmodel nem konvertálható közvetlenül.

Gyakran ismételt kérdések

Mi az mlmodel?

mlmodel — elavult bináris fájlformátum Core ML modellekhez.

Mi a különbség mlmodel és mlpackage között?

mlmodel — egyetlen bináris fájl. mlpackage — könyvtár JSON metaadatokkal.

Hogyan nyithatok meg egy .mlmodel fájlt?

Xcode, coremltools vagy Netron segítségével.

Szükséges konvertálni az mlmodel-t mlpackage-ba?

Ajánlott. Az új Core ML funkciók nem érhetőek el a .mlmodel számára.

Támogatott a .mlmodel iOS 18 rendszeren?

Az iOS 18+ csak visszafelé kompatibilitási módban támogatja a .mlmodel-t.

Összefoglaló

  • mlmodel — elavult bináris formátum (protobuf).
  • Három szekció: modelDescription, modelParameters, preprocessing.
  • .mlpackage — új formátum olvasható JSON metaadatokkal.
  • Konvertálás: Xcode vagy coremltools.
  • iOS 18+ csak Xcode konvertáláson keresztül támogatja a .mlmodel-t.
  • Problémák: elavulási figyelmeztetés, protobuf hibák, custom layers.
  • Az Apple a .mlpackage-re való migrációt ajánlja.

Kulcsrakész mobilalkalmazást fejlesztünk

Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.

Projekt megbeszélése

Olvassa el is