I created a custom torch dataset and specified 2 required methods: __getitem__
and __len__
. Then I created two torch data loaders:
train_loader = torch.utils.data.DataLoader(train_dataset, batch_size=32, shuffle=True, num_workers=2)
val_loader = torch.utils.data.DataLoader(val_dataset, batch_size=32, shuffle=True, num_workers=2)
and I wanted to use them with fastai
, so I tried to run:
from fastai.vision.data import DataLoaders
dls = vision.data.DataLoaders(train_loader, valid_loader)
from fastai.vision.learner import cnn_learner, error_rate
learner_original = cnn_learner(dls, models.resnet34, metrics=error_rate, pretrained=True)
However, this gives me an error:
AttributeError: 'DataLoader' object has no attribute 'after_batch'
What's wrong with my setup? Should torch dataset have another attribute to make it compatible with fastai DataLoaders?