TensorFlow 1 version View source on GitHub

Represents options for

Used in the notebooks

Used in the tutorials

An Options object can be, for instance, used to control which static optimizations to apply or whether to use performance modeling to dynamically tune the parallelism of operations such as or

After constructing an Options object, use dataset.with_options(options) to apply the options to a dataset.

dataset = 
options = 
# Set options here. 
dataset = dataset.with_options(options) 


  • experimental_deterministic: Whether the outputs need to be produced in deterministic order. If None, defaults to True.
  • experimental_distribute: The distribution strategy options associated with the dataset. See for more details.
  • experimental_external_state_policy: By default, will refuse to serialize a dataset or checkpoint its iterator if the dataset contains a stateful op as the serialization / checkpointing won't be able to capture its state. Users can -- at their own risk -- override this restriction by explicitly specifying that they are fine throwing away the state in these ops. There are three settings available - IGNORE: in which wecompletely ignore any state; WARN: We warn the user that some state might be thrown away; FAIL: We fail if any state is being captured.
  • experimental_optimization: The optimization options associated with the dataset. See for more details.
  • 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.
  • experimental_stats: The statistics options associated with the dataset. See for more details.
  • experimental_threading: The threading options associated with the dataset. See for more details.



View source


Return self==value.


View source


Return self!=value.


View source


Merges itself with the given

The given can be merged as long as there does not exist an attribute that is set to different values in self and options.




New object which is the result of merging self with the input