其中提到了
设置节点数:通过环境变量 PADDLE_NUM_TRAINERS
设置作业的节点数,此环境变量也会被设置在每个训练进程中。
但是其实代码中对应的是 PADDLE_TRAINERS_NUM
,比如下面这两个文件中都有。
https://github.com/PaddlePaddle/Paddle/blob/release/1.8/python/paddle/distributed/utils.py
https://github.com/PaddlePaddle/Paddle/blob/release/1.8/python/paddle/distributed/cloud_utils.py
类似的,文档中提到了
PADDLE_NUM_TRAINERS=<TRAINER_COUNT> python -m paddle.distributed.launch --gpus <NUM_GPUS_ON_HOSTS> <ENTRYPOINT_SCRIPT> --arg1 --arg2 ...
上面这句脚本,除了应该把 PADDLE_NUM_TRAINERS
替换成 PADDLE_TRAINERS_NUM
以外,还需要把这个 --gpus
替换成 --selected_gpus
。理由很简单,要执行的这个脚本里面
https://github.com/PaddlePaddle/Paddle/blob/release/1.8/python/paddle/distributed/launch.py
脚本的自带注解就是这么写的:
2. for single node training with [0,4) cards
python -m paddle.distributed.launch --selected_gpus="0,1,2,3" \
your_training_py (arg1 arg2 and all others)
3条答案
按热度按时间2lpgd9681#
感谢反馈,我们尽快确认一下
l7wslrjt2#
这篇 doc 有点问题,在导航栏里是已经下线了的,建议先看教程中分布式训练相关的内容
https://www.paddlepaddle.org.cn/tutorials/projectdetail/486783
p4rjhz4m3#
这篇文档里面没有代码样例,可参考价值远低于最上面我看到的那个文档。
https://www.paddlepaddle.org.cn/tutorials/projectdetail/486783
此外,这个文档中的末尾有两个链接,分别是
参数服务器训练(参数服务器架构的数据并行) https://aistudio.baidu.com/aistudio/projectdetail/454253
多机多卡训练(Collective架构的数据并行) https://aistudio.baidu.com/aistudio/projectdetail/454255
这两个链接点进去都显示下图的信息: