---
title: InferenceFunctionDescriptor
framework: coreai
role: symbol
role_heading: Structure
path: coreai/inferencefunctiondescriptor
---

# InferenceFunctionDescriptor

A description of an inference function’s signature.

## Declaration

```swift
struct InferenceFunctionDescriptor
```

## Mentioned in

Integrating on-device AI models in your app with Core AI

## Overview

Overview Use a descriptor to inspect the names and types of a function’s inputs, outputs, and states before running inference. You obtain a descriptor from functionDescriptor(for:) or from the descriptor property.

## Topics

### Identifying the function

- [name](coreai/inferencefunctiondescriptor/name.md)

### Describing inputs

- [inputCount](coreai/inferencefunctiondescriptor/inputcount.md)
- [inputNames](coreai/inferencefunctiondescriptor/inputnames.md)
- [inputDescriptor(of:)](coreai/inferencefunctiondescriptor/inputdescriptor(of:).md)

### Describing outputs

- [outputCount](coreai/inferencefunctiondescriptor/outputcount.md)
- [outputNames](coreai/inferencefunctiondescriptor/outputnames.md)
- [outputDescriptor(of:)](coreai/inferencefunctiondescriptor/outputdescriptor(of:).md)

### Describing state

- [stateNames](coreai/inferencefunctiondescriptor/statenames.md)
- [stateDescriptor(of:)](coreai/inferencefunctiondescriptor/statedescriptor(of:).md)

## Relationships

### Conforms To

- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Inference

- [InferenceFunction](coreai/inferencefunction.md)
- [InferenceValue](coreai/inferencevalue.md)
- [ImageDescriptor](coreai/imagedescriptor.md)
- [ComputeStream](coreai/computestream.md)
