A multidimensional array used as a feature input or feature output for a model.


class MLMultiArray : NSObject


Multidimensional arrays are commonly used to represent input and output data. Often, each dimension of a multidimensional array has an associated label or meaning. For example, Core ML neural network models use a C x H x W layout for images, where C is the number of channels, H is the height of the image, and W is the width.

When an MLMultiArray instance of a specific shape and data type is expected as input for a Core ML model, the specifications are defined in an MLMultiArrayConstraint instance associated with the feature's MLFeatureDescription.

All features with type MLFeatureType.multiArray must be provided as an MLMultiArray instance.


Creating a Multidimensional Array

init(shape: [NSNumber], dataType: MLMultiArrayDataType)

Creates a multidimensional array of the given dimensions.

enum MLMultiArrayDataType

The different types the array can hold.

Accessing Values

subscript([NSNumber]) -> NSNumber

Subscript access, with an array of indexes, for the multidimensional array.

subscript(Int) -> NSNumber

Single, linear subscript access for the multidimensional array.

Inspecting the Multidimensional Array

var count: Int

The total number of elements in the multidimensional array.

var dataType: MLMultiArrayDataType

The type of value held in the array.

var shape: [NSNumber]

The array containing the sizes of each dimension of the multidimensional array.

var strides: [NSNumber]

An array containing the number of data elements to step in each dimension, when traversing the array.

var dataPointer: UnsafeMutableRawPointer

Pointer to the underlying buffer holding the elements of the array.


Inherits From

Conforms To

See Also

Accessing the Value

var isUndefined: Bool

A Boolean value indicating whether the feature value is undefined.

var int64Value: Int64

The integer wrapped in this feature value.

var doubleValue: Double

The double wrapped in this feature value.

var stringValue: String

The string wrapped in this feature value.

var dictionaryValue: [AnyHashable : NSNumber]

The dictionary wrapped in this feature value.

var imageBufferValue: CVPixelBuffer?

The image, or pixelBuffer, wrapped in this feature value.

var multiArrayValue: MLMultiArray?

The multidimensional array wrapped in this feature value.

var sequenceValue: MLSequence?

The sequence wrapped in this feature value.

class MLSequence

A sequence of data used as a feature input or feature output for a model.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software