mlmodel — ano ito, istraktura ng file at conversion sa mlpackage

May-akda: IT Sectr Nai-publish: 2026-07-17 Oras ng pagbabasa: 10 min

mlmodel — ay ang format ng file ng modelo ng machine learning para sa Core ML framework ng Apple, na ginamit para sa pag-iimbak ng mga sinanay na modelo bago ang pagdating ng format na .mlpackage. Ang file na .mlmodel ay isang binary package sa protobuf format, na naglalaman ng paglalarawan ng modelo, mga timbang ng neural network, metadata, at impormasyon tungkol sa mga input/output. Ayon sa Apple Core ML Release Notes (2025), simula sa Xcode 13 at Core ML 4, ang lumang .mlmodel format ay idineklara na deprecated pabor sa .mlpackage.

Mga pangunahing punto

  • mlmodel — deprecated Core ML file format para sa ML models sa binary protobuf format.
  • Naglalaman ng mga timbang ng modelo, metadata, paglalarawan ng input/output, at configuration ng pre/post-processing.
  • Ang .mlmodel ay awtomatikong kino-convert ng Xcode sa .mlpackage sa pag-compile.
  • Simula Xcode 13 (2021) inirerekomenda ng Apple ang .mlpackage format.
  • Conversion sa pamamagitan ng Xcode Model Compiler o coremltools sa Python.

Ano ang mlmodel?

mlmodel — ay isang binary file format na ipinakilala ng Apple noong 2017 kasama ang Core ML framework sa WWDC 2017. Ang format ay batay sa protobuf (Protocol Buffers) na teknolohiya ng Google.

Kasaysayan ng format

.mlmodel ay ang tanging Core ML format mula 2017 hanggang 2021. Milyun-milyong modelo mula sa TensorFlow, Keras, PyTorch, Caffe, scikit-learn at iba pang mga library ang na-convert sa pamamagitan ng coremltools.

Mga pangunahing katangian

Ang mlmodel file ay nag-iimbak ng modelo sa compact binary representation. Ang laki ay mula sa sampu-sampung KB hanggang GB. Sinusuportahan ang lahat ng uri ng Core ML model.

Katangianmlmodel
FormatBinary (protobuf)
PagbasaHindi nababasa
VersioningWala
MetadataSa protobuf schema
Git-friendlyHindi

Istraktura ng file ng mlmodel

Ang panloob na istraktura ng .mlmodel ay tinutukoy ng protobuf schema sa CoreML.framework. Mga seksyon: modelDescription, modelParameters, preprocessing, postprocessing.

Seksyon ng modelDescription

modelDescription (MLModelDescription) ay naglalaman ng pangalan ng modelo, may-akda, bersyon, paglalarawan, lisensya, at paglalarawan ng lahat ng input/output parameter.

Seksyon ng modelParameters

modelParameters ay naglalaman ng mga timbang at parameter ng sinanay na modelo. Para sa neural networks, ito ay isang array ng NeuralNetworkLayer.

Seksyon ng preprocessing

preprocessing ay naglalarawan ng mga hakbang sa pre-processing: Scaler, ImagePreprocessing, OneHotEncoder, FeatureVectorizer.

mlmodel vs mlpackage: paghahambing

mlpackage — ay ang bagong generation format para sa Core ML models, ipinakilala sa WWDC 2021. Ang .mlpackage ay isang directory (package) na may file structure.

Parametermlmodelmlpackage
UriIsang binary fileDirektoryo (package)
MetadataBinary protobufJSON
Git diffWalang silbiGumagana
VersioningManualAwtomatiko
Custom layersWalaSinusuportahan
StatusDeprecatedKasalukuyan

Istraktura ng file ng mlpackage

.mlpackage ay naglalaman ng: ModelCI/, Data/, Metadata.json, Model.json, Manifests/.

Paano i-convert ang mlmodel sa mlpackage

Conversion sa dalawang paraan: awtomatiko sa Xcode o manual sa pamamagitan ng coremltools sa Python.

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

Awtomatikong conversion sa Xcode

Kapag nagdagdag ng .mlmodel sa Xcode project, awtomatikong nagpapatakbo ang system ng Model Compiler sa build.

Pag-verify pagkatapos ng conversion

Nagbibigay ang coremltools ng ct.utils.compare_models() para sa paghahambing ng mga prediction. Pinapayagang pagkakaiba para sa Float32 ay maximum na 1e-5.

Backward compatibility at suporta

Ang backward compatibility ng .mlmodel ay garantisado sa lahat ng kasalukuyang bersyon ng iOS at macOS.

Suporta sa iOS 18+ at macOS 15+

Simula iOS 18, hindi na sinusuportahan ng Core ML ang direktang pag-load ng .mlmodel.

Pagtatapos ng suporta

Ang buong suporta para sa .mlmodel ay inaasahang magtatapos sa iOS 20-21 (2026-2027).

Kailan pa relevant ang mlmodel

.mlmodel ay matatagpuan pa rin sa mga umiiral na proyekto at ilang senaryo.

Mga lumang proyekto

Mga proyektong sinimulan bago ang 2021 ay maaaring maglaman ng dose-dosenang .mlmodel models.

CI/CD pipelines na may coremltools

CI/CD pipelines na gumagamit ng coremltools 4.x ay nag-e-export sa .mlmodel bilang default.

Mga library at Pods

Mga library na inilathala bago ang 2021 ay maaaring maglaman ng .mlmodel models.

Mga karaniwang problema sa mlmodel

Ang pagtatrabaho sa deprecated .mlmodel ay may ilang karaniwang problema.

Babala ng Xcode tungkol sa deprecation

Kapag nagdagdag ng .mlmodel sa Xcode 13+ lumalabas ang babala: 'mlmodel' format is deprecated. Use 'mlpackage' instead.

Error na Model file is not valid

.mlmodel na ginawa gamit ang lumang coremltools ay maaaring hindi magbukas sa iOS 16+.

Mga problema sa custom layers

.mlmodel na naglalaman ng custom layers ay hindi direktang ma-convert.

Mga madalas itanong

Ano ang mlmodel?

mlmodel — deprecated binary file format para sa Core ML models.

Ano ang pagkakaiba ng mlmodel at mlpackage?

mlmodel — isang binary file. mlpackage — directory na may JSON metadata.

Paano magbukas ng .mlmodel file?

Sa pamamagitan ng Xcode, coremltools, o Netron.

Kailangan bang i-convert ang mlmodel sa mlpackage?

Inirerekomenda. Hindi available ang mga bagong Core ML feature para sa .mlmodel.

Sinusuportahan ba ang mlmodel sa iOS 18?

Sinusuportahan ng iOS 18+ ang .mlmodel lamang sa backward compatibility mode.

Buod

  • mlmodel — deprecated binary format (protobuf).
  • Tatlong seksyon: modelDescription, modelParameters, preprocessing.
  • .mlpackage — bagong format na may JSON metadata.
  • Conversion: Xcode o coremltools.
  • iOS 18+ sumusuporta sa .mlmodel lamang sa pamamagitan ng Xcode.
  • Mga problema: deprecation warning, protobuf errors, custom layers.
  • Inirerekomenda ng Apple ang migration sa .mlpackage.

Gagawa kami ng mobile application na turnkey

Gumagawa ang IT Sectr ng mga iOS at Android application para sa mga startup at negosyo mula noong 2017. Magpapayo kami sa iyo at magmumungkahi ng pinakamahusay na solusyon.

Pag-usapan ang proyekto

Basahin din