public static class **Interpreter.Options** An options class for controlling runtime interpreter behavior.

### Public Constructors

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

### Public Methods

|---|---|
| [Interpreter.Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/Interpreter.Options) | [addDelegate](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/Interpreter.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. |
| [Interpreter.Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/Interpreter.Options) | [addDelegateFactory](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/Interpreter.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. |
| [Interpreter.Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/Interpreter.Options) | [setAllowBufferHandleOutput](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/Interpreter.Options#setAllowBufferHandleOutput(boolean))(boolean allow) Advanced: Set if buffer handle output is allowed. |
| [Interpreter.Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/Interpreter.Options) | [setAllowFp16PrecisionForFp32](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/Interpreter.Options#setAllowFp16PrecisionForFp32(boolean))(boolean allow) *This method is deprecated. Prefer using [NnApiDelegate.Options#setAllowFp16(boolean enable)](https://github.com/tensorflow/tensorflow/blob/5dc7f6981fdaf74c8c5be41f393df705841fb7c5/tensorflow/lite/delegates/nnapi/java/src/main/java/org/tensorflow/lite/nnapi/NnApiDelegate.java#L127).* |
| [Interpreter.Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/Interpreter.Options) | [setCancellable](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/Interpreter.Options#setCancellable(boolean))(boolean allow) Advanced: Set if the interpreter is able to be cancelled. |
| [Interpreter.Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/Interpreter.Options) | [setNumThreads](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/Interpreter.Options#setNumThreads(int))(int numThreads) Sets the number of threads to be used for ops that support multi-threading. |
| [Interpreter.Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/Interpreter.Options) | [setRuntime](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/Interpreter.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. |
| [Interpreter.Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/Interpreter.Options) | [setUseNNAPI](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/Interpreter.Options#setUseNNAPI(boolean))(boolean useNNAPI) Sets whether to use NN API (if available) for op execution. |
| [Interpreter.Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/Interpreter.Options) | [setUseXNNPACK](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/Interpreter.Options#setUseXNNPACK(boolean))(boolean useXNNPACK) Enable or disable an optimized set of CPU kernels (provided by XNNPACK). |

### Inherited Methods

From class [org.tensorflow.lite.InterpreterApi.Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/InterpreterApi.Options)

|---|---|
| [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). |

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) options)

<br />

##### Parameters

| options |   |
|---|---|

## Public Methods

#### public [Interpreter.Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/Interpreter.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 [Interpreter.Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/Interpreter.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 [Interpreter.Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/Interpreter.Options)
**setAllowBufferHandleOutput**
(boolean allow)

Advanced: Set if buffer handle output is allowed.

When a `https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/Delegate` supports hardware acceleration, the interpreter will make the data
of output tensors available in the CPU-allocated tensor buffers by default. If the client can
consume the buffer handle directly (e.g. reading output from OpenGL texture), it can set this
flag to false, avoiding the copy of data to the CPU buffer. The delegate documentation should
indicate whether this is supported and how it can be used.

WARNING: This is an experimental interface that is subject to change.

<br />

<br />

##### Parameters

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

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


**This method is deprecated** .  
Prefer using [NnApiDelegate.Options#setAllowFp16(boolean
enable)](https://github.com/tensorflow/tensorflow/blob/5dc7f6981fdaf74c8c5be41f393df705841fb7c5/tensorflow/lite/delegates/nnapi/java/src/main/java/org/tensorflow/lite/nnapi/NnApiDelegate.java#L127).

Sets whether to allow float16 precision for FP32 calculation when possible. Defaults to false
(disallow).

##### Parameters

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

<br />

#### public [Interpreter.Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/Interpreter.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 [Interpreter.Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/Interpreter.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 [Interpreter.Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/Interpreter.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 [Interpreter.Options](https://developers.google.com/edge/api/tflite/java/org/tensorflow/lite/Interpreter.Options)
**setUseNNAPI**
(boolean useNNAPI)

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

##### Parameters

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

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

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

##### Parameters

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