mlmodel — είναι η μορφή αρχείου μοντέλου μηχανικής μάθησης για το πλαίσιο Core ML της Apple, που χρησιμοποιείται για την αποθήκευση εκπαιδευμένων μοντέλων πριν την εμφάνιση της μορφής .mlpackage. Το αρχείο .mlmodel ήταν ένα δυαδικό πακέτο σε protobuf μορφή, που περιείχε περιγραφή μοντέλου, βάρη νευρωνικού δικτύου, μεταδεδομένα και πληροφορίες εισόδου/εξόδου. Σύμφωνα με τα Apple Core ML Release Notes (2025), από Xcode 13 και Core ML 4 η παλιά .mlmodel μορφή κηρύχθηκε απαρχαιωμένη υπέρ της .mlpackage.
Βασικά σημεία
mlmodel — είναι μια δυαδική μορφή αρχείου που παρουσιάστηκε από την Apple το 2017 μαζί με το πλαίσιο Core ML στο WWDC 2017. Η μορφή βασίζεται στην τεχνολογία protobuf (Protocol Buffers) της Google.
Η .mlmodel ήταν η μοναδική μορφή Core ML από το 2017 έως το 2021. Εκατομμύρια μοντέλα από TensorFlow, Keras, PyTorch, Caffe, scikit-learn και άλλες βιβλιοθήκες μετατράπηκαν μέσω coremltools.
Το αρχείο mlmodel αποθηκεύει το μοντέλο σε συμπαγή δυαδική αναπαράσταση. Το μέγεθος ποικίλει από δεκάδες KB έως GB. Υποστηρίζει όλα τα είδη μοντέλων Core ML.
| Χαρακτηριστικό | mlmodel |
|---|---|
| Μορφή | Δυαδική (protobuf) |
| Αναγνωσιμότητα | Μη αναγνώσιμη |
| Εκδοσιολόγηση | Όχι |
| Μεταδεδομένα | Στο protobuf σχήμα |
| Git-friendly | Όχι |
Η εσωτερική δομή .mlmodel καθορίζεται από το protobuf σχήμα στο CoreML.framework. Κύριες ενότητες: modelDescription, modelParameters, preprocessing, postprocessing.
Η modelDescription (MLModelDescription) περιέχει όνομα μοντέλου, συγγραφέα, έκδοση, περιγραφή, άδεια και περιγραφή όλων των παραμέτρων εισόδου/εξόδου.
Η modelParameters περιέχει βάρη και παραμέτρους του εκπαιδευμένου μοντέλου. Για νευρωνικά δίκτυα είναι ένας πίνακας NeuralNetworkLayer.
Η preprocessing περιγράφει τα βήματα προεπεξεργασίας: Scaler, ImagePreprocessing, OneHotEncoder, FeatureVectorizer.
mlpackage — είναι η νέας γενιάς μορφή για μοντέλα Core ML, που παρουσιάστηκε στο WWDC 2021. Το .mlpackage είναι ένας κατάλογος (πακέτο) με δομή αρχείων.
| Παράμετρος | mlmodel | mlpackage |
|---|---|---|
| Τύπος | Ενιαίο δυαδικό αρχείο | Κατάλογος |
| Μεταδεδομένα | Δυαδικό protobuf | JSON |
| Git diff | Άχρηστο | Λειτουργεί |
| Εκδοσιολόγηση | Χειροκίνητη | Αυτόματη |
| Custom layers | Όχι | Υποστηρίζει |
| Κατάσταση | Απαρχαιωμένη | Ενεργή |
Το .mlpackage περιέχει: ModelCI/, Data/, Metadata.json, Model.json, Manifests/.
Η μετατροπή γίνεται με δύο τρόπους: αυτόματα στο Xcode ή χειροκίνητα μέσω coremltools σε 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")
Κατά την προσθήκη .mlmodel σε Xcode έργο, το σύστημα εκτελεί αυτόματα το Model Compiler.
Το coremltools παρέχει τη ct.utils.compare_models() για σύγκριση προβλέψεων. Επιτρεπόμενη διαφορά για Float32 είναι 1e-5.
Η προς τα πίσω συμβατότητα .mlmodel είναι εγγυημένη σε όλες τις τρέχουσες εκδόσεις iOS και macOS.
Από iOS 18, το Core ML δεν υποστηρίζει πλέον την απευθείας φόρτωση .mlmodel.
Η πλήρης υποστήριξη .mlmodel αναμένεται να τελειώσει σε iOS 20-21 (2026-2027).
Το .mlmodel εξακολουθεί να υπάρχει σε υπάρχοντα έργα και σενάρια.
Έργα που ξεκίνησαν πριν το 2021 μπορεί να περιέχουν δεκάδες .mlmodel μοντέλων.
CI/CD pipelines που χρησιμοποιούν coremltools 4.x εξάγουν σε .mlmodel.
Βιβλιοθήκες που δημοσιεύτηκαν πριν το 2021 μπορεί να περιέχουν .mlmodel μοντέλα.
Η εργασία με .mlmodel παρουσιάζει αρκετά συνηθισμένα προβλήματα.
Κατά την προσθήκη .mlmodel σε Xcode 13+ εμφανίζεται προειδοποίηση: 'mlmodel' format is deprecated. Use 'mlpackage' instead.
.mlmodel από παλιά coremltools μπορεί να μην ανοίγει σε iOS 16+.
.mlmodel με custom layers δεν μπορεί να μετατραπεί απευθείας.
Συχνές ερωτήσεις
mlmodel — απαρχαιωμένη δυαδική μορφή αρχείου για μοντέλα Core ML.
mlmodel — ενιαίο δυαδικό αρχείο. mlpackage — κατάλογος με JSON metadata.
Xcode, coremltools ή Netron.
Συνιστάται. Νέες δυνατότητες Core ML δεν είναι διαθέσιμες για .mlmodel.
iOS 18+ υποστηρίζει .mlmodel μόνο σε λειτουργία συμβατότητας.
Σύνοψη
Θα αναπτύξουμε μια εφαρμογή για κινητά έτοιμη για χρήση
Η IT Sectr δημιουργεί εφαρμογές iOS και Android για νεοφυείς επιχειρήσεις και επιχειρήσεις από το 2017. Θα σας συμβουλεύσουμε και θα προτείνουμε την καλύτερη λύση.
Διαβάστε επίσης