Data Callbacks

    Callbacks which work with a learner’s data

    Collect all batches, along with pred and loss, into self.data. Mainly for testing

    CudaCallback(device=None) ::

    You don’t normally need to use this Callback, because fastai’s DataLoader will handle passing data to a device for you. However, if you already have a plain PyTorch DataLoader and can’t change it for some reason, you can use this transform.

    1. learn = synth_learner(cbs=CudaCallback)
    2. learn.model
    3. learn.fit(1)
    4. test_eq(next(learn.model.parameters()).device.type, 'cuda')

    Transformed

    Datasets.weighted_dataloaders

    Datasets.weighted_dataloaders(wgts, bs=64, shuffle_train=None, shuffle=True, val_shuffle=False, n=None, path='.', dl_type=None, dl_kwargs=None, device=None, drop_last=None, val_bs=None)

    1. n = 160
    2. dls = dsets.weighted_dataloaders(wgts=range(n), bs=16)
    3. learn = synth_learner(data=dls, cbs=CollectDataCallback)
    1. [0, nan, None, '00:01']

    Select randomly partial quantity of data at each epoch

    FilteredBase.partial_dataloaders

    FilteredBase.partial_dataloaders(partial_n, bs=64, shuffle_train=None, shuffle=True, val_shuffle=False, n=None, path='.', dl_type=None, dl_kwargs=None, device=None, drop_last=None, val_bs=None)

    Create a partial dataloader PartialDL for the training set

    1. assert len(dls[0])==2
    2. for batch in dls[0]: