If True, selection stops if it encounters an empty
dataset. If False, it skips empty datasets. It is recommended to set it
to True. Otherwise, the selected elements start off as the user intends,
but may change as input datasets become empty. This can be difficult to
detect since the dataset starts off looking correct. Default to False
for backward compatibility.
Returns
A dataset that interleaves elements from datasets according to the values
of choice_dataset.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-04-26 UTC."],[],[],null,["# tf.data.experimental.choose_from_datasets\n\n\u003cbr /\u003e\n\n|----------------------------------------------------------------------------------------------------------------------------------------------------|\n| [View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.16.1/tensorflow/python/data/experimental/ops/interleave_ops.py#L170-L224) |\n\nCreates a dataset that deterministically chooses elements from `datasets`. (deprecated) \n\n tf.data.experimental.choose_from_datasets(\n datasets, choice_dataset, stop_on_empty_dataset=False\n )\n\n| **Deprecated:** THIS FUNCTION IS DEPRECATED. It will be removed in a future version. Instructions for updating: Use [`tf.data.Dataset.choose_from_datasets(...)`](../../../tf/data/Dataset#choose_from_datasets) instead. Note that, unlike the experimental endpoint, the non-experimental endpoint sets `stop_on_empty_dataset=True` by default. You should set this argument explicitly in case you would like to match the behavior of the experimental endpoint.\n\nFor example, given the following datasets: \n\n datasets = [tf.data.Dataset.from_tensors(\"foo\").repeat(),\n tf.data.Dataset.from_tensors(\"bar\").repeat(),\n tf.data.Dataset.from_tensors(\"baz\").repeat()]\n\n # Define a dataset containing `[0, 1, 2, 0, 1, 2, 0, 1, 2]`.\n choice_dataset = tf.data.Dataset.range(3).repeat(3)\n\n result = tf.data.experimental.choose_from_datasets(datasets, choice_dataset)\n\nThe elements of `result` will be: \n\n \"foo\", \"bar\", \"baz\", \"foo\", \"bar\", \"baz\", \"foo\", \"bar\", \"baz\"\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Args ---- ||\n|-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `datasets` | A non-empty list of [`tf.data.Dataset`](../../../tf/data/Dataset) objects with compatible structure. |\n| `choice_dataset` | A [`tf.data.Dataset`](../../../tf/data/Dataset) of scalar [`tf.int64`](../../../tf#int64) tensors between `0` and `len(datasets) - 1`. |\n| `stop_on_empty_dataset` | If `True`, selection stops if it encounters an empty dataset. If `False`, it skips empty datasets. It is recommended to set it to `True`. Otherwise, the selected elements start off as the user intends, but may change as input datasets become empty. This can be difficult to detect since the dataset starts off looking correct. Default to `False` for backward compatibility. |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Returns ------- ||\n|---|---|\n| A dataset that interleaves elements from `datasets` according to the values of `choice_dataset`. ||\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Raises ------ ||\n|--------------|-------------------------------------------------------|\n| `TypeError` | If `datasets` or `choice_dataset` has the wrong type. |\n| `ValueError` | If `datasets` is empty. |\n\n\u003cbr /\u003e"]]