Google Research Football Environment(GRF) を Windows 10 Pro (64bit) + Docker Desktop + Ubuntu 18.04 にOn Your Computerでセットアップしてみます。
以前の、Ubuntu 18.04 に Google Research Football Environment をセットアップ(1)ではVirtualBox を介してましたが、こっちのほうがCPUを一杯々々使えるので、ちょっとだけ高速になります。
Docker Desktop for Windows のインストールやUbuntu コンテナーの作成などは
Docker Desktop for Windows を試してみる
をご参照ください。
今回は上記のページで使っている名前(myubuntu)をgrf-ubuntu に変えてやってみます。
PowerShellを起動
Docker HubからUbuntu 18.04のイメージをお借りします。
1 |
docker pull ubuntu:18.04 |
コンテナーを作成して起動します。
1 2 3 |
docker run -d -it --name=grf-ubuntu ubuntu:18.04 docker start -i grf-ubuntu |
アップデート&アップグレードしておきます。
apt update
apt upgrade -y
セットアップを開始します。
若干アレンジしています。
1.Install required packages
apt install git cmake build-essential libgl1-mesa-dev libsdl2-dev \libsdl2-image-dev libsdl2-ttf-dev libsdl2-gfx-dev libboost-all-dev \libdirectfb-dev libst-dev mesa-utils xvfb x11vnc libsdl-sge-dev python3-pip -y
2b.Installing from sources using GitHub repository
1 2 3 4 5 6 7 8 9 10 11 |
git clone https://github.com/google-research/football.git cd football apt install python3-venv -y python3 -m venv football-env source football-env/bin/activate pip3 install scikit-build pip3 install . |
セットアップ完了。
若干Warningらしきものが出ていますが、無問題です。
3. Time to play!
GUI表示にX Window Serverを使います。ServerのインストールなどはDocker Desktop for Windows で X Window を使ってGUI表示をご参照ください。
VcXsrv起動時にオプションで「-nowgl」を追加する必要があります。
手順は以下のようにします。
ここで「-nowgl」オプションを追加します。
gfootball起動
PCのIPアドレスが例えば192.168.0.23だとしてDISPLAYの環境変数を設定して起動します。
1 2 |
export DISPLAY=192.168.0.23:0.0 python3 -m gfootball.play_game --action_set=full |
サウンドカードが機能していない場合はALSA系のエラーが出ますが、気にしない。
初期画面
しばらくするとGameが開始されます。
終了する場合はPowesrShellのコンソールで、Ctrl + C
Dumpファイルが作成されています。
(football-env) root@a92b286db6e4:/tmp/dumps# ls
episode_done_20201107-214216907708.dump episode_done_20201107-215331195595.dump shutdown_20201107-215105081866.dump
episode_done_20201107-214933642372.dump shutdown_20201107-214248238171.dump shutdown_20201107-215420255553.dump
仮想環境を抜けます。
deactivate
終了。
exit
再起動する場合
X Serverを起動
PowerShellを起動
1 2 3 4 5 6 7 8 9 |
docker start -i grf-ubuntu cd football python3 -m venv football-env source football-env/bin/activate export DISPLAY=192.168.0.23:0.0 python3 -m gfootball.play_game --action_set=full |
Dockerfile
注意点が1つ。
オリジナルのプロシジャーを実行すると途中でタイムゾーンの設定をインターラクティブに聞いてくる箇所がありますが、Dockerfileでは現状そんな器用なことはできません。環境変数の設定で回避します(3~5行、ベースでUbuntu 18.04を使っている固有の問題なんだそうです)。
で、Dockerfileはこんな感じになります。
PowerShellを起動して適当なフォルダーを作ってそこにファイルを置きます(エディターは何でもいいですが、例えばEmEditorを使った場合)。
1 2 3 |
mkdir docker cd docker emeditor Dockerfile |
【Dockerfile】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
FROM ubuntu:18.04 ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update && apt-get install -y tzdata ENV TZ=Asia/Tokyo RUN apt-get update && apt-get upgrade -y && apt-get install -y git RUN apt-get install cmake build-essential libgl1-mesa-dev libsdl2-dev -y RUN apt-get install libsdl2-image-dev libsdl2-ttf-dev libsdl2-gfx-dev libboost-all-dev -y RUN apt-get install libdirectfb-dev libst-dev mesa-utils xvfb x11vnc libsdl-sge-dev python3-pip -y RUN git clone https://github.com/google-research/football.git WORKDIR /football RUN apt-get install python3-venv -y RUN python3 -m venv football-env RUN . football-env/bin/activate RUN pip3 install scikit-build RUN pip3 install . |
イメージをビルドしてみます。
1 |
docker build -t ubuntu:grf . |
だいたい4~5時間かかりました。
最後にimage、layerがexportされて終了。
Leave a Reply