【dqn_agent】DDQNAgentの使い方【Tensorflow&Keras】
Tensorflowを用いてDDQNプログラムを作成する際のagent設定方法について解説します。
Tensorflow&Kerasを用いて、DQNでCartpoleを制御するプログラムを作成した際に、これをDDQNに応用できないかと思い、やり方を調べました。
また、私たちのホームページではさまざまなエラーへの対処法について紹介しています。
dqnagentの問題点
Tensorflow&KerasでのDQNでは以下のようにAgentを定義します。
agent = dqn_agent.DqnAgent( train_env.time_step_spec(), train_env.action_spec(), q_network=q_net, optimizer=optimizer, td_errors_loss_fn=common.element_wise_squared_loss, train_step_counter=train_step_counter)
ウェブ上で、これをDDQNに対応させるには、引数として
enable_double_dqn = True
とすれば良い、という記載や、単純にddqn=Trueとする、などの記載がありますが、どちらもうまくいきませんでした。
おそらく、バージョンアップなどで引数の設定が変わってしまったのだと考えられます。
agentの解決策
使用する関数を
agent = dqn_agent.DdqnAgent( train_env.time_step_spec(), train_env.action_spec(), q_network=q_net, optimizer=optimizer, td_errors_loss_fn=common.element_wise_squared_loss, train_step_counter=train_step_counter)
にするとうまくいきます。DQNとの違いは、dqn_agent.DdqnAgent()にするだけです。
引数についてはDQNのものをそのまま引き継ぐことができます。
詳細はTensorflowのサイトにありますので、気になる方はご覧ください。
関連記事
- Shappackがpipインストールできない時の対処法諸事情でshappackが必要になったのでインストールし用としたところで行き詰まりました。 なんとか解決策を見… 続きを読む: Shappackがpipインストールできない時の対処法
- 【2023/11最新】M1MacでTensorflow環境を構築する方法こんにちは、くろです。最近急に寒くなってきましたね。 この記事ではM1MacにTensorflowを導入するま… 続きを読む: 【2023/11最新】M1MacでTensorflow環境を構築する方法
- 【dqn_agent】DDQNAgentの使い方【Tensorflow&Keras】Tensorflowを用いてDDQNプログラムを作成する際のagent設定方法について解説します。 Tenso… 続きを読む: 【dqn_agent】DDQNAgentの使い方【Tensorflow&Keras】
- M1MacでTensorflow環境を構築する【仮想環境】Tensorflowを使った強化学習を勉強しているのですが、M1MacでのTensorflow環境構築には工夫… 続きを読む: M1MacでTensorflow環境を構築する【仮想環境】