3

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?

jakes
  • 1,964
  • 3
  • 18
  • 50

0 Answers0