PyTorch でトレーニング済みのモデルを保存するにはどうすればよいですか? 次のことを読みました:
torch.save()
/torch.load()
シリアル化可能なオブジェクトを保存/読み込むためのものです。model.state_dict()
/model.load_state_dict()
モデルの状態を保存/読み込むためのものです。
ベストアンサー1
見つかったこのページ彼らのgithubリポジトリで:
モデルを保存するための推奨アプローチ
モデルをシリアル化して復元するには、主に 2 つの方法があります。
最初の方法(推奨)では、モデル パラメータのみが保存およびロードされます。
torch.save(the_model.state_dict(), PATH)
じゃあ後で:
the_model = TheModelClass(*args, **kwargs) the_model.load_state_dict(torch.load(PATH))
2 番目はモデル全体を保存して読み込みます。
torch.save(the_model, PATH)
じゃあ後で:
the_model = torch.load(PATH)
ただし、この場合、シリアル化されたデータは特定のクラスと使用される正確なディレクトリ構造にバインドされるため、他のプロジェクトで使用したり、重大なリファクタリングを行ったりすると、さまざまな方法で壊れる可能性があります。
参照:モデルを保存して読み込む公式 PyTorch チュートリアルのセクション。