創作內容

0 GP

【紀錄】從零開始的強化學習紀錄Vol.2 輸出成執行檔由dopamine訓練

作者:武部虛│2019-09-08 01:45:23│巴幣:0│人氣:154
需……需要更多時間……
好想卯起來打MHWI啊啊啊啊啊啊啊啊
咳…...這次會需要用到google的dopamine框架
因為在windows上要執行的話需要更動裡面的程式碼,會很麻煩
所以這次的文章都是在ubuntu16.04上面操作的
ubuntu網路上有許多安裝方法,便不再詳述
dopamine的安裝可參考官方github
另外,有需要使用gpu訓練的話得再安裝cuda,這點要注意一下。

【本次的紀錄】
將環境輸出成執行檔
由dopamine框架做訓練
【將環境輸出成執行檔】
當環境設定好之後,測試也問題,便可以輸出成執行檔訓練
這方法的好處是訓練時不用開著unity的編輯器
在輸出前有些設定要調整
1.打開 PlayerSettings
2.在Resolution and Presentation一欄中,確認Run in Background有打勾,Display Resolution Dialog沒有打勾。
確定好就可以輸出了。

【由dopamine框架做訓練】
上一步做完得到供訓練的執行檔之後,用這執行檔就可以使用其他框架來訓練
以dopamine來訓練的話,需要使用unity_gym函式庫來將執行檔打包成Open AI gym的環境,
為此會需要做一些更動:
1.先將整個dopamine從github下載下來,照步驟安裝完後,進到discrete_domains資料夾,將裡面的atari_lib.py複製一份並重新命名為ml_lib.py(檔名隨意)。
2.打開ml_lib.py,在import那邊加上:
from gym_unity.envsimport UnityEnv
再將create_atari_environment函式改成create_ml_environment(名稱一樣隨意)並將內容修改如下:
game_version = 'v0' if sticky_actions else 'v4'
full_game_name = '{}NoFrameskip-{}'.format(game_name,game_version)
env = UnityEnv('./envs/GridWorld', 0, use_visual=True,uint8_visual=True)
return env
./envs/GridWorld是執行檔路徑,不同的話要再另外改。
3.打開同資料夾下的run_experiment.py,在import那邊多加一行:
fromdopamine.discrete_domains import ml_lib
4. 切到agents\rainbow\configs資料夾,建立一個(或複製rainbow.gin)檔案命名為rainbow_ML.gin,將內文修改成:
import dopamine.agents.rainbow.rainbow_agent
import dopamine.discrete_domains.atari_lib
import dopamine.discrete_domains.run_experiment
import dopamine.replay_memory.prioritized_replay_buffer
import gin.tf.external_configurables
RainbowAgent.num_atoms = 51
RainbowAgent.stack_size = 1
RainbowAgent.vmax = 10.
RainbowAgent.gamma = 0.99
RainbowAgent.update_horizon = 3
RainbowAgent.min_replay_history = 20000  # agent steps
RainbowAgent.update_period = 5
RainbowAgent.target_update_period = 50  # agent steps
RainbowAgent.epsilon_train = 0.1
RainbowAgent.epsilon_eval = 0.01
RainbowAgent.epsilon_decay_period = 50000  # agent steps
RainbowAgent.replay_scheme = 'prioritized'
RainbowAgent.tf_device = '/gpu:0' # use '/cpu:*' for non-GPU version
RainbowAgent.optimizer = @tf.train.AdamOptimizer()
tf.train.AdamOptimizer.learning_rate = 0.00025
tf.train.AdamOptimizer.epsilon = 0.0003125
create_agent.agent_name = 'rainbow'
Runner.create_environment_fn = @ml_lib.create_ml_environment
Runner.num_iterations = 200
Runner.training_steps = 10000 # agent steps
Runner.evaluation_steps = 500 # agent steps
Runner.max_steps_per_episode = 27000  # agent steps
WrappedPrioritizedReplayBuffer.replay_capacity = 1000000
WrappedPrioritizedReplayBuffer.batch_size= 32
如果不用gpu訓練,device那行要改成cpu。
最後,打開終端機,切到dopamine資料夾,輸入:
python -um dopamine.unity.train \
  --agent_name=rainbow \
  --base_dir=/tmp/dopamine \
--gin_files='dopamine/agents/rainbow/configs/rainbow_ML.gin'
就可以開始訓練了。
訓練結果可以用tensorboard來查看。
要注意的是,給dopamine訓練的話,它預設輸入是84*84,灰階的畫面
所以unity方面要用視覺化的方式來觀測,不過我還沒研究過
下次用到了會再寫上來
那麼,今天的紀錄就到這裡
如果有什麼錯誤的地方歡迎在下面留言或是來信告知,感謝!


引用網址:https://home.gamer.com.tw/TrackBack.php?sn=4521939
All rights reserved. 版權所有,保留一切權利

相關創作

留言共 0 篇留言

我要留言提醒:您尚未登入,請先登入再留言

喜歡★kkaa0000 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:【紀錄】從零開始的強化學... 後一篇:【模型製作】壽屋-KOJ...

追蹤私訊切換新版閱覽

作品資料夾

chanxin95107所有老師們
翻譯菜鳥一枚,放了些蔚藍檔案的翻譯作品在小屋裡,有興趣的歡迎挑看選看( • ̀ω•́ )✧看更多我要大聲說昨天20:10


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】