Documentation
搜索文档…
wandb.init()
在你的脚本顶部调用 wandb.init() 以启动一个新运行
在你的脚本开始调用一次wandb.init() 以初始化一个新作业,这将在W&B 中创建一个新运行并启动一个后台进程来同步数据。
  • On Prem: 如果你需要W&B 的私有云或本地实例,请参见我们的自托管产品。
  • 自动化环境: 大多数这些设置也可以通过环境变量进行控制。当你在集群上运行作业时,这非常有用。

参考文档

从参考文档中查看参数.

常见问题

如何从一个脚本中启动多个运行?

如果你想从一个脚本启动多个运行,需要在你的代码中添加如下两步:
  1. 1.
    run = wandb.init(reinit=True): 使用这个设置以允许重新初始化运行。
  2. 2.
    run.finish(): 在你的运行结束时使用此功能来完成该运行的日志记录。
import wandbfor x in range(10): run = wandb.init(project="runs-from-for-loop", reinit=True) for y in range (100): wandb.log({"metric": x+y}) run.finish()
或者你也可以使用Python上下文管理器,它将自动完成记录日志:
import wandbfor x in range(10): run = wandb.init(reinit=True) with run: for y in range(100): run.log({"metric": x+y})

LaunchError: Permission denied

如果遇到错误 LaunchError: Launch exception: Permission denied ,说明你没有权限登录到你正发送运行的目标项目。这可能有如下原因。
  1. 1.
    你没有登录到该机器。在命令行运行wandb login
  2. 2.
    你设置的实体(Entity)不存在。“实体(Entity)”应当为你的用户名或已存在的团队的名称。如果你要创建一个团队,请打开我们的订阅页面。
  3. 3.
    你没有项目权限。请找项目创建者把隐私权限设置为开放(Open),这样你就能把运行记录到该项目。

给运行取一个易读的名称

给运行取一个易读的名称。
import wandb​wandb.init()run_name = wandb.run.name

把运行项名称设置为生成的运行id

如果你想把运行名称(如snowy-owl-10)重写为运行id(如qvlp96vk),可以用这个代码片段:
import wandbwandb.init()wandb.run.name = wandb.run.idwandb.run.save()

保存git commit

wandb.init() 在你的脚本中被调用时,我们会自动查找git信息,以保存一个指向你仓库的链接,即最新提交的SHA值。git信息应该显示在你的运行页面,如果没有的话,请确保你调用wandb.init()的脚本位于一个有git信息的文件夹中。
git commit以及运行实验的命令对你可见但对外部用户隐藏,所以,即使你的项目是公开的,这些详细信息将仍然保持私有。

离线保存日志

默认情况下,wandb.init()会启动一个进程,把指标(Metric)实时同步到我们的云托管应用程序。如果你的机器离线,或者你无法访问互联网,下面讲述如何以离线模式运行wandb并在稍后同步。
设置两个环境变量:
  1. 1.
    WANDB_API_KEY: Set this to your account's API key, on your settings page
  2. 2.
    WANDB_MODE: dryrun
下面是一个脚本示例:
import wandbimport os​os.environ["WANDB_API_KEY"] = YOUR_KEY_HEREos.environ["WANDB_MODE"] = "dryrun"​config = { "dataset": "CIFAR10", "machine": "offline cluster", "model": "CNN", "learning_rate": 0.01, "batch_size": 128,}​wandb.init(project="offline-demo")​for i in range(100): wandb.log({"accuracy": i})
下面是一个终端输出示例:
一旦可以访问互联网,运行一条同步命令即可把该文件夹发送到云端。
wandb sync wandb/dryrun-folder-name