iT邦幫忙

2023 iThome 鐵人賽

DAY 29
0
AI & Data

ㄟ唉廚房交響樂 多智能的煮飯秀系列 第 29

Day29 MADDPG run maddpg

  • 分享至 

  • xImage
  •  

最後倒數第二篇了,真的是感嘆萬千,前面介紹完了MADDPG與環境,這一章最後來跑實做

maddpg

這個也是OpenAI的一個專案,雖然用的是tensorflow有點怕,pytorch用的太爽了… 一時看到tensorflow有點像是看到前女友,不想看到但又有種懷念的感覺?反正跟tensorflow的愛恨情愁都過去了我們就一起來跑安裝跟實驗吧!

git clone git@github.com:openai/maddpg.git
cd maddpg
pip install -e

Tensorflow的話我的版本是1.14,protobuf後面可能會遇到問題,可以先降版本

pip install tensorflow-gpu==1.14.0
pip uninstall protobuf
pip install protobuf==3.19.0

套件都安裝好後,要另外在~/.bashrc 裡面加上一個環境變數,讓程式碼在跑得時候可以到 multiagent-particle-envs 撈出環境相關的api

export PYTHONPATH=$PYTHONPATH:[your path of multiagent-particle-envs]

這邊都可以的話就可以來訓練程式碼了

Run code

很簡單的,只要一行就可以跑訓練,scenario後面的參數,就看你要用哪些環境訓練模型

python train.py --scenario simple

另外在 experiments/train.py 的 -save-dir 參數,預設是會在 /tmp/policy/。Linux 沒問題,但跑Windows的朋友可能就要注意了,這邊可能會需要改一下,因為我不太確定Windows的這個路徑是否為可行的。

如果模型都訓練好了,可以後面家一段 —display 就可以視覺化看跑得結果囉!

python train.py --scenario simple --display

https://ithelp.ithome.com.tw/upload/images/20231007/20121110q7GmuNQx8A.png
另外,在跑 train 的時候,訓練結尾可能會在rew_file_name = arglist.plots_dir + arglist.exp_name + '_rewards.pkl’ 跳出屬性問題,因為我沒深入這個原因,折衷方案我直接給兩個新變數

# 182 註解掉 
#rew_file_name = arglist.plots_dir + arglist.exp_name + '_rewards.pkl'
# 185 註解掉
# agrew_file_name = arglist.plots_dir + arglist.exp_name + '_agrewards.pkl'
# 182 下面新增
rew_file_name = 'test_rewards.pkl'
# 185 下面新增
agrew_file_name = 'test_agrewards.pkl'

以上這是一個臨時的方法,但如果要做實驗結果的管理,可能還是要找一下原因,會用別的方法去替代原本的功能。

結語

終於把第三個範例給介紹完成,雖然照順序來說,第三個粒子的分享應該放在第一個,但因為三個範例彼此關聯性與延續性不大,所以就先放比較好玩的AI社區介紹,但第三個應該會跟我未來的研究會比就有關係,如果對這方面有興趣,都歡迎跟我聯繫!


上一篇
Day28 MADDPG multiagent-particle-envs
下一篇
Day30 The end
系列文
ㄟ唉廚房交響樂 多智能的煮飯秀30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言