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.
learn = synth_learner(cbs=CudaCallback)
learn.model
learn.fit(1)
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
)
n = 160
dls = dsets.weighted_dataloaders(wgts=range(n), bs=16)
learn = synth_learner(data=dls, cbs=CollectDataCallback)
[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
assert len(dls[0])==2
for batch in dls[0]: