public static class **InterpreterApi.Options**

|---|---|---|
| Known Direct Subclasses [Interpreter.Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/Interpreter.Options) |---|---| | [Interpreter.Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/Interpreter.Options) | An options class for controlling runtime interpreter behavior. | |||

An options class for controlling runtime interpreter behavior.

### Nested Classes

|---|---|---|---|
| enum | [InterpreterApi.Options.TfLiteRuntime](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options.TfLiteRuntime) || Enum to represent where to get the TensorFlow Lite runtime implementation from. |

### Public Constructors

|---|---|
|   | [Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options#Options())() |
|   | [Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options#Options(org.tensorflow.lite.InterpreterApi.Options))([InterpreterApi.Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options) other) |

### Public Methods

|---|---|
| [InterpreterApi.Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options) | [addDelegate](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options#addDelegate(org.tensorflow.lite.Delegate))([Delegate](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/Delegate) delegate) Adds a `https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/Delegate` to be applied during interpreter creation. |
| [InterpreterApi.Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options) | [addDelegateFactory](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options#addDelegateFactory(org.tensorflow.lite.DelegateFactory))([DelegateFactory](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/DelegateFactory) delegateFactory) Adds a `https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/DelegateFactory` which will be invoked to apply its created `https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/Delegate` during interpreter creation. |
| [ValidatedAccelerationConfig](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/acceleration/ValidatedAccelerationConfig) | [getAccelerationConfig](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options#getAccelerationConfig())() Return the acceleration configuration. |
| [List](https://developer.android.com/reference/java/util/List.html)\<[DelegateFactory](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/DelegateFactory)\> | [getDelegateFactories](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options#getDelegateFactories())() Returns the list of delegate factories that have been registered via `addDelegateFactory`). |
| [List](https://developer.android.com/reference/java/util/List.html)\<[Delegate](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/Delegate)\> | [getDelegates](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options#getDelegates())() Returns the list of delegates intended to be applied during interpreter creation that have been registered via `addDelegate`. |
| int | [getNumThreads](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options#getNumThreads())() Returns the number of threads to be used for ops that support multi-threading. |
| [InterpreterApi.Options.TfLiteRuntime](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options.TfLiteRuntime) | [getRuntime](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options#getRuntime())() Return where to get the TF Lite runtime implementation from. |
| boolean | [getUseNNAPI](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options#getUseNNAPI())() Returns whether to use NN API (if available) for op execution. |
| boolean | [getUseXNNPACK](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options#getUseXNNPACK())() |
| boolean | [isCancellable](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options#isCancellable())() Advanced: Returns whether the interpreter is able to be cancelled. |
| [InterpreterApi.Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options) | [setAccelerationConfig](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options#setAccelerationConfig(org.tensorflow.lite.acceleration.ValidatedAccelerationConfig))([ValidatedAccelerationConfig](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/acceleration/ValidatedAccelerationConfig) config) Specify the acceleration configuration. |
| [InterpreterApi.Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options) | [setCancellable](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options#setCancellable(boolean))(boolean allow) Advanced: Set if the interpreter is able to be cancelled. |
| [InterpreterApi.Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options) | [setNumThreads](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options#setNumThreads(int))(int numThreads) Sets the number of threads to be used for ops that support multi-threading. |
| [InterpreterApi.Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options) | [setRuntime](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options#setRuntime(org.tensorflow.lite.InterpreterApi.Options.TfLiteRuntime))([InterpreterApi.Options.TfLiteRuntime](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options.TfLiteRuntime) runtime) Specify where to get the TF Lite runtime implementation from. |
| [InterpreterApi.Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options) | [setUseNNAPI](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options#setUseNNAPI(boolean))(boolean useNNAPI) Sets whether to use NN API (if available) for op execution. |
| [InterpreterApi.Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options) | [setUseXNNPACK](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options#setUseXNNPACK(boolean))(boolean useXNNPACK) Enable or disable an optimized set of CPU kernels (provided by XNNPACK). |

### Inherited Methods

From class java.lang.Object

|---|---|
| boolean | equals([Object](https://developer.android.com/reference/java/lang/Object.html) arg0) |
| final [Class](https://developer.android.com/reference/java/lang/Class.html)\<?\> | getClass() |
| int | hashCode() |
| final void | notify() |
| final void | notifyAll() |
| [String](https://developer.android.com/reference/java/lang/String.html) | toString() |
| final void | wait(long arg0, int arg1) |
| final void | wait(long arg0) |
| final void | wait() |

## Public Constructors

#### public
**Options**
()

<br />

#### public
**Options**
([InterpreterApi.Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options) other)

<br />

##### Parameters

| other |   |
|---|---|

## Public Methods

#### public [InterpreterApi.Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options)
**addDelegate**
([Delegate](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/Delegate) delegate)

Adds a `https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/Delegate` to be applied during interpreter creation.

Delegates added here are applied before any delegates created from a `https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/DelegateFactory` that was added with `https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options#addDelegateFactory(org.tensorflow.lite.DelegateFactory)`.

Note that TF Lite in Google Play Services (see `https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options#setRuntime(org.tensorflow.lite.InterpreterApi.Options.TfLiteRuntime)`) does not support
external (developer-provided) delegates, and adding a `https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/Delegate` other than here is not allowed when using TF Lite in Google Play Services.

<br />

<br />

##### Parameters

| delegate |   |
|---|---|

#### public [InterpreterApi.Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options)
**addDelegateFactory**
([DelegateFactory](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/DelegateFactory) delegateFactory)

Adds a `https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/DelegateFactory` which will be invoked to apply its created `https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/Delegate`
during interpreter creation.

Delegates from a delegated factory that was added here are applied after any delegates
added with `https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options#addDelegate(org.tensorflow.lite.Delegate)`.

<br />

##### Parameters

| delegateFactory |   |
|---|---|

#### public [ValidatedAccelerationConfig](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/acceleration/ValidatedAccelerationConfig)
**getAccelerationConfig**
()

Return the acceleration configuration.

#### public [List](https://developer.android.com/reference/java/util/List.html)\<[DelegateFactory](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/DelegateFactory)\>
**getDelegateFactories**
()

Returns the list of delegate factories that have been registered via `addDelegateFactory`).

#### public [List](https://developer.android.com/reference/java/util/List.html)\<[Delegate](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/Delegate)\>
**getDelegates**
()

Returns the list of delegates intended to be applied during interpreter creation that have
been registered via `addDelegate`.

#### public int
**getNumThreads**
()

Returns the number of threads to be used for ops that support multi-threading.

`numThreads` should be `&gt;= -1`. Values of 0 (or 1) disable multithreading.
Default value is -1: the number of threads used will be implementation-defined and
platform-dependent.

<br />

#### public [InterpreterApi.Options.TfLiteRuntime](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options.TfLiteRuntime)
**getRuntime**
()

Return where to get the TF Lite runtime implementation from.

#### public boolean
**getUseNNAPI**
()

Returns whether to use NN API (if available) for op execution. Default value is false
(disabled).

#### public boolean
**getUseXNNPACK**
()

<br />

#### public boolean
**isCancellable**
()

Advanced: Returns whether the interpreter is able to be cancelled.

Interpreters may have an experimental API [setCancelled(boolean)](https://www.tensorflow.org/lite/api_docs/java/org/tensorflow/lite/Interpreter#setCancelled(boolean)).
If this interpreter is cancellable and such a method is invoked, a cancellation flag will be
set to true. The interpreter will check the flag between Op invocations, and if it's `true`, the interpreter will stop execution. The interpreter will remain a cancelled state
until explicitly "uncancelled" by `setCancelled(false)`.

<br />

#### public [InterpreterApi.Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options)
**setAccelerationConfig**
([ValidatedAccelerationConfig](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/acceleration/ValidatedAccelerationConfig) config)

Specify the acceleration configuration.

##### Parameters

| config |   |
|---|---|

#### public [InterpreterApi.Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options)
**setCancellable**
(boolean allow)

Advanced: Set if the interpreter is able to be cancelled.

Interpreters may have an experimental API [setCancelled(boolean)](https://www.tensorflow.org/lite/api_docs/java/org/tensorflow/lite/Interpreter#setCancelled(boolean)).
If this interpreter is cancellable and such a method is invoked, a cancellation flag will be
set to true. The interpreter will check the flag between Op invocations, and if it's `true`, the interpreter will stop execution. The interpreter will remain a cancelled state
until explicitly "uncancelled" by `setCancelled(false)`.

<br />

##### Parameters

| allow |   |
|---|---|

#### public [InterpreterApi.Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options)
**setNumThreads**
(int numThreads)

Sets the number of threads to be used for ops that support multi-threading.

`numThreads` should be `&gt;= -1`. Setting `numThreads` to 0 has the effect
of disabling multithreading, which is equivalent to setting `numThreads` to 1. If
unspecified, or set to the value -1, the number of threads used will be
implementation-defined and platform-dependent.

<br />

##### Parameters

| numThreads |   |
|---|---|

#### public [InterpreterApi.Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options)
**setRuntime**
([InterpreterApi.Options.TfLiteRuntime](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options.TfLiteRuntime) runtime)

Specify where to get the TF Lite runtime implementation from.

##### Parameters

| runtime |   |
|---|---|

#### public [InterpreterApi.Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options)
**setUseNNAPI**
(boolean useNNAPI)

Sets whether to use NN API (if available) for op execution. Defaults to false (disabled).

##### Parameters

| useNNAPI |   |
|---|---|

#### public [InterpreterApi.Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options)
**setUseXNNPACK**
(boolean useXNNPACK)

Enable or disable an optimized set of CPU kernels (provided by XNNPACK). Enabled by default.

##### Parameters

| useXNNPACK |   |
|---|---|