Model Analyzer 中的检查点#

Model Analyzer 在分析时将收集的测量结果写入检查点文件。这些文件位于指定的检查点目录中(有关默认位置,请参阅Config Defaults 部分)。检查点文件用于创建数据表、摘要和详细报告。

何时完成检查点操作?#

Model Analyzer 在多种情况下保存检查点

  1. 对于给定的模型,当所有性能分析器运行完成后,Model Analyzer 将保存一个检查点。

  2. 用户可以使用 CTRL-C (SIGINT) 发起提前退出分析。这将等待当前的性能分析器运行完成,然后保存检查点并退出。

  3. 如果用户需要立即退出,他们可以发送 3 次 SIGINT。在这种情况下,Model Analyzer 将保存一个检查点并立即退出。

检查点命名方案#

当分析运行完成时

$ model-analyzer profile -m example_model_repo --profile-models example_model_1,example_model_2
2021-05-13 19:57:05.87 INFO[entrypoint.py:98] Starting a local Triton Server...
2021-05-13 19:57:05.92 INFO[server_local.py:64] Triton Server started.
2021-05-13 19:57:09.234 INFO[server_local.py:81] Triton Server stopped.
2021-05-13 19:57:09.235 INFO[analyzer_state_manager.py:118] No checkpoint file found, starting a fresh run.
.
.
.
2021-05-13 19:58:01.625 INFO[analyzer.py:110] Finished profiling. Obtained measurements for models: ['example_model_1', 'example_model_2']

在检查点目录中,将有 2 个检查点。

$ ls -l checkpoints
-rw-r--r-- 1 root root 11356 May 11 20:00 0.ckpt
-rw-r--r-- 1 root root 11356 May 13 19:58 1.ckpt

检查点使用连续的非负整数命名。在启动时,Model Analyzer 识别最新的检查点(最高的整数)并加载它。如果检查点中的数据有任何更改,则在再次保存之前,检查点索引会递增,从而创建一个新的最新检查点。

注意:Model Analyzer 不会清理旧的检查点。它仅保证具有最高整数索引的检查点是具有最新测量结果的检查点。如果您想开始全新的运行,则应在连续运行 model-analyzer profile 命令之间删除检查点目录。