-
강화학습 - Unity, Anaconda, ml-agents 환경설정 - 2전공 - IT/졸업작품 2023. 9. 16. 11:47
ml-agents를 이용하여 강화학습을 진행하기 위해 Unity, Anaconda, ml-agents를 설치했다
1편에서는 Unity, Anaconda 설치과정을 작성하고 2편에서는 ml-agents 관련내용을 작성했다
설치환경은 M1 MacBook Air 이며 Unity, Anaconda는 맥북에, ml-agents는 usb에 설치를 했다
!! 만약 usb와 같이 외부환경에 ml-agents를 설치할경우 대소문자 구분이 없어야 정상적으로 실행이 가능하다 !!
디스크 유틸리티에서 설치전에 대소문자 구분 관련내용을 확인하고 진행해야한다
https://ruang0124.tistory.com/292
USB 포맷 변경하기 ( 윈도우, 맥 호환)
파일을 다운받는데 4기가 이상 다운이 안 돼서 usb의 포맷을 변경했다 usb에 연결된상태로 디스크 유틸리티 클릭 설정할 수 있는 파일 형식에 대한 내용은 대충 위와 같다 나는 윈도우, 맥 호환가
ruang0124.tistory.com
1. ml-agents 파일 설치하기
터미널을 실행한 뒤 내가 설치하고자 하는 위치로 이동한다
설치위치에서 ml-agents파일을 설치한다
cd 설치하고자 하는 폴더의 위치
( 위 사진은 usb에 있는 cosmos라는 폴더이다 )
git clone --branch release_20 https://github.com/Unity-Technologies/ml-agents.git
( 2023.09.16 기준으로 release_20 버전이다 )2. anaconda를 이용해서 가상환경 생성하기
설치가 완료되면 ml-agents 폴더로 이동
이동후에 conda 명령어를 사용하여 가상환경을 생성한다
cd ml-agents
conda create -n 가상환경 이름 python=3.9진행할것인지 묻는데 y 입력해서 진행한다
다음으로 생성한 가상환경을 활성화시키고 ml-agents 실행에 필요한 파일을 설치한다
conda activate cosmos1
( 가상환경이 활성화되면 (base) 가 (가상환경이름) 으로 변경되었음을 볼 수 있다 )
pip install torch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1
( Pytorch 설치 -> 최신버전과는 호환성 문제가 있어서 이전버전으로 설치하면 좋다 )3. ml-agents 실행관련 파일 설치
가상환경에서 위의 명령어를 입력후 실행한다
brew install hdf5
export HDF5_DIR=/opt/homebrew/Cellar/hdf5/1.14.1/
pip install --no-binary=h5py h5py
( 위의 명령어는 설치에 실패했지만 문제되지않아서 계속 진행했다 )ml-agents라는 폴더로 들어가면 setup.py 라는 파일이 있다
수정할 내용이 있으므로 setup.py를 열어준다
cd ml-agents
vi setup.py쭉 내려가면 위에 초록색으로 되어있는 부분이 보인다
기존에 있는 내용은 앞에 # 을 추가하고 바로 아래줄에 아래의 내용을 추가해서 위와 같이 수정해준다
"torch>=1.8.0,<=2.0.1;(platform_system!='Windows' and python_version>='3.9')",
i를 누르면 수정모드로 변경되고 ESC 키를 누르면 보기모드로 변경된다
수정이 완료되었으면 보기모드에서 :wq 입력한뒤 엔터로 창을 닫아주면 된다다시 상위 폴더로 올라가서 추가적으로 설치를 진행한다
시간이 지나서 설치할경우 버전관련 문제가 생길 수 있으므로 에러가 발생한다면 버전을 수정해서 설치하면 될거같다
cd ..
pip install -e ./ml-agents-envs
pip install -e ./ml-agents
pip install --upgrade "protobuf<=3.20.1"
conda install grpcio4. Unity 예제 실행하기
설정에 Project location을 지정해준다
( 나중에 Project를 새로 생성하면 이 경로로 저장이 된다 )
지금은 Unity 에서 기본으로 제공해주는 예제를 대상으로 실행할 예정이다
Open 버튼을 누른 뒤 ml-agents -> Project 선택
예제 파일이 학습된 버전이 설치되어 있지 않아서 설치하라는 경고창이 나타난다
무시하고 현재 설치된 버전으로 진행한다
현재 설치된 버전으로 진행
( 과거의 버전을 추가적으로 설치해서 진행해도 괜찮아요 )
버전이 맞지 않는다는 경고창이 나타나지만 무시하고 진행
위와 같이 초기화면이 나타난다
Asset -> ML-Agents -> Examples -> 3DBall -> Scenes -> 3DBall 을 선택
위에 재생버튼을 누르면 학습이 완료된 예제를 실행할 수 있다
5. Unity 학습 하기
이번에는 내가 처음부터 학습을 시켜보기로 했다
Asset -> ML-Agents -> Examples -> 3DBall -> Prefabs -> 3DBall 선택
왼쪽상단에 Agent를 클릭하면 오른쪽에 세부정보가 표시된다
오른쪽 중간부분에 파란색으로 선택되어있는 Model을 None으로 설정한다
학습은 ml-agents/config/ppo/3DBall.yaml 파일을 이용해서 진행한다
mlagents-learn config/ppo/3DBall.yaml --run-id=폴더 이름 입력
--run-id= 폴더 이름 입력
이 부분은 내가 학습할 내용이 저장되므로 폴더이름은 중복되면 오류가 발생한다Unity 에서 실행버튼을 누르면 위와 같이 학습한 내용이 실시간으로 반영된다
cosmosTest1 폴더로 이동하면 3DBall.onnx 로 되어있는 학습된 결과 파일이 있다
ml-agents/results/파일이름/3DBall.onnx
위에서 학습완료된 파일을 복사한 뒤 위의 경로에 붙여넣으면 학습모델을 확인할 수 있다
ml-agents/Project/Assets/ML-Agents/Examples/3D Ball/TFModels
학습모델 붙여넣기 전의 모습
학습모델 붙여넣은 후의 모습
+ 추가
Anaconda 에서 보면 위와 같이 cosmos1 이라는 내가 생성한 가상환경이 생성되었음을 확인할 수 있다
728x90'전공 - IT > 졸업작품' 카테고리의 다른 글
강화학습 - Unity, Anaconda, ml-agents 환경설정 - 1 (0) 2023.09.16 Contiki 2.7 - VMWare 에 설치하기, 저장공간 확보 (0) 2023.08.22 Chapter 6 (0) 2023.08.01 Chapter 5 (0) 2023.07.31 Ubuntu(22.04) - Contiki 설치하기 (0) 2023.07.29