# tinker_cookbook.supervised.SupervisedDataset ## *class* [**tinker_cookbook.supervised.SupervisedDataset**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/supervised/types.py#L16)() Abstract base for datasets used in supervised learning. Subclasses must implement `get_batch` and `__len__`. `set_epoch` may be overridden to shuffle data between epochs. ### [**get_batch**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/supervised/types.py#L23)(*index*) Return a batch of training Datum objects at the given index. **Parameters:** - [**index**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/supervised/types.py#L23) (*int*) – The batch index. **Returns:** *list\[tinker.[Datum](https://tinker-docs.thinkingmachines.ai/tinker/api-reference/types/datum/index.md)\]* – The training datums for this batch. ### [**set_epoch**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/supervised/types.py#L38)(*seed*) Notify the dataset that a new epoch is starting. Implementations may use this to reshuffle data. The default emits a warning that shuffling is not implemented. **Parameters:** - [**seed**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/supervised/types.py#L38) (*int*) – Epoch seed that can be used for deterministic shuffling. Default `0`. ## Referenced by - [tinker_cookbook.supervised.ChatDatasetBuilder.__call__](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/supervised/chatdatasetbuilder/#chatdatasetbuilder-call) - [tinker_cookbook.supervised.FromConversationFileBuilder.__call__](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/supervised/fromconversationfilebuilder/#fromconversationfilebuilder-call) - [tinker_cookbook.supervised.StreamingSupervisedDatasetFromHFDataset](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/supervised/streamingsuperviseddatasetfromhfdataset/index.md) - [tinker_cookbook.supervised.SupervisedDatasetBuilder.__call__](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/supervised/superviseddatasetbuilder/#superviseddatasetbuilder-call) - [tinker_cookbook.supervised.SupervisedDatasetFromHFDataset](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/supervised/superviseddatasetfromhfdataset/index.md)