0

私は torch==1.7.1 を使用して ubuntu 18.04 を使用しています

私がやりたいことは、強化学習エージェントを訓練し、それを別のサーバーに送信して、訓練されたエージェントがすぐにプレイできるようにすることです。

私はhttps://pytorch.org/tutorials/beginner/ Saving_loading_models.htmlに従っていますが、明確化が必要です。

すべてのトレーニングが終了したら、次の方法でエージェント、オプティマイザーを保存しました。

ckpt = {
    'Epoch': epoch,
    'model' : agent.state_dict(),
    'optimizer' : optimizer.state_dict()
}
torch.save(ckpt, filename)

ここで、この保存したファイルを別のサーバーに送信し、次のようにロードしました。

ckpt = torch.load(ckpt_FILE_PATH)

agent = Agent()
optimizer = optim.Adam(agent.parameters(), lr=0.0005)

agent.load_state_dict(ckpt["agent"])
optimizer.load_state_dict(ckpt["optimizer"])

agent.eval()

一つだけ確認したいことがあります。トレーニング段階でのエージェント インスタンスとオプティマイザの作成中に、次を使用してオプティマイザをインスタンス化しました。agent.parameters()

だから私の質問は私がする必要がありますか

  1. load_state_dict をエージェントに送信し、agent.parameters() を使用してオプティマイザーをインスタンス化します
  2. load_state_dict をエージェントにロードする前にオプティマイザーをインスタンス化するだけですか?
  3. 関係ない。

前もって感謝します。

4

0 に答える 0