※CoI: PyTorch-Lightning のcontributor (Checkpointing周り) です
比較
wrapper | checkpoint | local/remote | resume/nullable |
---|---|---|---|
Catalyst | ☑ | ☑ / □ | ☑ / ? |
Lightning | ☑ | ☑ / ☑ | ☑ / ☑ |
Ignite | ☑ | ☑ / △ | ☑ / ? |
△: no direct support, but implementable (handler argument / hook point / BaseClass)
Catalyst
APIs
- catalyst.utils.checkpoint
- .pack_checkpoint: 保存対象を引数にしてパック (チェックポイントobj化)
- .unpack_checkpoint: チェックポイントobjとapply対象を引数にしてunpack
- .save_checkpoint: チェックポイントobjを指定dir/fileに書き込み (defaultはtorch.saveで保存?)
- .load_checkpoint: ファイルからチェックポイントobjのread
実装
リモートcheckpointは不可 (os.mkdir使ってる).
- catalyst.callbacks.checkpoint
- .CheckpointCallback
- .IterationCheckpointCallback
- (.ICheckpointCallback)
- (.BaseCheckpointCallback)
PyTorch Ignite
APIs
- ignite.handlers.Checkpoint
save_handler
argument enable non-local save
- ignite.handlers.DiskSaver
- ignite.handlers.ModelCheckpoint
Checkpoint
Checkpointをインスタンス化するときにSaver (save_handler)を渡す.
contribにリモートへ保存するフックがある...?
ignite.contrib.handlers.trains_logger.TrainsLogger