1. def __rotate(img):
    2. probability = random.random()
    3. if (probability < 0.5):
    4. angles = [90, 180, 270]
    5. angle = random.choice(angles)
    6. return TF.rotate(img, angle)
    7. else:
    8. return img
    9. train_tf = transforms.Compose([
    10. transforms.Resize(256),
    11. transforms.Lambda(lambda img: __rotate(img)),
    12. transforms.CenterCrop(224),
    13. transforms.ToTensor(),
    14. transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
    15. ])
    16. train_dataloader = DataLoader(train_set, opt.batch_size, sampler=sampler, num_workers=4)

    如上代码在windows环境下报如题的错误,linux下没有问题,查询文档得知是多线程相关在windows不支持,初始化参数改为num_workers=0就不会报错了,但是加载数据速度会变慢