たれぱんのびぼーろく

わたしの備忘録、生物学とプログラミングが多いかも

PyTorchラッパーとCheckpointing

※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使ってる).

PyTorch Ignite

APIs

Checkpoint

Checkpointをインスタンス化するときにSaver (save_handler)を渡す.
contribにリモートへ保存するフックがある...?
ignite.contrib.handlers.trains_logger.TrainsLogger