ParallelEnv

    注解

    不推荐使用这个API,如果需要获取rank和world_size,建议使用 paddle.distributed.get_rank()paddle.distributed.get_world_size()

    这个类用于获取动态图模型并行执行所需的环境变量值。

    动态图并行模式现在需要使用 paddle.distributed.launch 模块或者 paddle.distributed.spawn 方法启动。

    属性

    rank

    此属性的值等于环境变量 PADDLE_TRAINER_ID 的值。默认值是0。

    1. import paddle.distributed as dist
    2. print("The rank is %d" % env.rank)
    3. # The rank is 0

    world_size

    参与训练进程的数量,一般也是训练所使用GPU卡的数量。

    此属性的值等于环境变量 PADDLE_TRAINERS_NUM 的值。默认值为1。

    代码示例

    device_id

    此属性的值等于环境变量 FLAGS_selected_gpus 的值。默认值是0。

    1. # execute this command in terminal: export FLAGS_selected_gpus=1
    2. import paddle.distributed as dist
    3. env = dist.ParallelEnv()
    4. # The device id are 1

    current_endpoint

    当前训练进程的终端节点IP与相应端口,形式为(机器节点IP:端口号)。例如:127.0.0.1:6170。

    此属性的值等于环境变量 PADDLE_CURRENT_ENDPOINT 的值。默认值为空字符串””。

    代码示例

    trainer_endpoints

    此属性的值等于环境变量 PADDLE_TRAINER_ENDPOINTS 的值。默认值为空字符串””。

    1. # execute this command in terminal: export PADDLE_TRAINER_ENDPOINTS=127.0.0.1:6170,127.0.0.1:6171
    2. import paddle.distributed as dist
    3. env = dist.ParallelEnv()