Mujoco-py 설치법

이정운·2022년 3월 27일
1

강화학습 연구 실험에 많이 사용되는 시뮬레이션 중에 하나인 Mujoco-py를 설치하는 방법에 대해서 다루려고 한다.

원래 Mujoco는 python을 지원하지 않았지만 OpenAI에서 License를 구입하고 강화학습을 연구하는 사람이 편하게 사용할 수 있또록 Python Library로 만들어서 배포하였다. 하지만 설치가 쪼~~~끔 까다로우니 차근차근 따라오면 좋겠다.

설치 환경은 Ubuntu20.04이며 16.04 시리즈 이상이면 모두 정상 작동한다.

아래 링크는 설치 메뉴얼이고 각 step별로 차근차근 따라가면서 MuJoCo를 설치해 보자.
https://docs.google.com/document/d/1eBvfKoczKmImUgoGMbqypODBXmI1bD91/edit

주의할 점은 윈도우와 VM ware같은 가상 환경은 지원하지 않는다. Mac은 시험해 본 적이 없어서 잘 모르겠고 그냥 운영 체제를 리눅스로 설정하고 안전하게 사용하자.

Install Anaconda

Mujoco-py를 아나콘다 가상 환경에 넣을 것이기 때문에 Linux로 Anaconda를 설치한다. 이건 뭐 쉬우니 더 설명은 하지 않도록 하겠다.

Anaconda를 다 설치했다면 MuJoCo를 담을 Conda Virtual 환경을 하나 만들자. 그거 만드는 방법은 따로 설명하지 않을 것이므로 모르는 사람은 검색을 통해 배워 오자. (엄청 쉬우니 겁먹지 마시길 )

Install the MuJoCo Library

1. MuJoCO Library Download

https://mujoco.org/download/mujoco210-linux-x86_64.tar.gz

이 주소를 입력해 MuJoCo 압축 파일을 받아 오자

2. Create a Hidden Folder

terminal를 켜고 mkdir/home/username/.mujoco 를 입력해 mujoco 파일을 담을 Hidden Folder를 하나 만들자. Hidden folder가 보이지 않는 사람은
파일 홈에 들어간 후 숨긴 파일 표시를 누르면 숨겨진 .mujoco 파일을 발견할 수 있다.

3. Extract the library to the .mujoco folder

아까 다운 받았던 Mujoco 압축 파일을 .mujoco에 압축 해제하자.

이렇게 압축 해제를 완료했다면 우선 첫 단계는 성공적으로 완료하였다.

4. Include these Lines in .bashrc file

이 부분이 MuJoCo 설치에서 제일 많이 에러가 나는 부분이고 여기에서 문제가 없으면 거의 다 설치했다고 보면 된다. 딱 정신을 차리도록 하자

우선 파일/홈으로 들어가서
.bashrc 파일을 클릭해 들어가자 그리고 쭉 내려서

conda initialize위와 enable programmable completion 사이에

export LD_LIBRARY_PATH=/home/user_name/.mujoco/mujoco210/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/nvidia
export PATH="$LD_LIBRARY_PATH:$PATH"
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libGLEW.so

이걸 전체 복사해서 붙여넣기 하자. 여기서 use_name은 본인의 우분투 username을 입력해야 한다.

자 보통은 이러면 무조건 에러가 난다. 왜?? 대부분의 컴퓨터에 libGLEW가 없을 것이기 때문이다.

이유는 두 가지다.

첫 번째 이유 : Nvidia Driver와 Cuda가 없다.
이런 경우는 검색을 해서 자신의 그래픽 카드에 맞는 Nvidia Driver와 Cuda를 설치하고 오자.

두 번째 이유: Nividia Driver와 Cuda는 설치가 되었지만 libGLEW가 설치되지 않아 preload가 잡히지 않는 경우다.

대부분 두 번째 이유로 MuJoCo-py가 실행되지 않을 것이다. 이때는 LibGLEW.so를 설치해주고 LD_PRELOAD에 해당 경로를 지정해주면 된다.

$ sudo apt install libglew-dev libgl-dev

terminal에서 위 명령어를 입력하고 LibGLEW.so를 다운 받자. 그리고

$ echo LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libGL.so:/usr/lib/x86_64-linux-gnu/libGLEW.so를 입력해 해당 경로를 지정해 주자.

5. source .bashrc

이제 Terminal를 켜고 source .bashrc를 입력해서 저렇게 문제없으면 제대로 설치하였다. 만약 제대로 되지 않았다면 4번 과정에서 문제가 발생했을 가능성이 높으니 다시 차근차근 설치해 보길 바란다.

1. Install mujoco-py

이제 Mujoco-py를 담으려고 만들었던 가상 환경에 들어가서 명령어를 하나하나 입력하자

conda create --name mujoco_py python=3.8
conda activate mujoco_py
sudo apt update
sudo apt-get install patchelf
sudo apt-get install python3-dev build-essential libssl-dev libffi-dev libxml2-dev
sudo apt-get install libxslt1-dev zlib1g-dev libglew1.5 libglew-dev python3-pip

git clone https://github.com/openai/mujoco-py
cd mujoco-py
pip install -r requirements.txt
pip install -r requirements.dev.txt

pip3 install -e . --no-cache

2. Reboot your machine

끄고 다시 켜자

3. Run these commands

conda activate mujoco_py
sudo apt install libosmesa6-dev libgl1-mesa-glx libglfw3
sudo ln -s /usr/lib/x86_64-linux-gnu/libGL.so.1 /usr/lib/x86_64-linux-gnu/libGL.so
pip3 install -U 'mujoco-py<2.2,>=2.1'
cd examples
python3 setting_state.py

최종적으로 이게 나온다면 Mujoco-py를 제대로 설치한 것이다.

Experiment

https://github.com/pranz24/pytorch-soft-actor-critic
이 사이트를 이용해서 MuJoCo를 직접 실행해보길 바란다.

profile
헬스 ,강화학습,3D Vision,Robotics를 좋아하는 엔지니어 입니다.

0개의 댓글