MacでRL-Glueを使う

2010-01-04 (月) 11:11:57 (2899d) | Topic path: Top / 強化学習 / MacでRL-Glueを使う

はじめに

RL-Glue」はRL-Communityが開発している強化学習プラットフォームです. (本家ではインターフェースと説明しています.)

RL-Glueを動かすには,次の4つのコンポーネントが必要です.

  • RL-Glue Core
  • 実験
  • 環境
  • エージェント

ここでは,実験とエージェントを2種類ずつダウンロードして動かす方法についてメモしておきます.

次の環境で確認しました.

  • Mac OS X 10.6.2

必要なもの

とくにありません.

ダウンロード

RL-Glue Core

「Download RL-Glue Core」をクリックしてGoogle Codeのページへ移動し,Mac OS X : Disk Image (Intel Only)から「Mac OS X RL-Glue Core Project and C/C++ Codec Disk Image 3.04」をクリックしてRL-Glue-3.04-and-C-Codec.dmgをダウンロードします.

Sample Experiment RL-Viz (Java)

Sample Experiment RL-Viz (Java)の「Download and Installation Instructions」のところにあるdownload linkをクリックし,SampleExperimentRLVizApp-Java-R1306.tar.gzをダウンロードします.

Sample Experiment RL-Glue (Java)

Sample Experiment RL-Glue (Java)の「Download and Installation Instructions」のところにあるdownload linkをクリックし,SampleExperimentRLGlue-Java-R1306.tar.gzをダウンロードします.

Mountain Car (Java)

Mountain Car (Java)の「Download and Installation Instructions」のところにあるdownload linkをクリックし,MountainCar-Java-R1308.tar.gzをダウンロードします.

Sarsa Lambda Tile Coding (Java)

Sarsa Lambda Tile Coding (Java)の「Download and Installation Instructions」のところにあるdownload linkをクリックし,EpsilonGreedyTileCodingSarsaLambda-Java-R30.tar.gzをダウンロードします.

Random (Java)

Random (Java)の「Download and Installation Instructions」のところにあるdownload linkをクリックし,RandomAgent-Java-R1306.tar.gzをダウンロードします.

インストール

基本的には,サイトの指示に従えばできます.

RL-Glue Core

まず最初に,RL-Glue Coreをインストールします. ダウンロードしたディスク・イメージをダブル・クリックし,ディスク・イメージに含まれるインストーラーを実行します.

その他

それ以外は一度にインストールできます. ただし,ダウンロードしたtarファイルをダブル・クリックして展開すると,ディレクトリー構成が制作者が意図したものと違うものになってしまいます. したがって,tarコマンドを使って展開します.

まず,好きな所にrl-libraryというディレクトリーを作成します.

mkdir rl-library
cd rl-libarary

このフォルダーダウンロードしたtarファイルを移動します.

tarコマンドで展開します.

tar -xvf SampleExperimentRLVizApp-Java-R1306.tar.gz
tar -xvf SampleExperimentRLGlue-Java-R1306.tar.gz
tar -xvf MountainCar-Java-R1308.tar.gz
tar -xvf EpsilonGreedyTileCodingSarsaLambda-Java-R30.tar.gz
tar -xvf RandomAgent-Java-R1306.tar.gz

使い方

RL-Viz

SampleExperimentRLVizApp-Java-R1306ディレクトリーに移動し,"run.bash"を実行します.

cd SampleExperimentRLVizApp-Java-R1306
bash run.bash

RLVizAppウィンドウのStartボタンを押すと,実験が始まります.

RLVizApp.png
EnvironmentVisualizer.png

RL-Glue

SampleExperimentRLGlue-Java-R1306ディレクトリーに移動し,run.bashを実行します.

cd SampleExperimentRLGlue-Java-R1306
bash run.bash

実行結果は次のようになります.

% bash run.bash
Starting up RL-glue - PID=25980
RL-Glue Version 3.04, Build 909
RL-Glue is listening for connections on port=4096
	RL-Glue :: Agent connected.
	Agent Codec Connected
RL-Glue Java Experiment Codec Version: 2.07 (Build:836M)
	Connecting to 127.0.0.1 on port 4096...
	Experiment Codec Connected
	RL-Glue :: Experiment connected.
RL-Glue Java Environment Codec Version: 2.07 (Build:836M)
	Connecting to 127.0.0.1 on port 4096...
RL-Glue Java Agent Codec Version: 2.07 (Build:836M)
	Connecting to 127.0.0.1 on port 4096...
	RL-Glue :: Environment connected.
	Environment Codec Connected
Running: 10 with a cutoff each of: 10000 steps.
Episode: 1	 steps: 10000
Episode: 2	 steps: 10000
Episode: 3	 steps: 10000
Episode: 4	 steps: 10000
Episode: 5	 steps: 10000
Episode: 6	 steps: 10000
Episode: 7	 steps: 10000
Episode: 8	 steps: 10000
Episode: 9	 steps: 10000
Episode: 10	 steps: 8543

-----------------------------------------------

Number of episodes: 10
Average number of steps per episode: 9854.3
Average return per episode: -9853.3
-----------------------------------------------

run.bashの中に使用する環境とエージェントが書かれていますので,これを変更すると他の環境やエージェントで試すことができます.

また,run.bashの中にはsrcディレクトリーにあるSampleExperiment.javaのコンパイルも含まれていますので,実験のパラメーター(エピソード数,打ち切りステップ数)や表示メッセージを変更する場合は,ソース・コードを変更してからrun.bashを実行します.

添付ファイル: fileEnvironmentVisualizer.png 444件 [詳細] fileRLVizApp.png 448件 [詳細]
トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS