Know your dataset
Last updated
Last updated
There are two types of dataset objects, a regular and then an โจ โจ. A provides fast random access to the rows, and memory-mapping so that loading even large datasets only uses a relatively small amount of device memory. But for really, really big datasets that wonโt even fit on disk or in memory, an allows you to access and use the dataset without waiting for it to download completely!
This tutorial will show you how to load and access a and an .
When you load a dataset split, youโll get a object. You can do many things with a object, which is why itโs important to learn how to manipulate and interact with the data stored inside.
This tutorial uses the dataset, but feel free to load any dataset youโd like and follow along!
Copied
A contains columns of data, and each column can be a different type of data. The index, or axis label, is used to access examples from the dataset. For example, indexing by the row returns a dictionary of an example from the dataset:
Copied
Use the -
operator to start from the end of the dataset:
Copied
Indexing by the column name returns a list of all the values in the column:
Copied
You can combine row and column name indexing to return a specific value at a position:
Copied
But it is important to remember that indexing order matters, especially when working with large audio and image datasets. Indexing by the column name returns all the values in the column first, then loads the value at that position. For large datasets, it may be slower to index by the column name first.
Copied
Slicing returns a slice - or subset - of the dataset, which is useful for viewing several rows at once. To slice a dataset, use the :
operator to specify a range of positions.
Copied
Copied
Copied
Copied
Copied
An is loaded when you set the streaming
parameter to True
in :
You can also create an from an existing , but it is faster than streaming mode because the dataset is streamed from local files:
An progressively iterates over a dataset one example at a time, so you donโt have to wait for the whole dataset to download before you can use it. As you can imagine, this is quite useful for large datasets you want to use immediately!
However, this means an โs behavior is different from a regular . You donโt get random access to examples in an . Instead, you should iterate over its elements, for example, by calling next(iter())
or with a for
loop to return the next item from the :
You can return a subset of the dataset with a specific number of examples in it with :
But unlike , creates a new .
Interested in learning more about the differences between these two types of datasets? Learn more about them in the conceptual guide.
To get more hands-on with these datasets types, check out the guide to learn how to preprocess a or the guide to learn how to preprocess an .