不带tensorflow的日志tensorboard事件

tensorboard_logger的Python项目详细描述


Tensorboard_记录器

https://img.shields.io/pypi/v/tensorboard_logger.svghttps://img.shields.io/travis/TeamHG-Memex/tensorboard_logger.svg

记录没有tensorflow

的tensorboard事件

TensorBoard 是一个可视化工具(不是这个项目,它是 TensorFlow框架) 这样就很容易检查训练进度,比较 不同的跑步方式,还有很多其他酷的功能。

tensorboard_example.png

tensorboard_loggerlibrary允许在不使用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仅用于查看记录的事件:请检查安装指南 在official site上 (您可能需要一个仅限CPU的版本)。

tensorboard_logger可以与pip一起安装:

pip install tensorboard_logger

使用量

可以将默认记录器与^{tt3}一起使用$ 和tensorboard_logger.log_value函数,或使用tensorboard_logger.Logger类。

此库可用于以tensorboard格式记录某些变量的数值,因此您可以 使用tensorboard可视化它们是如何变化的,并比较不同运行之间的相同变量。 日志文件被写入一个目录,因此每次运行都需要一个单独的目录 (您可以将其他日志或输出文件放在同一目录中)。 要比较的来自不同运行的目录应该具有相同的父目录 (也可以有其他文件或目录有相同的父目录,tensorboard会发现 哪些目录包含日志)。

除了变量名及其值之外,另一个重要的事情是step:这必须 是一个整数,表示某个增加的步骤-它可以是训练中的一个步骤,也可以是 其他号码。这些值在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

http://localhost:6006检查tensorboard ui的度量 (请注意,它默认绑定到0.0.0.0)。 指标在切换到浏览器选项卡时刷新,并且还有一个刷新按钮 在右上角。

运行时开销相当大,对于记录的单个值,大约为0.1-0.2毫秒 (大约每秒5000-10000次操作)。

api

tensorboard_logger.configure(logdir, flush_secs=2)

配置日志记录:文件将写入logdir,并每flush_secs刷新一次。 注意:在每次写入事件后立即刷新文件。

tensorboard_logger.log_value(name, value, step=None)

在给定的step上为给定的name记录新的valuevalue应为实数(将转换为浮点数), 并且name应该是字符串(它将被转换为有效的 TensorFlow摘要名称)。step应该是非负整数, 用于可视化:您可以记录几个不同的 变量在一个步骤中,但不应记录不同的值 同一步骤上的同一变量(未选中)。 也可以完全省略步骤。

tensorboard_logger.Logger

用于在目录中写入日志的类。 如果上面两个函数中使用的默认记录器不足以满足您的需要,请使用它 (例如,您想要登录到几个不同的目录,或者不喜欢 全局变量)。 构造函数的签名与tensorboard_logger.configure相同, 它有一个log_value方法,其签名与 tensorboard_logger.log_value

发展

编译python protobuf文件:

protoc --python_out . tensorboard_logger/tf_protobuf/summary.proto
protoc --python_out . tensorboard_logger/tf_protobuf/event.proto

许可证

MIT license


define hyperiongray

历史记录

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。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JAVAutil。整数java的扫描器键盘输入   java通知运行后立即崩溃   java如何在一个只能由类修改而不能由其实例修改的类中生成静态变量?   数据库Java字段猜测   返回值周围的java括号为什么?   java Android更新通讯录中的联系人   一个消费者正在读取数据   java是否可以通过编程方式为蓝牙配对设置pin?   java Spring引导和buildResponseEntity()   java为什么序列化可以在没有实现可序列化的情况下工作   Java同步无助于相互排斥   twitter Java Twitter4J未在推文下显示源标签   为什么Javasocket不支持中断处理?