如何在不启动GUI的情况下如何编写python脚本来读取Tensorboard日志文件,提取损失和准确性以及其他数字数据tensorboard --logdir=...
?
您可以使用TensorBoard的Python类或脚本来提取数据:
如何从TensorBoard导出数据?
如果您想导出数据以在其他地方可视化(例如iPython
Notebook),那也是可能的。您可以直接依赖TensorBoard用来加载数据的基础类:(用于python/summary/event_accumulator.py
从一次运行python/summary/event_multiplexer.py
中加载数据)或(用于从多个运行中加载数据并保持其组织化)。这些类加载事件文件组,丢弃由TensorFlow崩溃“孤立”的数据,并按标记组织数据。另一种选择是,有一个脚本(
tensorboard/scripts/serialize_tensorboard.py
)可以像TensorBoard一样加载日志目录,但是将所有数据作为json写入磁盘,而不是启动服务器。设置该脚本是为了制作“假TensorBoard后端”进行测试,因此其边缘有些粗糙。
使用EventAccumulator
:
# In [1]: from tensorflow.python.summary import event_accumulator # deprecated
In [1]: from tensorboard.backend.event_processing import event_accumulator
In [2]: ea = event_accumulator.EventAccumulator('events.out.tfevents.x.ip-x-x-x-x',
...: size_guidance={ # see below regarding this argument
...: event_accumulator.COMPRESSED_HISTOGRAMS: 500,
...: event_accumulator.IMAGES: 4,
...: event_accumulator.AUDIO: 4,
...: event_accumulator.SCALARS: 0,
...: event_accumulator.HISTOGRAMS: 1,
...: })
In [3]: ea.Reload() # loads events from file
Out[3]: <tensorflow.python.summary.event_accumulator.EventAccumulator at 0x7fdbe5ff59e8>
In [4]: ea.Tags()
Out[4]:
{'audio': [],
'compressedHistograms': [],
'graph': True,
'histograms': [],
'images': [],
'run_metadata': [],
'scalars': ['Loss', 'Epsilon', 'Learning_rate']}
In [5]: ea.Scalars('Loss')
Out[5]:
[ScalarEvent(wall_time=1481232633.080754, step=1, value=1.6365480422973633),
ScalarEvent(wall_time=1481232633.2001867, step=2, value=1.2162202596664429),
ScalarEvent(wall_time=1481232633.3877788, step=3, value=1.4660096168518066),
ScalarEvent(wall_time=1481232633.5749283, step=4, value=1.2405034303665161),
ScalarEvent(wall_time=1481232633.7419815, step=5, value=0.897326648235321),
...]
size_guidance
:
size_guidance: Information on how much data the EventAccumulator should
store in memory. The DEFAULT_SIZE_GUIDANCE tries not to store too much
so as to avoid OOMing the client. The size_guidance should be a map
from a `tagType` string to an integer representing the number of
items to keep per tag for items of that `tagType`. If the size is 0,
all events are stored.
报告不能全部以编程方式进行,因为它们的布局会不断发生变化,我们不能每次发生这种变化时都更新我们的软件。
问题内容: 我希望能够获取网页的html并将其保存到,因此可以对其进行一些处理。另外,我该如何处理各种类型的压缩。 我将如何使用Java做到这一点? 问题答案: 这是一些使用Java的URL类的经过测试的代码。我建议比在这里处理异常或将异常传递到调用堆栈方面做得更好。
我找到以下链接来读取JMS队列中的消息及其工作。 https://blogs.oracle.com/soaproactive/entry/jms_step_3_using_the 现在,我想以编程方式读取JMS队列统计信息,如消息数、挂起消息数和消息输入/输出时间等。weblogic或weblogic中是否有可能为此提供任何API? 请帮忙。
问题内容: 我想为Java的玩具语言编写一个编译器。我想生成可运行的.class文件。我想知道执行此操作的最佳库或工具是什么?我知道我可以学习所有指令的二进制格式并建立自己的常量池等,但这似乎应该已经完成:没必要重新发明轮子,对吗? 在线搜索我发现了两种不同的Java汇编语言Jasmin和Jamaica,但是只有Jasmin看起来有所维护。 是否存在用于将字节码写入流的Java库?这是Apac
问题内容: 我想从受监视的应用程序内部以编程方式获得等效的输出。我看到可以通过HotSpot诊断Bean触发二进制堆转储,但是我看不到如何获取直方图数据。可能吗 ? 问题答案: 这可能是不是最好的例子/代码,但看看这个 (我认为这仅适用于Hotspot JVM)
问题内容: 我想以编程方式禁用硬件预取。 从使用硬件实现的预取器在英特尔®酷睿™微体系结构上优化应用程序性能以及 如何在32位英特尔®架构上的硬件和软件预取之间进行选择,我需要更新MSR以禁用硬件预取。 以下是相关片段: “通过编写用于更改 寄存器中位的设备驱动程序实用程序,还可以通过编程方式更改DPL预取和L2流预取设置。这种实用程序提供了启用或禁用预取机制的能力,而无需任何服务器停机时间。 下