Evolution Gym으로 "가상 생물"을 진화시키는 방법


Evolution Gym 소개


Linux로 인공 생명 관계를 이동하는 프로그램Evolution Gym을 쓰는 방법.
인공 생명이 무엇인지, 에볼루션 Gym이 무엇인지는 아래 책과 노트를 참고하세요.
https://amzn.to/3JcL8rF
https://note.com/mizuki_oka/n/n1719412f641b
상기 노트와 노트의 기사에 소개된 Evolution Gym 자습서를 읽으면 이동 방법을 알 수 있지만 예에 따라 다양한 매력이 있을 수 있으니 노트 대신 이동 방법을 적어보자.
리눅스가 있어서 해보고 싶은 사람.Evolution Gym에 관심이 있으시다면 어떻게든 움직여 보시는 분들의 참고가 되었으면 좋겠습니다.

Evolution Gym의 이동 방법


환경은 Linux 시스템입니다.GPU가 사용되지 않습니다.PC 구성 상세 정보 및 설정을 확인하려는 사람은 다음 기사를 참조하십시오.
https://karaage.hatenadiary.jp/entry/2021/09/27/073000
그나저나 환경적으로도 구글 콜라보레이터(Google Colab)와 맥북 에어(애플 Silicon)를 시도했지만 일찌감치 포기했다.WSL2(Windows)일 경우 이동할 수 있습니다.

설정 방법


가상 환경으로pyenv를 사용했습니다.다음 기사를 참조하십시오.
https://zenn.dev/karaage0703/articles/5af7ce4b8b1a8a
pyenv를 설치한 후 다음 명령을 실행하여 환경을 구축합니다.
$ pyenv virtualenv 3.8.12 evogym
$ pyenv global 3.8.12/envs/evogym
$ sudo apt update
$ sudo apt install -y xorg-dev libglu1-mesa-dev
$ cd && git clone --recurse-submodules https://github.com/EvolutionGym/evogym.git
$ cd evogym
$ sed -e s/git:/https:/g requirements.txt > requirements_tmp.txt
$ cp requirements_tmp.txt requirements.txt 
$ python3 -m pip install -r requirements.txt
$ python setup.py install
내 환경(NVIDIA RTX3060)에서 CUDA 버전의 관계로 PyTorch가 정상적으로 작동하지 못하기 때문에 다음과 같이 나는pyTorch의 CPU 버전을 다시 설치했다.필요에 따라 실행하십시오.
$ python3 -m pip uninstall torch torchvision torchaudio
$ python3 -m pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cpu

동작 확인


다음 명령을 사용하여 테스트할 수 있습니다.
$ cd ~/evogym/examples
$ python3 gym_test.py
가상 생명체가 시작되면 OK라는 창이 나타납니다.

Evolution Gym의 학습


동작이 확인된 디렉토리와 같은 곳에서 다음 명령을 수행한 후 GA를 통해 학습한다.
$ python3 run_ga.py --env-name "Walker-v0" --algo ppo --use-gae --lr 2.5e-4 --clip-param 0.1 --value-loss-coef 0.5 --num-processes 4 --num-steps 128 --num-mini-batch 4 --log-interval 100 --use-linear-lr-decay --entropy-coef 0.01 --eval-interval 50
상기 매개 변수는 처음에 소개한 note 글의 명령을 사용합니다.
학습이 끝나면 다음 명령을 사용하여 애니메이션 GIF 파일을 만듭니다.
$ python3 make_gifs.py
실행이 완료되면 다음 디렉토리에 애니메이션 GIF가 저장됩니다.saved_data/all_media/test_ga/

기타


무대 변경 등, 이것저것 거의 다 됐다.조사 중이라 수시로 추기하기도 한다.

총결산


에볼루션 지엠, 유전 알고리즘으로 수수께끼 같은 생명체(가상 생물)를 쉽게 만들 수 있어 기쁘네요.
나는 각양각색의 것을 시도하고 싶다.
https://amzn.to/3JcL8rF

관련 보도


https://karaage.hatenadiary.jp/entry/2018/09/14/073000

좋은 웹페이지 즐겨찾기