mlmodel — bu nima, fayl tuzilishi va mlpackage-ga konvertatsiya

Muallif: IT Sectr Nashr etilgan: 2026-07-17 O'qish vaqti: 10 daq

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 — o‘qitilgan ML modellarini ikkilik protobuf formatida saqlash üçün eskirgan Core ML fayl formati.
  • Tarkibida model og‘irliklari, metadata, kirish/chiqish ma’lumotlari va old/keyin ishlov berish konfiguratsiyasi bo‘lgan.
  • .mlmodel fayli Xcode tomonidan ilova qurilayotganda avtomatik ravishda .mlpackage-ga o‘tkazilgan.
  • Xcode 13 (2021) dan boshlab Apple .mlpackage formatini zamonaviyroq sifatida tavsiya qiladi.
  • .mlmodel-ni .mlpackage-ga konvertatsiya qilish Xcode Model Compiler yoki Python-dagi coremltools skripti orqali amalga oshiriladi.

mlmodel nima?

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.

Format tarixi

.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.

Asosiy xususiyatlar

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.

Xususiyatmlmodel
FormatIkkilik (protobuf)
O‘qilishO‘qib bo‘lmaydi
VersiyalashYo‘q
MetadataProtobuf sxemasida
Git-ga mosYo‘q

mlmodel fayl tuzilishi

.mlmodel faylining ichki tuzilishi CoreML.framework-dagi protobuf sxemasi bilan belgilanadi. Asosiy bo‘limlar: modelDescription, modelParameters, preprocessing, postprocessing.

modelDescription bo‘limi

modelDescription (MLModelDescription) model nomi, muallifi, versiyasi, tavsifi, litsenziyasi va barcha kirish/chiqish parametrlari tavsifini o‘z ichiga oladi.

modelParameters bo‘limi

modelParameters o‘qitilgan modelning og‘irliklari va parametrlarini o‘z ichiga oladi. Neyron tarmoqlar üçün bu NeuralNetworkLayer massividir.

preprocessing bo‘limi

preprocessing kirish ma’lumotlarini oldindan qayta ishlash bosqichlarini tavsiflaydi: Scaler, ImagePreprocessing, OneHotEncoder, FeatureVectorizer.

mlmodel vs mlpackage: qiyosiy tahlil

mlpackage — WWDC 2021 da taqdim etilgan yangi avlod Core ML formati. .mlpackage fayl strukturasiga ega katalog (paket) dir.

Parametrmlmodelmlpackage
TurYagona ikkilik faylKatalog (paket)
MetadataIkkilik protobufJSON
Git diffFoydasizIshlaydi
VersiyalashQo‘ldaAvtomatik
Custom layersYo‘qQo‘llab-quvvatlaydi
HolatiEskirganDolzarb

mlpackage fayl tuzilishi

.mlpackage paketi o‘z ichiga oladi: ModelCI/, Data/, Metadata.json, Model.json, Manifests/.

mlmodel-ni mlpackage-ga qanday o‘tkazish

Konvertatsiya ikki usulda amalga oshiriladi: Xcode-da avtomatik yoki Python-da coremltools orqali qo‘lda.

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")

Xcode-da avtomatik konvertatsiya

.mlmodel faylini Xcode loyihasiga qo‘shganda, tizim qurish vaqtida Model Compiler-ni avtomatik ishga tushiradi.

Konvertatsiyadan keyin tekshirish

coremltools ct.utils.compare_models() yordamida asl va konvertatsiya qilingan modelning bashoratlarini solishtiring. Float32 üçün ruxsat etilgan farq 1e-5 dan oshmasligi kerak.

Orqaga muvofiqlik va qo‘llab-quvvatlash

.mlmodel üçün orqaga muvofiqlik barcha joriy iOS va macOS versiyalarida ta’minlanadi.

iOS 18+ va macOS 15+ da qo‘llab-quvvatlash

iOS 18 dan boshlab, Core ML .mlmodel-ni to‘g‘ridan-to‘g‘ri yuklashni qo‘llab-quvvatlamaydi.

Qo‘llab-quvvatlash muddati

.mlmodel üçün to‘liq qo‘llab-quvvatlash iOS 20-21 (2026-2027) da tugashi kutilmoqda.

mlmodel qachon hali ham dolzarb

.mlmodel hali ham mavjud loyihalarda va ba’zi stsenariylarda uchraydi.

Eski loyihalar

2021 yilgacha boshlangan loyihalarda o‘nlab .mlmodel modellari bo‘lishi mumkin.

CI/CD quvurlari

coremltools 4.x dan foydalanadigan CI/CD quvurlari .mlmodel-ga eksport qiladi.

Kutubxonalar va Pods

2021 yilgacha nashr etilgan kutubxonalar .mlmodel modellarini o‘z ichiga olishi mumkin.

mlmodel bilan odatiy muammolar

Eskirgan .mlmodel formati bilan ishlashda bir nechta odatiy muammolar mavjud.

Xcode eskirganlik haqida ogohlantirishi

Xcode 13+ da .mlmodel qo‘shganda ogohlantirish paydo bo‘ladi: 'mlmodel' format is deprecated. Use 'mlpackage' instead.

Model file is not valid xatosi

Eski coremltools bilan yaratilgan .mlmodel iOS 16+ da ochilmasligi mumkin.

Custom layers bilan muammolar

Custom layers o‘z ichiga olgan .mlmodel to‘g‘ridan-to‘g‘ri konvertatsiya qilinmaydi.

Ko‘p beriladigan savollar

mlmodel nima?

mlmodel — Core ML modellari üçün eskirgan ikkilik fayl formati.

mlmodel mlpackage-dan nima bilan farq qiladi?

mlmodel — yagona ikkilik fayl. mlpackage — JSON metadata bilan katalog.

.mlmodel faylini qanday ochish mumkin?

Xcode, coremltools yoki Netron orqali.

.mlmodel-ni .mlpackage-ga konvertatsiya qilish kerakmi?

Tavsiya etiladi. Xcode avtomatik konvertatsiya qiladi, lekin yangi Core ML imkoniyatlari .mlmodel üçün mavjud emas.

.mlmodel iOS 18 da qo‘llab-quvvatlanadimi?

iOS 18+ .mlmodel-ni faqat orqaga muvofiqlik rejimida qo‘llab-quvvatlaydi.

Xulosa

  • mlmodel — eskirgan ikkilik format (protobuf).
  • Uch bo‘lim: modelDescription, modelParameters, preprocessing.
  • .mlpackage — JSON metadata bilan yangi format.
  • Konvertatsiya: Xcode yoki coremltools.
  • iOS 18+ .mlmodel-ni faqat Xcode orqali qo‘llab-quvvatlaydi.
  • Asosiy muammolar: eskirganlik ogohlantirishi, protobuf xatolari, custom layers.
  • Apple .mlpackage-ga migratsiyani tavsiya qiladi.

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.

Loyihani muhokama qilish

Shuningdek o'qing