A tf.data.Options object can be, for instance, used to control which static
optimizations to apply to the input pipeline graph or whether to use
performance modeling to dynamically tune the parallelism of operations such as
tf.data.Dataset.map or tf.data.Dataset.interleave.
The options are set for the entire dataset and are carried over to datasets
created through tf.data transformations.
This option can be used to override the default policy for how to handle external state when serializing a dataset or checkpointing its iterator. There are three settings available - IGNORE: in which we completely ignore any state; WARN: We warn the user that some state might be thrown away; FAIL: We fail if any state is being captured.
Whether to introduce 'slack' in the last prefetch of the input pipeline, if it exists. This may reduce CPU contention with accelerator host-side activity at the start of a step. The slack frequency is determined by the number of devices attached to this input pipeline. If None, defaults to False.
If this object and the options to merge set an option differently, a
warning is generated and this object's value is updated with the options
object's value.
[null,null,["Last updated 2021-02-18 UTC."],[],[],null,["# tf.data.Options\n\n\u003cbr /\u003e\n\n|-------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------|\n| [TensorFlow 1 version](/versions/r1.15/api_docs/python/tf/data/Options) | [View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.4.0/tensorflow/python/data/ops/dataset_ops.py#L2935-L3097) |\n\nRepresents options for [`tf.data.Dataset`](../../tf/data/Dataset).\n\n#### View aliases\n\n\n**Compat aliases for migration**\n\nSee\n[Migration guide](https://www.tensorflow.org/guide/migrate) for\nmore details.\n\n[`tf.compat.v1.data.Options`](https://www.tensorflow.org/api_docs/python/tf/data/Options)\n\n\u003cbr /\u003e\n\n tf.data.Options()\n\nA [`tf.data.Options`](../../tf/data/Options) object can be, for instance, used to control which static\noptimizations to apply to the input pipeline graph or whether to use\nperformance modeling to dynamically tune the parallelism of operations such as\n[`tf.data.Dataset.map`](../../tf/data/Dataset#map) or [`tf.data.Dataset.interleave`](../../tf/data/Dataset#interleave).\n\nThe options are set for the entire dataset and are carried over to datasets\ncreated through tf.data transformations.\n\nThe options can be set either by mutating the object returned by\n[`tf.data.Dataset.options()`](../../tf/data/Dataset#options) or by constructing an `Options` object and using\nthe [`tf.data.Dataset.with_options(options)`](../../tf/data/Dataset#with_options) transformation, which returns a\ndataset with the options set. \n\n dataset = tf.data.Dataset.range(42)\n dataset.options().experimental_deterministic = False\n print(dataset.options().experimental_deterministic)\n False\n\n dataset = tf.data.Dataset.range(42)\n options = tf.data.Options()\n options.experimental_deterministic = False\n dataset = dataset.with_options(options)\n print(dataset.options().experimental_deterministic)\n False\n\n| **Note:** A known limitation of the [`tf.data.Options`](../../tf/data/Options) implementation is that the options are not preserved across tf.function boundaries. In particular, to set options for a dataset that is iterated within a tf.function, the options need to be set within the same tf.function.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Attributes ---------- ||\n|--------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `experimental_deterministic` | Whether the outputs need to be produced in deterministic order. If None, defaults to True. |\n| `experimental_distribute` | The distribution strategy options associated with the dataset. See [`tf.data.experimental.DistributeOptions`](../../tf/data/experimental/DistributeOptions) for more details. |\n| `experimental_external_state_policy` | This option can be used to override the default policy for how to handle external state when serializing a dataset or checkpointing its iterator. There are three settings available - IGNORE: in which we completely ignore any state; WARN: We warn the user that some state might be thrown away; FAIL: We fail if any state is being captured. |\n| `experimental_optimization` | The optimization options associated with the dataset. See [`tf.data.experimental.OptimizationOptions`](../../tf/data/experimental/OptimizationOptions) for more details. |\n| `experimental_slack` | Whether to introduce 'slack' in the last `prefetch` of the input pipeline, if it exists. This may reduce CPU contention with accelerator host-side activity at the start of a step. The slack frequency is determined by the number of devices attached to this input pipeline. If None, defaults to False. |\n| `experimental_stats` | The statistics options associated with the dataset. See [`tf.data.experimental.StatsOptions`](../../tf/data/experimental/StatsOptions) for more details. |\n| `experimental_threading` | The threading options associated with the dataset. See [`tf.data.experimental.ThreadingOptions`](../../tf/data/experimental/ThreadingOptions) for more details. |\n\n\u003cbr /\u003e\n\nMethods\n-------\n\n### `merge`\n\n[View source](https://github.com/tensorflow/tensorflow/blob/v2.4.0/tensorflow/python/data/ops/dataset_ops.py#L3083-L3097) \n\n merge(\n options\n )\n\nMerges itself with the given [`tf.data.Options`](../../tf/data/Options).\n\nIf this object and the `options` to merge set an option differently, a\nwarning is generated and this object's value is updated with the `options`\nobject's value.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Args ||\n|-----------|------------------------------------------------------------|\n| `options` | a [`tf.data.Options`](../../tf/data/Options) to merge with |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Returns ||\n|---|---|\n| New [`tf.data.Options`](../../tf/data/Options) object which is the result of merging self with the input [`tf.data.Options`](../../tf/data/Options). ||\n\n\u003cbr /\u003e\n\n### `__eq__`\n\n[View source](https://github.com/tensorflow/tensorflow/blob/v2.4.0/tensorflow/python/data/util/options.py#L41-L47) \n\n __eq__(\n other\n )\n\nReturn self==value.\n\n### `__ne__`\n\n[View source](https://github.com/tensorflow/tensorflow/blob/v2.4.0/tensorflow/python/data/util/options.py#L49-L53) \n\n __ne__(\n other\n )\n\nReturn self!=value."]]