<!--
{
  "documentType" : "article",
  "framework" : "CoreML",
  "identifier" : "/documentation/CoreML/model-customization",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Model Customization"
}
-->

# Model Customization

Expand and modify your model with new layers.

## Discussion

Customize your Core ML model to make it work better for your specific app. For instance, create one or more custom layers to improve accuracy by increasing the model’s capacity to capture information. You can also reduce the model’s size to optimize the contents of your app bundle.

## Topics

### Model file size

[Reducing the Size of Your Core ML App](/documentation/CoreML/reducing-the-size-of-your-core-ml-app)

Reduce the storage used by the Core ML model inside your app bundle.

### Custom model layers

[Creating and Integrating a Model with Custom Layers](/documentation/CoreML/creating-and-integrating-a-model-with-custom-layers)

Add models with custom neural-network layers to your app.

[`MLCustomLayer`](/documentation/CoreML/MLCustomLayer)

An interface that defines the behavior of a custom layer in your neural network model.

### Custom models

[`MLCustomModel`](/documentation/CoreML/MLCustomModel)

An interface that defines the behavior of a custom model.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)