delu.data.make_index_dataloader#

delu.data.make_index_dataloader(size, *args, **kwargs)[source]#

[DEPRECATED | Instead, use delu.data.IndexDataset and DataLoader] Make DataLoader over indices instead of data.

This is just a shortcut for torch.utils.data.DataLoader(delu.data.IndexDataset(...), ...).

Parameters:
Raises:

ValueError – for invalid inputs

Return type:

DataLoader

Examples

Usage for training:

train_loader = delu.data.make_index_dataloader(
    len(train_dataset), batch_size, shuffle=True
)
for epoch in range(n_epochs):
    for i_batch in train_loader:
        x_batch = X[i_batch]
        y_batch = Y[i_batch]
        ...

Other examples:

dataset_size = 10  # len(dataset)
for batch_idx in delu.data.make_index_dataloader(
    dataset_size, batch_size=3
):
    print(batch_idx)
tensor([0, 1, 2])
tensor([3, 4, 5])
tensor([6, 7, 8])
tensor([9])
dataset_size = 10  # len(dataset)
for batch_idx in delu.data.make_index_dataloader(
    dataset_size, 3, drop_last=True
):
    print(batch_idx)
tensor([0, 1, 2])
tensor([3, 4, 5])
tensor([6, 7, 8])