最近一直在复现vit、swin-T等transformer网络,源代码都是linux版的,而我们实验室目前的服务器装的都是windows版的,所以复现的时候基本都会出现下面两个问题
问题1:APEX装不上
报错:
原因:我这个环境缺的比较多,包括编译器都没有,所以用了下面的解决方法1简化安装
解决方法1:将apex的源代码下载下来,然后进该文件夹用本地安装的方式安装:
python setup.py install
解决方法2:完整安装参考https://blog.csdn.net/kuoyang/article/details/120974465
问题2:pytorch分布式训练出错
报错:Distributed package doesn’t have NCCL built inDistributed package doesn’t have NCCL built in
原因:这是因为window对分布式训练支持不够
解决方法:将torch.distributed.init_process_group(backend='nccl', init_method='env://', world_size=world_size, rank=rank)
改为
torch.distributed.init_process_group(backend='gloo', init_method='env://', world_size=world_size, rank=rank)