<!--
{
  "availability" : [
    "iOS: 14.0.0 - 17.4.0",
    "iPadOS: 14.0.0 - 17.4.0",
    "macCatalyst: 14.0.0 - 17.4.0",
    "macOS: 11.0.0 - 14.3.0",
    "tvOS: 14.0.0 - 17.4.0"
  ],
  "documentType" : "symbol",
  "framework" : "MLCompute",
  "identifier" : "/documentation/MLCompute/MLCLayer",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "ML Compute"
    ],
    "preciseIdentifier" : "c:objc(cs)MLCLayer"
  },
  "title" : "MLCLayer"
}
-->

# MLCLayer

The base class for all framework layers.

```
class MLCLayer
```

## Overview

This class defines a polymorphic interface for `MLCLayer` subclasses. There are subclasses for each supported neural network layer type. Use the appropriate subclass initializer to create a layer object.

## Topics

### Inspecting a Layer

[`layerID`](/documentation/MLCompute/MLCLayer/layerID)

A unique number that identifies each layer.

[`label`](/documentation/MLCompute/MLCLayer/label)

A string that helps identify this layer.

[`isDebuggingEnabled`](/documentation/MLCompute/MLCLayer/isDebuggingEnabled)

A Boolean that indicates whether you choose to debug the layer when executing a graph that includes it.

[`deviceType`](/documentation/MLCompute/MLCLayer/deviceType)

A device type that indicates where the system executes the layer.

[`supportsDataType(_:on:)`](/documentation/MLCompute/MLCLayer/supportsDataType(_:on:))

Returns a Boolean that indicates whether instances of this layer accept source tensors for the data type and device that you specify.



---

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)