机器学习PAI中能否给一个简单的例子?我看文档中没有说明怎么使用这些参数(machine_list ,machine rank,export CUDA_VISIBLE_DEVICES)
machine_list
参数是用于指定PAI任务在哪些机器上运行的,可以通过该参数来分配并行计算的资源。例如,可以将PAI任务分配到一个机器集群中,以便在所有主机上同时运行代码。可以指定IP地址、标准网口名称或云服务器的ID编号作为参数。举例来说,在PAI中指定--machine_list=192.168.0.100,192.168.0.101
表示将任务分配给两台IP地址为192.168.0.100和192.168.0.101的机器。
machine_rank
参数用于指定任务在节点中第几个运行,可以实现进程内的并行计算。例如,在PAI中使用--machine_rank=0
表示该任务在节点中排名第0位(即最先开始运行)。
export CUDA_VISIBLE_DEVICES
参数用于指定CUDA工具包可见的GPU设备编号。在PAI应用程序中,这个参数可用于让某些应用程序在训练过程中只使用特定的GPU设备。举例来说,在PAI中指定export CUDA_VISIBLE_DEVICES=0,2
表示在训练或优化算法中只使用GPU设备0和2。
多机的话比较推荐直接配置TF_CONFIG来起程序,比如
worker0:
TF_CONFIG='{"cluster":{"worker":["node_ip0:port0","node_ip1:port1"]},"task":{"type":"worker","index":0}}' bash train.sh
worker1: TF_CONFIG='{"cluster":{"worker":["node_ip0:port0","node_ip1:port1"]},"task":{"type":"worker","index":1}}' bash train.sh
如果要指定使用某个GPU,可以使用
worker0:
CUDA_VISIBLE_DEVICES=0 \ TF_CONFIG='{"cluster":{"worker":["node_ip0:port0","node_ip1:port1"]},"task":{"type":"worker","index":0}}'
bash train.sh
worker1: CUDA_VISIBLE_DEVICES=1 \ TF_CONFIG='{"cluster":{"worker":["node_ip0:port0","node_ip1:port1"]},"task":{"type":"worker","index":1}}'
bash train.sh 此回答整理自钉群“EPL用户交流群”
好的,我简单提供一个示例,你可以参考下
场景:训练集群由两个worker节点组成,每个节点有两个GPU设备(编号为0和1),脚本如下:
#!/bin/bash
# 设置machine_list参数
export machine_list="worker1_ip:port,worker2_ip:port"
# 设置machine_rank参数
export machine_rank=$((${PAI_TASK_INDEX} + 1))
# 设置CUDA_VISIBLE_DEVICES参数
export CUDA_VISIBLE_DEVICES=$((${machine_rank} % 2))
# 运行训练脚本
python train.py --batch_size 128 --epochs 10 --learning_rate 0.001 --model_name my_model
machine_list参数设置为"worker1_ip:port,worker2_ip:port",其中worker1_ip和worker2_ip分别表示两个worker节点的IP地址,port表示端口号。
machine_rank参数表示当前节点在分布式训练集群中的排名。
CUDA_VISIBLE_DEVICES参数指定了当前节点要使用的GPU设备的编号。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
人工智能平台 PAI(Platform for AI,原机器学习平台PAI)是面向开发者和企业的机器学习/深度学习工程平台,提供包含数据标注、模型构建、模型训练、模型部署、推理优化在内的AI开发全链路服务,内置140+种优化算法,具备丰富的行业场景插件,为用户提供低门槛、高性能的云原生AI工程化能力。