mlmodel — bu Apple-ning Core ML frameworki üçün mashina o‘rganish model fayl formati bo‘lib, .mlpackage formati paydo bo‘lguncha o‘qitilgan modellarni saqlash üçün ishlatilgan. .mlmodel fayli protobuf formatidagi ikkilik paket bo‘lib, model tavsifi, neyron tarmoq og‘irliklari, metadata va kirish/chiqish ma’lumotlarini o‘z ichiga olgan. Apple Core ML Release Notes (2025) ma’lumotlariga ko‘ra, Xcode 13 va Core ML 4 dan boshlab eski .mlmodel formati .mlpackage foydasiga eskirgan deb e’lon qilingan.
Asosiy ma’lumotlar
mlmodel — Apple tomonidan 2017 yilda WWDC 2017 da Core ML frameworki bilan birga taqdim etilgan ikkilik fayl formati. Format Google-ning protobuf (Protocol Buffers) seriyalashtirish texnologiyasiga asoslangan.
.mlmodel 2017 yildan 2021 yilgacha yagona Core ML formati bo‘lgan. Bu vaqt ichida coremltools orqali TensorFlow, Keras, PyTorch, Caffe, scikit-learn va boshqa kutubxonalardan millionlab modellar konvertatsiya qilingan.
mlmodel fayli modelni ixcham ikkilik ko‘rinishda saqlaydi. Hajmi o‘nlab kilobaytdan gigabaytgacha o‘zgaradi. Format Core ML-ning barcha model turlarini qo‘llab-quvvatlaydi.
| Xususiyat | mlmodel |
|---|---|
| Format | Ikkilik (protobuf) |
| O‘qilish | O‘qib bo‘lmaydi |
| Versiyalash | Yo‘q |
| Metadata | Protobuf sxemasida |
| Git-ga mos | Yo‘q |
.mlmodel faylining ichki tuzilishi CoreML.framework-dagi protobuf sxemasi bilan belgilanadi. Asosiy bo‘limlar: modelDescription, modelParameters, preprocessing, postprocessing.
modelDescription (MLModelDescription) model nomi, muallifi, versiyasi, tavsifi, litsenziyasi va barcha kirish/chiqish parametrlari tavsifini o‘z ichiga oladi.
modelParameters o‘qitilgan modelning og‘irliklari va parametrlarini o‘z ichiga oladi. Neyron tarmoqlar üçün bu NeuralNetworkLayer massividir.
preprocessing kirish ma’lumotlarini oldindan qayta ishlash bosqichlarini tavsiflaydi: Scaler, ImagePreprocessing, OneHotEncoder, FeatureVectorizer.
mlpackage — WWDC 2021 da taqdim etilgan yangi avlod Core ML formati. .mlpackage fayl strukturasiga ega katalog (paket) dir.
| Parametr | mlmodel | mlpackage |
|---|---|---|
| Tur | Yagona ikkilik fayl | Katalog (paket) |
| Metadata | Ikkilik protobuf | JSON |
| Git diff | Foydasiz | Ishlaydi |
| Versiyalash | Qo‘lda | Avtomatik |
| Custom layers | Yo‘q | Qo‘llab-quvvatlaydi |
| Holati | Eskirgan | Dolzarb |
.mlpackage paketi o‘z ichiga oladi: ModelCI/, Data/, Metadata.json, Model.json, Manifests/.
Konvertatsiya ikki usulda amalga oshiriladi: Xcode-da avtomatik yoki Python-da coremltools orqali qo‘lda.
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 faylini Xcode loyihasiga qo‘shganda, tizim qurish vaqtida Model Compiler-ni avtomatik ishga tushiradi.
coremltools ct.utils.compare_models() yordamida asl va konvertatsiya qilingan modelning bashoratlarini solishtiring. Float32 üçün ruxsat etilgan farq 1e-5 dan oshmasligi kerak.
.mlmodel üçün orqaga muvofiqlik barcha joriy iOS va macOS versiyalarida ta’minlanadi.
iOS 18 dan boshlab, Core ML .mlmodel-ni to‘g‘ridan-to‘g‘ri yuklashni qo‘llab-quvvatlamaydi.
.mlmodel üçün to‘liq qo‘llab-quvvatlash iOS 20-21 (2026-2027) da tugashi kutilmoqda.
.mlmodel hali ham mavjud loyihalarda va ba’zi stsenariylarda uchraydi.
2021 yilgacha boshlangan loyihalarda o‘nlab .mlmodel modellari bo‘lishi mumkin.
coremltools 4.x dan foydalanadigan CI/CD quvurlari .mlmodel-ga eksport qiladi.
2021 yilgacha nashr etilgan kutubxonalar .mlmodel modellarini o‘z ichiga olishi mumkin.
Eskirgan .mlmodel formati bilan ishlashda bir nechta odatiy muammolar mavjud.
Xcode 13+ da .mlmodel qo‘shganda ogohlantirish paydo bo‘ladi: 'mlmodel' format is deprecated. Use 'mlpackage' instead.
Eski coremltools bilan yaratilgan .mlmodel iOS 16+ da ochilmasligi mumkin.
Custom layers o‘z ichiga olgan .mlmodel to‘g‘ridan-to‘g‘ri konvertatsiya qilinmaydi.
Ko‘p beriladigan savollar
mlmodel — Core ML modellari üçün eskirgan ikkilik fayl formati.
mlmodel — yagona ikkilik fayl. mlpackage — JSON metadata bilan katalog.
Xcode, coremltools yoki Netron orqali.
Tavsiya etiladi. Xcode avtomatik konvertatsiya qiladi, lekin yangi Core ML imkoniyatlari .mlmodel üçün mavjud emas.
iOS 18+ .mlmodel-ni faqat orqaga muvofiqlik rejimida qo‘llab-quvvatlaydi.
Xulosa
Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz
IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.