Can't pickle local object 'DataLoader.__init__.<locals>.<lambda>'

I also had this error in my mac with this transform:

self.train_transform = transforms.Compose([
                lambda x: Image.fromarray(x),
                transforms.RandomCrop(84, padding=8),
                transforms.ColorJitter(brightness=0.4, contrast=0.4, saturation=0.4),
                transforms.RandomHorizontalFlip(),
                lambda x: np.asarray(x),
                transforms.ToTensor(),
                self.normalize
            ])

I don’t understand why there is pickling going on…seems weird. But I will try to change the things above to non-lambdas. I will first try:

lambda x: Image.fromarray(x) ---> Image.fromarray

hopefully that works.


yes it did work for me.