问题描述:

pytorch提供分布式训练的工具。硬件条件允许的情况下(多GPU甚至是多台服务器),可以使用分布式训练加快模型的训练。

分布式训练包括(1)单机多卡,(2)多机多卡。笔者属于第一种情形。

分布式代码的训练一般在命令行下启动,或者shell脚本启动,但是代码有bug时,调试极为不便,本文就如何在Pycharm下,对pytorch分布式代码进行调试,进行解决方法的记录。

 

方法:

1、分析

# pytorch分布式代码的启动命令如下
python -m torch.distributed.launch --nproc_per_node=4 tools/train.py --cfg xxx.yaml

表示调用torch.distributed.launch .py文件进行分布式训练;--nproc_per_node=4 说明本机可以使用的GPU数量(我是单机多卡)

2、建立软链接

在工程目录下,建立pytorch的distributed包的软链接

ln -s /yourpython/lib/python3.6/site-packages/torch/distributed/ /yourprogram/

3、设置pycharm运行参数

Parameters参数的详细设置如下图。

注意:这个时候的训练文件就需要使用绝对路径,不然会报错,找不到文件

 

参考:

参考链接

 

Logo

鸿蒙生态一站式服务平台。

更多推荐