我可以从培训文件夹中删除 events.out.tfevents.XXXXXXXXXX.computer_name 个文件吗
Can I delete events.out.tfevents.XXXXXXXXXX.computer_name files from training folder
我正在训练 faster_rcnn_inception 自定义数据集上的对象检测模块。
在训练目录中,我们找到名为 eval_0 的文件夹和 tensorflow 生成的 events.out.tfevents.xxxxxx 个文件。
培训目录结构如下
+training_dir
+eval_0
-events.out.tfevents.1542309785.instance-1 1.2GB
-events.out.tfevents.1542367255.instance-1 5.3GB
-events.out.tfevents.1542369886.instance-1 3.6GB
-events.out.tfevents.1542624154.instance-1 31MB
-events.out.tfevents.1543060258.instance-1 19MB
-events.out.tfevents.1543066775.instance-2 1.6GB
-events.out.tfevents.1542308099.instance-1 17MB
-events.out.tfevents.1542308928.instance-1 17MB
-events.out.tfevents.1542366369.instance-1 17MB
-events.out.tfevents.1542369000.instance-1 17MB
-events.out.tfevents.1542623262.instance-1 17MB
-events.out.tfevents.1543064936.instance-2 17MB
-events.out.tfevents.1543065796.instance-2 17MB
-events.out.tfevents.1543065880.instance-2 17MB
-model.ckpt-96004.data-00000-of-00001
-model.ckpt-96004.data-00000-of-00001
-model.ckpt-96004.index
-model.ckpt-96004.meta
-model.ckpt-96108.data-00000-of-00001
-model.ckpt-96108.index
-model.ckpt-96108.meta
据我了解,eval_0文件夹中的tfevents文件是evaluation[的总结文件=46=]和training_dir中的tfevents文件是training.
我已经多次中断训练过程并从最近的检查点继续。
我也知道重新启动训练过程会生成新的 tfevents 文件。
我的问题如下:
为什么训练 tfevents_files 具有相同的大小,但如果
eval_0/tfevents_files 大小不一 ?
为什么中断训练会在训练中产生新的tfevents_file
文件夹,但在 eval_0?
的情况下未观察到相同
我可以删除 eval_0 中除最新一个以外的所有 tfevents 文件吗?可以
对训练或进化历史有影响吗?
TFEvent文件主要用于TensorBoard。如果您打开一个终端并启动它(即:tensorboard --logdir .
),您在这些事件文件中看到的内容。
当然可以有多个"summary writers"。在您的情况下,训练期间记录的事件记录在根目录 "training_dir" 中,而评估阶段的事件记录在 "eval_0" 下。您会想要这样做,因为 tensorboard 将每个文件夹绘制为图表中的单独组。
您的训练数据与评估数据不同,因此事件文件当然也会不同。
至于检查点,你只需要 model.ckpt*
文件来恢复权重。事件文件根本不被使用,因此您可以安全地删除它们。实际上,如果您真的打算使用 tensorboard,那么每当您开始新的训练过程时,您可能希望从一个干净的日志文件夹开始。
事件文件实际上不是检查点的一部分,它们是日志文件。因此,无论何时调用日志记录方法,都会添加新条目。您没有在 eval_0 文件夹中看到新条目,这可能是因为您在训练阶段停止了该过程,然后才到达评估阶段。
tfevents 文件不是训练所必需的,可以安全地删除。
在Tensorflow中tfevents是由FileWriters创建的,一般用于存储摘要输出。以下是如何使用 tf.summaries 的一些常见示例:
- 在训练开始前存储张量流图的描述
- 为每个训练步骤写下损失函数的值
- 每个时期存储一次层的激活或权重直方图
- 在每次验证时存储一次网络输出图像的示例
- 存储整个验证集的平均精度(或任何其他指标)
此信息对训练而言不是必需的,因此可以删除。然而,它可能会在调试或研究模型行为时派上用场。 TensorBoard 是读取和可视化存储在 tfevent 文件中的数据的最常用工具。任何人都可以使用 protobuf 协议及其针对 Python、C++ 和其他语言的实现手动读取和解释 TFRecord 文件。
tfevents 以 TFRecord 格式编写。 TFRecord 是一种存储二进制记录序列的简单格式。如果文件已存在,Tensorflow 总是将新的 events/summaries 附加到文件末尾。这解释了文件增长。
由于 tensorflow/models/reserach/object_detection 提供的优化例程的实施细节,训练和评估事件文件具有不同的行为。即,评估事件文件是直接使用 FileWriter 创建的,它将在 log_dir 中重用最新的现有事件文件。实施还具有大量定期收集的摘要,这增加了训练期间的事件文件。
另一方面,对于训练例程,开发人员在 TPU 上完成训练时明确指定了一个空的摘要列表。这意味着事件文件只创建一次,以后永远不会使用。当在 non-TPU 硬件上执行训练或为训练启用 summarize_gradients 选项时,此行为可能会有所不同。
我正在训练 faster_rcnn_inception 自定义数据集上的对象检测模块。 在训练目录中,我们找到名为 eval_0 的文件夹和 tensorflow 生成的 events.out.tfevents.xxxxxx 个文件。
培训目录结构如下
+training_dir
+eval_0
-events.out.tfevents.1542309785.instance-1 1.2GB
-events.out.tfevents.1542367255.instance-1 5.3GB
-events.out.tfevents.1542369886.instance-1 3.6GB
-events.out.tfevents.1542624154.instance-1 31MB
-events.out.tfevents.1543060258.instance-1 19MB
-events.out.tfevents.1543066775.instance-2 1.6GB
-events.out.tfevents.1542308099.instance-1 17MB
-events.out.tfevents.1542308928.instance-1 17MB
-events.out.tfevents.1542366369.instance-1 17MB
-events.out.tfevents.1542369000.instance-1 17MB
-events.out.tfevents.1542623262.instance-1 17MB
-events.out.tfevents.1543064936.instance-2 17MB
-events.out.tfevents.1543065796.instance-2 17MB
-events.out.tfevents.1543065880.instance-2 17MB
-model.ckpt-96004.data-00000-of-00001
-model.ckpt-96004.data-00000-of-00001
-model.ckpt-96004.index
-model.ckpt-96004.meta
-model.ckpt-96108.data-00000-of-00001
-model.ckpt-96108.index
-model.ckpt-96108.meta
据我了解,eval_0文件夹中的tfevents文件是evaluation[的总结文件=46=]和training_dir中的tfevents文件是training.
我已经多次中断训练过程并从最近的检查点继续。 我也知道重新启动训练过程会生成新的 tfevents 文件。
我的问题如下:
为什么训练 tfevents_files 具有相同的大小,但如果 eval_0/tfevents_files 大小不一 ?
为什么中断训练会在训练中产生新的tfevents_file 文件夹,但在 eval_0?
的情况下未观察到相同
我可以删除 eval_0 中除最新一个以外的所有 tfevents 文件吗?可以 对训练或进化历史有影响吗?
TFEvent文件主要用于TensorBoard。如果您打开一个终端并启动它(即:tensorboard --logdir .
),您在这些事件文件中看到的内容。
当然可以有多个"summary writers"。在您的情况下,训练期间记录的事件记录在根目录 "training_dir" 中,而评估阶段的事件记录在 "eval_0" 下。您会想要这样做,因为 tensorboard 将每个文件夹绘制为图表中的单独组。
您的训练数据与评估数据不同,因此事件文件当然也会不同。
至于检查点,你只需要 model.ckpt*
文件来恢复权重。事件文件根本不被使用,因此您可以安全地删除它们。实际上,如果您真的打算使用 tensorboard,那么每当您开始新的训练过程时,您可能希望从一个干净的日志文件夹开始。
事件文件实际上不是检查点的一部分,它们是日志文件。因此,无论何时调用日志记录方法,都会添加新条目。您没有在 eval_0 文件夹中看到新条目,这可能是因为您在训练阶段停止了该过程,然后才到达评估阶段。
tfevents 文件不是训练所必需的,可以安全地删除。
在Tensorflow中tfevents是由FileWriters创建的,一般用于存储摘要输出。以下是如何使用 tf.summaries 的一些常见示例:
- 在训练开始前存储张量流图的描述
- 为每个训练步骤写下损失函数的值
- 每个时期存储一次层的激活或权重直方图
- 在每次验证时存储一次网络输出图像的示例
- 存储整个验证集的平均精度(或任何其他指标)
此信息对训练而言不是必需的,因此可以删除。然而,它可能会在调试或研究模型行为时派上用场。 TensorBoard 是读取和可视化存储在 tfevent 文件中的数据的最常用工具。任何人都可以使用 protobuf 协议及其针对 Python、C++ 和其他语言的实现手动读取和解释 TFRecord 文件。
tfevents 以 TFRecord 格式编写。 TFRecord 是一种存储二进制记录序列的简单格式。如果文件已存在,Tensorflow 总是将新的 events/summaries 附加到文件末尾。这解释了文件增长。
由于 tensorflow/models/reserach/object_detection 提供的优化例程的实施细节,训练和评估事件文件具有不同的行为。即,评估事件文件是直接使用 FileWriter 创建的,它将在 log_dir 中重用最新的现有事件文件。实施还具有大量定期收集的摘要,这增加了训练期间的事件文件。
另一方面,对于训练例程,开发人员在 TPU 上完成训练时明确指定了一个空的摘要列表。这意味着事件文件只创建一次,以后永远不会使用。当在 non-TPU 硬件上执行训练或为训练启用 summarize_gradients 选项时,此行为可能会有所不同。