我创建了一个自定义火炬数据集并指定了 2 个必需的方法:__getitem__
和 __len__
。然后我创建了两个火炬数据加载器:
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)
我想将它们与 fastai
一起使用,所以我尝试运行:
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)
但是,这给了我一个错误:
<块引用>AttributeError: 'DataLoader' 对象没有属性 'after_batch'
我的设置有什么问题?火炬数据集是否应该有另一个属性以使其与 fastai DataLoaders 兼容?