课程评价 (0)

请对课程作出评价:
0/300

学员评价

暂无精选评价
20分钟

并行学习

  1. lightgbm 已经提供了以下并行学习算法: 并行算法开启方式数据并行tree_learner='data'特征并行tree_learner='feature'投票并行tree_learner='voting'tree_learner 默认为 'serial'。 表示串行学习。 这些并行算法适用于不同场景: 样本数量较小样本数量巨大特征数量较小特征并行数据并行特征数量巨大特征并行投票并行
  2. 构建并行版本: 默认的并行版本基于socket 的并行学习,如果需要基于MPI 的并行版本,则需要手动编译
    • 首先收集所有想要运行并行学习的机器的IP,并指定一个TCP 端口号(要求在这些机器上,这些端口没有被防火墙屏蔽掉)。 然后将这些IP 和端口写入到文件中(假设文件名为ip.txt ): ip1 portip2 port 其中要求:
      • 数量必须和num_machines 或者num_machine 参数相等
      • 必须包含127.0.0.1 (或者包含localhost 对应的其它ip),它代表本地
      • port 必须和local_listen_port 或者local_port 参数相等
    • 然后在配置文件中编译以下参数: tree_learner= 你的并行算法num_machines= 并行计算的机器的数量machine_list_file=ip.txt #要求每个并行计算的机器占一行local_listen_port=port
    • 然后将数据文件、可执行文件、配置文件、以及ip.txt 拷贝到所有并行学习的机器上。
    • 在所有机器上运行以下命令:
      • windowslightgbm.exe config=配置文件
      • Linux: ./lightgbm config=配置文件

3. 并行学习的注意事项:

  • 当前Python 版本不支持并行,必须采用lightgbm 二进制的方式。
  • 在执行推断时,要求数据的特征与训练时的特征完全一致
    • 必须都包含label 列。推断时,该列的数值不起作用,仅仅是个占位符。
    • 如果有 header,则列的先后顺序不重要。如果没有header,则必须顺序也要保持相同。