Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- MuJoCo2.1.5
- 우분투
- Robot
- jupyter
- wsl2
- TensorFlow
- python3
- Baselines
- 강화학습
- Melodic
- mujoco-py
- RemoteDesktop
- 무조코
- python
- pyTorch
- WSL
- Physics
- Ros
- OpenAI
- MuJoCo
- Anaconda
- bindings
- Reinforcement Learning
- systemctl
- Robotics
- GYM
- 주피터랩
- JupyterLab
- simulation
- ubuntu
Archives
- Today
- Total
Creative-Chan
JupyterLab에서 OpenAI Gym, MuJoCo 화면 출력 본문
Machine Learning/Reinforcement Learning
JupyterLab에서 OpenAI Gym, MuJoCo 화면 출력
Creative.Chan 2022. 4. 20. 16:53JupyterLab은 Interactive python 어플리케이션으로 웹 기반으로 동작합니다.
웹 기반에서 가상으로 작동되는 서버이므로, 디스플레이 개념이 없어 이미지 등의 렌더링이 불가능합니다.
OpenAI gym 환경이나 mujoco 환경을 JupyterLab에서 사용하고 잘 작동하는지 확인하기 위해서는 렌더링을 하기 위한 가상 디스플레이 설정이 필요합니다.
이러한 설정 없이 gym 환경을 rendering 한다면 다음과 같은 에러를 만날 수 있습니다.
GLFW error (code %d): %s 65544 b'X11: The DISPLAY environment variable is missing'
본 게시글에서는 JupyterLab에서 gym 환경을 렌더링 하는 법을 설명하고자 합니다.
IPython 라이브러리에서는 이러한 가상 디스플레이 환경을 설정하도록 지원하고 있기 때문에 간단한 코드 삽입 만으로 사용할 수 있습니다.
이 방식은 matplotlib의 figure plot을 활용하는 방식입니다.
그냥 plot을 사용하게 되면 매 step 마다 plot이 생성되어 끝없는 plot이 생성되는 것을 볼 수 있습니다.
import gym
from IPython import display # IPython 라이브러리에 있는 display 모듈을 사용합니다.
import matplotlib.pyplot as plt # plot을 활용.
env = gym.make('HalfCheetah-v3') # gym의 HalfCheetah 환경을 사용합니다.
observation = env.reset() # env.reset()을 통해 새로운 에피소드를 불러옵니다.
for _ in range(50):
screen = env.render(mode='rgb_array') # 현재 환경을 'rgb_array'로 출력하여 screen 변수로 저장합니다.
display.clear_output(wait=True) # display에 이미지를 지워줍니다. display하기 전에 하는 이유는 초기화하는 것으로 생각하면 됩니다.
display.display(plt.gcf()) # 현재 figure의 정보를 display에 출력합니다.
plt.imshow(screen) # screen 배열을 이미지로 출력합니다.
env.step(env.action_space.sample()) # sample action을 통해 다음 step으로 진행합니다.
plt.close() # 종료 후 plot을 닫습니다.
env.close() # 종료 후 env를 닫습니다.
위의 코드를 jupyter에 구현한 결과는 다음과 같습니다.
'Machine Learning > Reinforcement Learning' 카테고리의 다른 글
MuJoCo 2.1.5 설치 (0) | 2022.04.20 |
---|---|
[RL] OpenAI Baselines 설치하기 (0) | 2022.04.13 |
MuJoCo와 mujoco-py 설치 (0) | 2022.04.13 |
Comments