Windows에서 OpenAI/gym을 실행해보기

강화 학습을 배울 수 있는 툴킷으로서 OpenAI/gym 가 공개되고 있습니다.
파이썬의 개발 환경만 있으면 움직이고, ATARI의 게임이 몇개가 동봉되고 있는 것 외에, tensorflow등과 궁합이 좋다고 하는 것으로, 기계 학습의 공부에 대단히 효과가 있을 것 같습니다.

또한, 방금 최근 Windows 10 년에 한 번 업데이트, Anniversary Update가 공개되어 적용하여 무려 bash가 움직이게되었습니다. 여러 사람이 눈물을 흘렸을 것입니다.
우분투의 네이티브 라이브러리가 움직이는 것으로 파이썬 개발 환경과도 궁합이 좋다.

Windows 노트북 밖에 소유하지 않은 필자라도 OpenAI의 분위기를 느낄 수 있는 기회일지도 모릅니다.

이번에는 bash on Windows에서 openAI/gym을 움직여 보겠습니다.
(모두에 Vagrant라든지 사용하면 좋지만 새롭지 않기 때문에 이번에는 bash on Windows에 초점을 맞췄습니다)

bash on Windows 동작 확인



하기 atmarkIT씨의 기사가 참고가 됩니다.
Windows 10 Linux/Ubuntu 호환 환경에서 bash 사용

기본적으로는 아래의 순서를 밟습니다.
  • WSL 기능을 활성화한다.
  • 개발자 모드를 On으로 설정합니다.
  • 기동해, 패스워드등을 설정한다.

  • 결과적으로, "Bash on Ubuntu on Windows"라는 앱에 대한 바로 가기가 설치되어 있으면 성공입니다.

    Bash에 OpenAI / gym 설치



    설치된 bash on windows를 시작합니다.
    아래 명령으로 먼저 필요한 pip 명령을 설치합니다.
    sudo apt-get install python-pip
    그건 그렇고, 내 환경에서 python2.7이 설치되었습니다.

    그런 다음 pip 명령으로 필요한 라이브러리를 설치합니다.
    OpenAI/gym document
    sudo pip install gym

    Windows 측에 화면을 표시하는 Xming 설치



    bash on Windows는 개발 도중에 미실장의 기능도 많고, 화면 표시에 관한 부분도 포함됩니다.
    Running Linux desktop apps on the Windows Subsystem for Linux
    OpenAI/gym이 학습 결과 화면을 표시 할 때 X 화면을 사용하지만 bash on Windows에는 포함되어 있지 않습니다.
    대책으로서, 옛날부터 X의 화면을 Windows로 표시하는 프리의 소프트는 몇개나 개발되고 있기 때문에, bash와는 따로 그들을 인스톨하면 좋을 것입니다.

    필자는 아래 Xming을 사용했습니다.
    무료 Windows 용 X 서버 "Xming"의 설치 및 기본 설정, 사용법

    다음으로 bash on Windows에서 화면을 Xming으로 날리는 설정을 합니다.
    export DISPLAY=:0

    위에서 설정이 완료됩니다.
    완료되었는지 확인하려면 bash에서 X 화면을 사용하는 간단한 앱 xeyes를 실행하여 화면이 Xming으로 표시되는지 확인하면 됩니다.
    sudo apt-get install x11-apps
    xeyes&
    

    아래와 같이 새 창이 만들어지고 화면이 표시됩니다.


    간단한 OpenAI/gym 샘플 실행



    이번에는 위 문서의 가장 간단한 environment인 cartpole-v0을 실행합니다.
    일직선 위를 움직이는 카트 위에 글래그러 기울어지는 폴이 타고 있어, 카트를 전후시켜 도립시키는 시뮬레이션 앱입니다.
    bash에서 다음 소스 코드를 cartpole.py라는 이름으로 저장합니다.
    (에디터는 vi 등 무엇을 사용해도 괜찮습니다)

    cartpole.py
    import gym
    env = gym.make('CartPole-v0')
    env.reset()
    for _ in range(1000):
        env.render()
        env.step(env.action_space.sample())
    

    bash에서 소스 코드를 실행해보십시오.
    python cartpole.py

    결과적으로 이러한 화면이 Windows에 나옵니다.



    요약



    먼저 cartpole를 실행하고 OpenAI/gym이 Windows에서 움직이는 것을 확인했습니다. gym에는 여러 가지 앱이 들어있는 것 같아서 향후 시도해보고 싶습니다.

    좋은 웹페이지 즐겨찾기