1. 程式人生 > 其它 >tensorflow2 tf2 DDPG演算法玩立棍小遊戲

tensorflow2 tf2 DDPG演算法玩立棍小遊戲

 DDPG演算法就不做過多解讀了,就是用來進行連續值預測,本文是使用DDPG進行立棍小遊戲,詳細過程解讀註釋在程式碼中,演算法和模型都非常簡單,考驗的是基礎,使用兩個全連線模型,相互配合更新,共同讓整個模型進步,所以本篇文章不再對演算法做過多解釋

 

 

訓練日誌 :

觀察加權分數,可以看到分數波動是非常劇烈的,但通過多次探索後,會以極快的速度達到遊戲設定的滿分3000分

加權得分 : 0.995累計獎勵 + 0.005 最新獎勵

....

 ....

 ...

 

版本:

python 3.9

tensorflow-gpu 2.6.0

 

除上述程式碼意外,其他環境準備

# 解決 tensorflow2 載入模型時報錯的問題
# pip install keras==2.6.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
 
# 遊戲環境完善
# pip install gym -i https://pypi.tuna.tsinghua.edu.cn/simple
# pip install ale-py  -i https://pypi.tuna.tsinghua.edu.cn/simple
# pip install gym[accept-rom-license] -i https://pypi.tuna.tsinghua.edu.cn/simple
 
# 安裝後會報一些錯,但測試已經可以執行
# pip install gym[all] -i https://pypi.tuna.tsinghua.edu.cn/simple

  

完整程式碼:

MouseDay/ddpg

 

ddpg                                            // 目錄,儲存了詳細的日誌檔案
all_model.py                                    // 模型檔案
begin.py                                        // 程式碼執行入口
cjs_util.py                                     // 工具類,主要是處理遊戲執行資料,寫入日誌
env.py                                          // 遊戲環境檔案
replay_memory.py // 遊戲執行資料快取檔案