开发者社区 > 大数据与机器学习 > 人工智能平台PAI > 正文

机器学习PAI中怎么使用这些参数?

机器学习PAI中能否给一个简单的例子?我看文档中没有说明怎么使用这些参数(machine_list ,machine rank,export CUDA_VISIBLE_DEVICES)

展开
收起
冰激凌甜筒 2023-04-10 13:02:24 239 0
3 条回答
写回答
取消 提交回答
  • 坚持这件事孤独又漫长。
    • 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。

    2023-04-10 14:17:32
    赞同 展开评论 打赏
  • 多机的话比较推荐直接配置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用户交流群”

    2023-04-10 13:55:48
    赞同 展开评论 打赏
  • 发表文章、提出问题、分享经验、结交志同道合的朋友

    好的,我简单提供一个示例,你可以参考下

    场景:训练集群由两个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设备的编号。

    2023-04-10 13:47:48
    赞同 展开评论 打赏

人工智能平台 PAI(Platform for AI,原机器学习平台PAI)是面向开发者和企业的机器学习/深度学习工程平台,提供包含数据标注、模型构建、模型训练、模型部署、推理优化在内的AI开发全链路服务,内置140+种优化算法,具备丰富的行业场景插件,为用户提供低门槛、高性能的云原生AI工程化能力。

相关产品

  • 人工智能平台 PAI
  • 热门讨论

    热门文章

    相关电子书

    更多
    微博机器学习平台架构和实践 立即下载
    机器学习及人机交互实战 立即下载
    大数据与机器学习支撑的个性化大屏 立即下载