mlmodel — is het bestandsformaat van het machine learning-model voor het Core ML-framework van Apple, gebruikt voor het opslaan van getrainde modellen vóór de komst van het .mlpackage-formaat. Het .mlmodel-bestand was een binair pakket in protobuf-formaat, met daarin de modelbeschrijving, gewichten van het neurale netwerk, metadata en informatie over in-/uitgangen. Volgens Apple Core ML Release Notes (2025) is vanaf Xcode 13 en Core ML 4 het oude .mlmodel-formaat afgekeurd ten gunste van .mlpackage.
Belangrijkste punten
mlmodel — is een binair bestandsformaat geïntroduceerd door Apple in 2017 samen met het Core ML-framework op WWDC 2017. Het formaat is gebaseerd op protobuf (Protocol Buffers) van Google.
.mlmodel was het enige Core ML-formaat van 2017 tot 2021. Miljoenen modellen uit TensorFlow, Keras, PyTorch, Caffe, scikit-learn en andere bibliotheken zijn via coremltools geconverteerd.
Het mlmodel-bestand slaat het model op in compacte binaire vorm. Grootte varieert van tientallen kB tot gigabytes. Ondersteunt alle Core ML-modeltypen.
| Kenmerk | mlmodel |
|---|---|
| Formaat | Binair (protobuf) |
| Leesbaarheid | Onleesbaar |
| Versiebeheer | Nee |
| Metadata | In protobuf-schema |
| Git-vriendelijk | Nee |
Interne structuur van .mlmodel wordt bepaald door het protobuf-schema in CoreML.framework. Secties: modelDescription, modelParameters, preprocessing, postprocessing.
modelDescription (MLModelDescription) bevat modelnaam, auteur, versie, beschrijving, licentie en beschrijving van alle in-/uitgangsparameters.
modelParameters bevat de gewichten en parameters van het getrainde model. Voor neurale netwerken is dit een array van NeuralNetworkLayer.
preprocessing beschrijft de voorverwerkingsstappen: Scaler, ImagePreprocessing, OneHotEncoder, FeatureVectorizer.
mlpackage — is het nieuwe generatieformaat voor Core ML-modellen, geïntroduceerd op WWDC 2021. .mlpackage is een directory (pakket) met bestandsstructuur.
| Parameter | mlmodel | mlpackage |
|---|---|---|
| Type | Enkel binair bestand | Directory (pakket) |
| Metadata | Binair protobuf | JSON |
| Git diff | Nutteloos | Werkt |
| Versiebeheer | Handmatig | Automatisch |
| Custom layers | Nee | Ondersteunt |
| Status | Verouderd | Actueel |
.mlpackage bevat: ModelCI/, Data/, Metadata.json, Model.json, Manifests/.
Conversie op twee manieren: automatisch in Xcode of handmatig via coremltools in 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")
Bij toevoeging van .mlmodel aan Xcode-project start het systeem automatisch Model Compiler tijdens het bouwen.
coremltools biedt ct.utils.compare_models() voor het vergelijken van voorspellingen. Toegestaan verschil voor Float32 is maximaal 1e-5.
Terugwaartse compatibiliteit van .mlmodel is verzekerd op alle huidige iOS- en macOS-versies.
Vanaf iOS 18 ondersteunt Core ML geen direct laden van .mlmodel meer.
Volledige ondersteuning voor .mlmodel wordt verwacht te eindigen in iOS 20-21 (2026-2027).
.mlmodel komt nog voor in bestaande projecten en sommige scenario's.
Projecten gestart vóór 2021 kunnen tientallen .mlmodel-modellen bevatten.
CI/CD-pijplijnen die coremltools 4.x gebruiken exporteren standaard naar .mlmodel.
Bibliotheken gepubliceerd vóór 2021 kunnen .mlmodel-modellen bevatten.
Werken met verouderd .mlmodel brengt enkele typische problemen met zich mee.
Bij toevoegen van .mlmodel in Xcode 13+ verschijnt waarschuwing: 'mlmodel' format is deprecated. Use 'mlpackage' instead.
.mlmodel gemaakt met oude coremltools kan niet openen op iOS 16+.
.mlmodel met custom layers kunnen niet direct worden geconverteerd.
Veelgestelde vragen
mlmodel — verouderd binair bestandsformaat voor Core ML-modellen.
mlmodel — enkel binair bestand. mlpackage — directory met JSON-metadata.
Via Xcode, coremltools of Netron.
Aanbevolen. Nieuwe Core ML-functies zijn niet beschikbaar voor .mlmodel.
iOS 18+ ondersteunt .mlmodel alleen in terugwaartse compatibiliteitsmodus.
Samenvatting
We ontwikkelen een mobiele applicatie turnkey
IT Sectr creëert sinds 2017 iOS- en Android-applicaties voor startups en bedrijven. We adviseren u en stellen de beste oplossing voor.
Lees ook