【问题标题】:How/where the checkpoint files are loaded检查点文件的加载方式/位置
【发布时间】:2019-06-14 18:30:32
【问题描述】:

我正在运行 tensorflow object_detection 模型的 model_main.py。 我想知道哪个 .py 文件有代码,模型在哪里检查 'mode_dir' 中的现有检查点,以及模型如何知道从保存的最新检查点加载/启动。

我检查了 model_lib.py,但还无法弄清楚。

【问题讨论】:

  • model_dir 是保存检查点文件但未加载的路径。可能您指的是预训练模型的检查点路径?
  • 是的,我第一次运行时,检查点文件保存在model_dir中。但是当我下次运行更多步骤时,我认为它会检查现有检查点文件的 mode_dir 路径并根据最新的检查点文件保存第一个检查点(用于第二次运行),然后从它离开的地方开始训练。如果我的第一次运行是 100 步,第二次运行是 300 步,那么第二次运行将从 100 开始,而不是从 0 开始。所以,我想知道第二次运行如何/从何处获取有关现有检查点的信息并从最新的。
  • 这不是 tensorflow OD API 从检查点保持训练的方式。如果model_dir不为空,tensorflow会先检查保存的checkpoint是否达到训练步数,如果达到则跳过训练。见这里stackoverflow.com/a/52201093/1621414。但是在您的情况下,尚未达到训练步数(您设置了更大的 num_steps),在这种情况下,模型仍会从 stratch 开始训练。 (我不完全确定,但根据我使用 API 的经验,我会在 tensorboard 中看到两个训练损失图)。
  • 如果要使用保存在model_dir中的检查点,需要在配置文件train_config下指定checkpoint: /path/to/checkpoint
  • 在model_dir中,每次保存新的检查点时都会生成并更新一个名为checkpoint的文件,其中包含检查点的最新文件名。我假设每次您尝试恢复训练时都会读取此文件。

标签: python-3.x tensorflow object-detection


【解决方案1】:

除了上面的讨论之外,here 是预训练的检查点在 tensorflow 对象检测 api 中加载的位置。如您所见,检查点路径由变量train_config.fine_tune_checkpoint传递,该变量是配置文件中train_config下的一个字段。它与model_dir 不同,后者仅用于保存最近的检查点。

如果您使用相同的命令行恢复训练,训练似乎会自动从model_dir 中的最新检查点开始,这由 tensorflow Supervisor 支持。参考here

【讨论】:

  • 我已经检查过这个地方。我放了一些调试语句,看看这里是否有关于现有检查点文件的任何信息,但是没有。
  • 你能分享你的配置文件吗?
  • 关于model_dir和fine_tune_checkpoint我也了解....你之前的说法,如果第二次运行有更多的步骤,它将从头开始运行;这不是真的..当我以 100 步运行模型时,将在 model_dir 中创建一个检查点文件作为“model.ckpt-100.data-00000-of-00001”。当我以 step=400 运行第二次时,训练将从 100 开始..
  • 你怎么知道它从第 100 步开始?
  • train_config: { batch_size: 8 num_steps: 200 optimizer { rms_prop_optimizer: { learning_rate: {exponential_decay_learning_rate { initial_learning_rate: 0.004 decay_steps: 800720 decay_factor: 0.95 } } motion_optimizer_value: 0.9 decay: 0.9 epsilon: 1. :“/home/tensorflow-models/research/object_detection/testing/in-model/ssd_mobilenet_v1_coco_2018_01_28/model.ckpt” from_detection_checkpoint: true .
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-11-28
  • 1970-01-01
  • 2011-11-16
  • 2019-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多