本章节主要介绍如何使用 SwanLab 镜像创建分布式训练任务。

前提条件

  • 已经获取基石智算控制台账户和密码。

  • 已完成实名认证且账户余额大于 0 元。

  • 平台已创建有可用的用户目录

操作步骤

  1. 本地创建一个名为 swan-lab.py 的文件,写入以下代码内容并保存。

    # swan-lab.py
    import swanlab
    import random
    
    # 初始化一个新的swanlab run类来跟踪这个脚本
    swanlab.init(
      # 设置将记录此次运行的项目信息
      project="my-awesome-project",
    
      # 跟踪超参数和运行元数据
      config={
        "learning_rate": 0.02,
        "architecture": "CNN",
        "dataset": "CIFAR-100",
        "epochs": 10
      }
    )
    
    # 模拟训练
    epochs = 10
    offset = random.random() / 5
    for epoch in range(2, epochs):
      acc = 1 - 2 ** -epoch - random.random() / epoch - offset
      loss = 2 ** -epoch + random.random() / epoch + offset
    
      # 向swanlab上传训练指标
      swanlab.log({"acc": acc, "loss": loss})
    
    # [可选] 完成训练,这在notebook环境中是必要的
    swanlab.finish()
  2. 将上一步创建的 swan-lab.py 文件,上传至指定用户目录中。

    bp swanlab job 1
  3. 在左侧导航栏,点击镜像仓库,选择应用镜像页签。

  4. 应用镜像列表中,选择 SwanLab 镜像卡片页,且选择版本号为 0.3.26,点击提交训练任务

    bp swanlab
  5. 进入创建分布式训练任务页面,按如下要求配置各项参数,点击确定即可。

    • 镜像:已根据上一步操作,选定为应用镜像下的 SWANLAB 镜像。

    • 存储与数据:选上传有 swan-lab.py 文件的用户目录。

    • 环境变量:点击添加输入 SWANLAB_API_KEY输入 SWAN_API_KEY。

      SWAN_API_KEY 可在 SwanLab 官网注册账号后获取,已注册的用户,可在设置中查看 API Key。

    • 启动命令:根据所选的用户目录的挂载路径,本次示例为 python3 /root/epfs/swan-lab.py

    • 计算资源:根据实际情况,选择 GPU 节点即可。

    • 其他参数,根据实际情况进行设定即可。

  6. 等待分布式任务创建完成,且状态为已完成

    bp swanlab job 2
  7. 点击该任务 ID 进入其详情页面,并选择日志页签。

    bp swanlab job 3
  8. 在任务日志页面,点击相应链接跳转至 SwanLab 官网,选定相应实验,并查看环境,即可查看到当前云厂商基石智算

    bp swanlab job 4