티스토리 뷰
[RL] mujoco_py 실행시 ERROR: GLEW initalization error: Missing GL version 해결
생각많은 소심남 2018. 10. 24. 10:13아마 로봇과 관련된 강화학습을 시도하려다 보면 거의 한번쯤 마주치게 될 것이 mujoco라는 robot simulator이다. 그런데 아마 그리고 이를 실제로 python에서 개발하려면 openai에서 개발한 mujoco_py라는 wrapper를 활용하게 될 것이다. 그런데 아마 나와있는 가이드대로 설치하고 테스트하려다보면 다음과 같은 에러가 출력되는 경우가 있다.
ERROR: GLEW initalization error: Missing GL version
mujoco에서는 Visualization시 그래픽 라이브러리로 OpenGL을 사용하는데, 위 오류는 mujoco에서 요구하는 opengl을 찾지 못했다는 것이다. 이는 현재 사용하는 PC상에 OpenGL라이브러리 (libGLEW.so, libGL.so)가 설치되어 있지 않아서 일수도 있고, 혹은 해당 프로그램 실행시 라이브러리 로드에 실패해서 일수도 있다.
우선 이 문제를 해결하기 위해서는 다음 Path에 위의 라이브러리가 있는지를 확인해본다.
/usr/lib/x86_64-linux-gnu/libGLEW.so
/usr/lib/nvidia-<현재 설치된 nvidia driver의 major version>/libGL.so
(* nvidia driver의 버전을 알고 싶으면 terminal에서 nvidia-smi -h를 수행해보면 된다. 그러면 상단에 나온다.)
$ nvidia-smi -h
NVIDIA System Management Interface -- v396.44
그리고 OpenGL특성상 프로그램에서 렌더링을 할경우 사전에 해당 라이브러리를 preload시켜줘야 하는데 이는 시스템 환경변수(LD_PRELOAD)를 활용한다.
$ export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libGLEW.so:/usr/lib/nvidia-396/libGL.so
이렇게 하면 mujoco 렌더링이 되는 것을 확인할 수 있다. 다음은 openai gym내의 FetchReach라는 env를 rendering해본 것이다.
(추가 :2020/04/27)
nvidia에서 기본적으로 제공하는 드라이버를 사용하다보면 libGL.so 가 위에서 명시한 폴더가 아닌 default library(/usr/lib/x86_64-linux-gnu/libGL.so)에 있는 경우가 있다. 또는 libGLEW.so가 없는 경우도 있는데 이 때는 설치해주고 LD_PRELOAD에 해당 경로를 지정해주면 된다.
$ sudo apt install libglew-dev libgl-dev
$ echo LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libGL.so:/usr/lib/x86_64-linux-gnu/libGLEW.so
'Study > AI' 카테고리의 다른 글
[RL] Total Control (0) | 2019.02.19 |
---|---|
[RL] Make It Happen (0) | 2019.02.14 |
[ML] Board Game Review Prediction (0) | 2019.02.07 |
[RL] Fully Observable와 Partially observable의 차이 (0) | 2018.10.22 |
[RL] CS285- Supervised Learning of Behaviors (2) (0) | 2018.10.21 |
[RL] CS285 - Supervised Learning of Behaviors (1) (0) | 2018.10.17 |
[MLY] Machine Learning Yearning Overview (1) | 2018.10.16 |
- Total
- Today
- Yesterday
- bias
- Kinect for windows
- Policy Gradient
- windows 8
- Distribution
- reward
- 강화학습
- DepthStream
- RL
- 딥러닝
- PowerPoint
- Windows Phone 7
- Offline RL
- End-To-End
- arduino
- ai
- 파이썬
- 한빛미디어
- ColorStream
- processing
- SketchFlow
- dynamic programming
- Kinect SDK
- Off-policy
- TensorFlow Lite
- Gan
- Pipeline
- Expression Blend 4
- Variance
- Kinect
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |