训练SiamBAN报错问题

我是用windows平台来训练siamBAN,在商汤科技的开源项目pysot上使用python3.7来进行,pysot代码地址
https://github.com/STVIR/pysot
第一个问题
KeyError:‘RANK’
定位到错误语句
训练SiamBAN报错问题_第1张图片
使用os.environ.keys() 命令查看主目录下所有的 key,经过排查,是因为os.environ当中没有RANK这个key。
解决方法

  os.environ['RANK']='0'

这块代码是用来设置GPU单卡/多卡训练的。
问题二
pytorch分布式训练报错:AttributeError: module ‘torch.distributed‘ has no attribute ‘init_process_group‘ 解决方法
torch1.7 以下版本在Windows下进行分布式训练会报错:
`AttributeError: module ‘torch.distributed’ has no attribute ‘init_process_group’
解决方法
一 用inux系统给来运行
二将Windows下的 torch 换成 1.7.0及以上的版本。(1.5~1.8 版本的 torch 代码基本都兼容),建议离线下载 torch1.7.1 版本,torchvision0.8.2 版本
下载链接

https://download.pytorch.org/whl/

2 更换torch版本之后,在Windows下运行之前,将 init_process_group 函数的参数更改为以下内容:

torch.distributed.init_process_group(	backend="gloo", 
										init_method=r"file:///{your model path}", 
										world_size=args.world_size,   # 本机gpu的数目 
										rank=args.rank	)   # rank是本机gpu的编号列表,如2个gpu即为 [0,1]

OSError: [WinError 126] 找不到指定的模块。 Error loading “D:\anacoda\lib\site-packages\torch\lib\torch_python
解决放法
第一种方法,缺少C++运行库,需要下载Visual Studio C++,输入https://aka.ms/vs/16/release/vc_redist.x64.exe,进行下载。
第二种方法,升级numpy库。
第三种方法,降低torch库版本,之前版本是1.10.0,然后降到1.7.1,试了一下,没有再出现上述的问题。
第三个问题
OSError: [WinError 1455] 页面文件太小,无法完成操作。 Error loading “D:\Anaco
在enperiiments文件下的config.yaml中修改训练的bath_siz=0

在这里插入图片描述
我用1.7.1的时候报torch的分布式错误No rendezvous handler for env。很麻烦,好像是因为1.7.1对应的cuda10.1是不能在windows跑的,得去linux的ubuntu,要在window跑是需要1.7.1以上的版本。

你可能感兴趣的:(pytorch,python,人工智能)