无需TensorFlow即可记录TensorBoard事件
项目描述
tensorboard_logger
无需TensorFlow即可记录TensorBoard事件
TensorBoard是一个可视化工具(不是本项目,它是TensorFlow框架的一部分),它使得检查训练进度、比较不同运行之间以及具有许多其他酷炫功能变得容易。
tensorboard_logger库允许在不使用TensorFlow的情况下写入TensorBoard事件
from tensorboard_logger import configure, log_value configure("runs/run-1234") for step in range(1000): v1, v2 = do_stuff() log_value('v1', v1, step) log_value('v2', v2, step)
注意:如果您已在项目中使用TensorFlow,那么您可能不需要这个库。
安装
TensorFlow仅用于查看记录的事件:请查看官方站点上的安装指南(您可能想要一个仅CPU版本的版本)。
tensorboard_logger可以使用pip安装
pip install tensorboard_logger
用法
您可以使用默认的日志记录器,通过 tensorboard_logger.configure 和 tensorboard_logger.log_value 函数,或者使用 tensorboard_logger.Logger 类。
此库可用于以 TensorBoard 格式记录某些变量的数值,因此您可以使用 TensorBoard 可视化它们的变化,并比较不同运行中的相同变量。日志文件将写入一个目录,因此您需要为每个运行单独创建一个目录(您可以将其他日志或输出文件放置在同一目录中)。您希望比较的不同运行的目录应具有相同的父目录(可以有其他文件或目录具有相同的父目录,TensorBoard 会确定哪些目录包含日志)。
除了变量名称和它们的值之外,另一件重要的事情是 步骤:这必须是一个表示某些递增步骤的整数 - 它可以是训练步骤或其他数字。在 TensorBoard 中,值是按照步骤排序的,尽管您也可以按时间或相对步骤排序来查看它们。
简单用法示例
from tensorboard_logger import configure, log_value configure("runs/run-1234", flush_secs=5) for step in range(1000): v1, v2 = do_stuff() log_value('v1', v1, step) log_value('v2', v2, step)
您可以直接启动 TensorBoard
tensorboard --logdir runs
然后去检查 TensorBoard UI 上的指标,网址为 http://localhost:6006(注意,默认情况下它绑定到 0.0.0.0)。在切换到浏览器标签时刷新指标,并且在右上角还有一个刷新按钮。
运行时的开销相当大,单个值记录约为 0.1 - 0.2 毫秒(因此大约每秒 5,000 - 10,000 个操作)。
API
tensorboard_logger.configure(logdir, flush_secs=2)
配置日志记录:将文件写入 logdir,并每 flush_secs 刷新一次。**注意**:目前文件在每个事件写入后刷新。
tensorboard_logger.log_value(name, value, step=None)
在给定的 name 上记录给定 step 的新 value。值应该是一个实数(它将被转换为浮点数),名称应该是一个字符串(它将被转换为有效的 TensorFlow 汇总名称)。步骤应该是一个非负整数,用于可视化:您可以在一个步骤上记录几个不同的变量,但不应该在同一个步骤上记录相同变量的不同值(这不会被检查)。您也可以完全省略步骤。
tensorboard_logger.Logger
一个用于在目录中写入日志的类。如果您在上述两个函数中使用的默认日志记录器不足以满足您的需求(例如,您想将日志记录到几个不同的目录,或者不喜欢全局变量),则使用它。构造函数与 tensorboard_logger.configure 具有相同的签名,并且它有一个与 tensorboard_logger.log_value 具有相同签名的单个 log_value 方法。
开发
编译 Python protobuf 文件
protoc --python_out . tensorboard_logger/tf_protobuf/summary.proto protoc --python_out . tensorboard_logger/tf_protobuf/event.proto
许可证
历史
0.1.0 (2018-02-08)
能够记录直方图和图像 (#18)
0.0.4 (2017-07-31)
修复与 TensorFlow 安装一起使用的问题 (#11)
0.0.3 (2016-11-17)
修复 PyPI 打包
0.0.2 (2016-11-03)
不再需要 TensorFlow (#1)
修复 Travis 构建 (#2)
0.0.1 (2016-11-01)
首次发布到 PyPI。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪一个,请了解有关 安装包 的更多信息。
源分布
构建版本
tensorboard_logger-0.1.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 614eaf9b68f7ca9e5db5972f241034a24ea593b938fc8a7e5544444099edeae5 |
|
MD5 | 3899e6e72b7848ed41271c8501293d22 |
|
BLAKE2b-256 | 91a78b7223a30cde2e04f2d7a902600f765fe91e2db68541f147ac7b8733feae |
tensorboard_logger-0.1.0-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f514f2bc62954a2bef1b0d7c2794ae762b663c7898e13661889645b6ae53ecd7 |
|
MD5 | f73881fdee91605509f50c550f7f3159 |
|
BLAKE2b-256 | 877aec0fd26dba69191f82eb8f38f5b401c124f45a207490a7ade6ea9717ecdb |