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

机器学习PAI使用DeepRec运行estimator分布式训练,protocol 使用star_?

机器学习PAI使用DeepRec运行estimator分布式训练,protocol 使用star_server ,tf_config:1个ps 1个chief 2个worker,其中一个worker训练正常结束,其他节点还在尝试连接该worker,进程一直不会正常退出 Seastar conn timeout for: xxx:3333, now do retry with max retry count: 100,这块是需要做一些配置吗?

展开
收起
真的很搞笑 2023-07-31 09:33:34 106 0
2 条回答
写回答
取消 提交回答
  • 对于您提到的问题,下面是一些解释和可能的解决方法:

    问题1:进程无法正常退出
    在分布式训练中,当一个 worker 训练任务完成后,并不会自动退出。其他节点仍然会尝试连接该 worker 节点,直到达到最大重试次数或超时。这是正常行为,因为它们需要等待所有 worker 完成训练才能继续执行其他操作。

    如果您想要提前结束剩余的 worker 进程,可以通过设置合适的 tf.train.StopAtStepHook 来控制训练的步数,在达到指定步数后主动停止训练,并通知其他节点结束。

    问题2:chief 进程打印 conn timeout 错误日志
    在分布式训练中,chief 进程会负责协调和管理整个训练过程,包括与其他节点的通信。因此,如果某个 worker 节点无法连接,chief 进程会记录连接超时的错误日志。这是提示有节点未能如预期连接的信息,不一定表示出现了严重的错误。

    2023-07-31 16:09:49
    赞同 展开评论 打赏
  • TF_CONFIG,worker之间的ip:port是生成出来是*,sess_config.device_filters.append("/job:ps") 如果你的规模比较小,建议先使用grpc++
    session_config = ConfigProto()
    session_config.device_filters.append("/job:ps")

    run_config = tf.estimator.RunConfig(
    model_dir=model_dir,
    log_step_count_steps=train_config.log_step_count_steps,
    save_summary_steps=train_config.save_summary_steps,
    save_checkpoints_steps=train_config.save_checkpoints_steps,
    train_distribute=distribution,
    eval_distribute=distribution,
    session_config=session_config),此回答整理自钉群“DeepRec用户群”

    2023-07-31 09:49:20
    赞同 展开评论 打赏

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

相关产品

  • 人工智能平台 PAI
  • 相关电子书

    更多
    基于社区的分布式 风险感知模型 立即下载
    如何利用Redisson分布式化传统Web项目 立即下载
    FLASH:大规模分布式图计算引擎及应用 立即下载