def __rotate(img):probability = random.random()if (probability < 0.5):angles = [90, 180, 270]angle = random.choice(angles)return TF.rotate(img, angle)else:return imgtrain_tf = transforms.Compose([transforms.Resize(256),transforms.Lambda(lambda img: __rotate(img)),transforms.CenterCrop(224),transforms.ToTensor(),transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])])train_dataloader = DataLoader(train_set, opt.batch_size, sampler=sampler, num_workers=4)
如上代码在windows环境下报如题的错误,linux下没有问题,查询文档得知是多线程相关在windows不支持,初始化参数改为num_workers=0就不会报错了,但是加载数据速度会变慢
