delu.data.make_index_dataloader#

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

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

torch.utils.data.dataloader.DataLoader

Examples

Usage for training:

train_loader = make_index_dataloader(len(train_dataset), batch_size, shuffle=True)
for epoch in 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 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 make_index_dataloader(dataset_size, 3, drop_last=True):
    print(batch_idx)
tensor([0, 1, 2])
tensor([3, 4, 5])
tensor([6, 7, 8])