Documentation
搜索文档…
Tensorflow
如果你已经在用TensorBoard,与wandb集成很容易。
1
import tensorflow as tf
2
import wandb
3
wandb.init(config=tf.flags.FLAGS, sync_tensorboard=True)
Copied!
请参阅我们的示例项目以获得完整的脚本示例。

自定义指标

如果你需要额外记录一些没有被记录到TensorBoard的指标,可以在代码中调用wandb.log,并使用与TensorBoard一样的step参数:
wandb.log({"custom": 0.8}, step=global_step)

TensorFlow钩子

如果你想对被记录的内容有更多的控制,wandb还为TensorFlow估算器提供了一个钩子。它将在图中记录所有的tf.summary值。
1
import tensorflow as tf
2
import wandb
3
4
wandb.init(config=tf.FLAGS)
5
6
estimator.train(hooks=[wandb.tensorflow.WandbHook(steps_per_log=1000)])
Copied!

手动记录

在TensorFlow中记录指标的最简单方法就是用TensorFlow记录器记录tf.summary
1
import wandb
2
3
with tf.Session() as sess:
4
# ...
5
wandb.tensorflow.log(tf.summary.merge_all())
Copied!
对于TensorFlow2,如果你要用自定义循环来训练模型,我们建议使用tf.GradientTape。 你可以在这里阅读更多关于它的信息。如果你想在你的自定义TensorFlow训练循环中加入wandb来记录指标,你可以参考这段代码——
1
with tf.GradientTape() as tape:
2
# Get the probabilities
3
predictions = model(features)
4
# Calculate the loss
5
loss = loss_func(labels, predictions)
6
7
# Log your metrics
8
wandb.log("loss": loss.numpy())
9
# Get the gradients
10
gradients = tape.gradient(loss, model.trainable_variables)
11
# Update the weights
12
optimizer.apply_gradients(zip(gradients, model.trainable_variables))
Copied!
这里有个完整示例。

W&B和TensorBoard有什么不同?

我们受到启发要为大家改进实验跟踪工具。当合伙人开始构建W&B的工作时,他们受到启发要为OpenAI中受挫的TensorBoard 用户打造一个工具。以下是我们重点改进的几项内容:
  1. 1.
    重现模型: Weights & Biases有利于实验、探索和以后重现模型。我们不仅可以捕获指标(Metric),还可以捕获超参数和代码版本,我们还可以为你保存你的模型检查点,这样你的项目可以被重现。
  2. 2.
    自动组织: 如果你将一个项目交给一个同事或者你要去休假。W&B使得很容易查看所有你试过的实验,这样就不用浪费时间重新运行旧实验。
  3. 3.
    快速、灵活的集成: 5分钟之内就可以将W&B添加到你的项目中。安装我们的免费开源Python包,并在你的代码中添加几行代码。然后每次你运行你的模型时,你的指标和记录都会被很好记录。
  4. 4.
    持久的集中式仪表盘: 无论你在哪里训练模型,无论是在你的本地机器、你的实验室集群或云端的竞价实例(Spot Instance)中,我们都会为你提供相同的集中式仪表盘。你不需要花费时间从不同的机器上复制和组织TensorBoard文件。
  5. 5.
    强大的表格: 搜索、过滤、排序和分组不同模型的结果。很容易查看成千上万的模型版本,并为不同的任务找到性能最好的模型。TensorBoard无法在大型项目上很好工作。
  6. 6.
    协作的工具: 使用W&B来组织复杂的机器学习项目。分享W&B链接非常容易,你可以使用私有(private)团队,让每个人将结果发送到共享项目。我们还支持通过报告进行协作——添加交互式可视化,并用markdown描述你的工作。这是保留工作日志,与你的上级分享发现,或向你的实验室展示发现的好方法。
开设一个个人免费账号→​​

示例

我们已经为你创建了一些示例,以了解集成的工作原理:
  • Github上的示例:使用TensorFlow估算器的MNIST示例
  • Github上的示例: 使用Raw TensorFlow的Fashion MNIST示例
  • Wandb仪表盘: 在W&B上查看结果
  • 自定义TensorFlow 2 中的训练循环 - 文章| Colab 笔记本| 仪表盘​​
最近更新 7mo ago