tensorflow2 tf2 DDPG演算法玩立棍小遊戲
阿新 • • 發佈:2022-03-17
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
完整程式碼:
ddpg // 目錄,儲存了詳細的日誌檔案 all_model.py // 模型檔案 begin.py // 程式碼執行入口 cjs_util.py // 工具類,主要是處理遊戲執行資料,寫入日誌 env.py // 遊戲環境檔案replay_memory.py // 遊戲執行資料快取檔案