본문 바로가기
디지털노마드

Unity ML-Agents 설치 가이드: Python 3.10.12 및 Conda 환경 설정

by 인텔리노마드라이프 2024. 6. 10.
728x90

안녕하세요. 인텔리원스튜디오(IntelliOneStudio)입니다.

오늘은 Unity ML-Agents 설치해볼께요. 

[오늘의 목표] Unity ML-Agents 설치하기

 

ML-Agents Toolkit 구성 요소

ML-Agents Toolkit은 여러 구성 요소로 되어있고 오늘은 두 개의 Python 패키지를 설치할거예요.

 

- Unity 패키지 (com.unity.ml-agents):

이 패키지에는 Unity 프로젝트에 통합될 Unity C# SDK가 포함되어 있습니다. ML-Agents를 시작하는 데 도움이 되는 샘플이 들어 있습니다.

 

- Unity 패키지 (com.unity.ml-agents.extensions):

이 패키지에는 기본 com.unity.ml-agents 패키지에 아직 포함되지 않은 실험적인 C#/Unity 구성 요소들이 포함되어 있습니다. com.unity.ml-agents.extensions는 com.unity.ml-agents에 직접적으로 의존합니다.

 

- 두 개의 Python 패키지:

mlagents:

Unity 장면에서 행동을 훈련할 수 있게 하는 머신 러닝 알고리즘이 포함되어 있습니다. 대부분의 ML-Agents 사용자들은 이 패키지만 직접 설치하면 됩니다.

 

mlagents_envs:

Unity 장면과 상호작용할 수 있는 Python API 세트가 포함되어 있습니다. 이는 Unity 장면과 Python 머신 러닝 알고리즘 간의 데이터 메시징을 지원하는 기본 계층입니다. 따라서, mlagents 패키지는 mlagents_envs에 의존합니다.

 

- Unity 프로젝트: 여러 기능을 강조하는 다양한 예제 환경들이 포함되어 있어 시작하는 데 도움이 됩니다.

 

이제 설치하는 과정을 살펴봐요.

ML-Agents 패키지 설치 과정

ML-AgentsToolkit을 사용해서 Unity 환경에서 강화 학습을 구현하는 과정을 단계별로 설명할게요.

이 가이드는 Python 3.10.12 및 Conda 가상 환경을 설정하는 방법을 포함하고 있어요.

1. Unity 설치

먼저, Unity Hub를 통해 Unity 2023.2 이상의 버전을 설치할게요.

 

Unity Hub 다운로드 및 설치

  • Unity Hub에서 Unity Hub를 다운로드해서 설치해 주세요.
  • Unity Hub를 통해 Unity 2023.2 이상의 버전을 설치해 주세요.

2. Python 3.10.12 설치

Python 3.10.12 버전을 설치할게요.

  • Python 공식 사이트에서 Python 3.10.12 버전을 다운로드해 주세요.
  • 다운로드한 설치 파일을 실행해서 설치해 주세요. 설치 과정에서 Add Python to PATH 옵션을 선택해 환경 변수에 Python 경로를 추가해 주세요.

3. Conda 설치 및 가상 환경 설정

3.1 Miniconda 또는 Anaconda 설치

  • Miniconda 설치:
    • Miniconda 다운로드 페이지에서 운영 체제에 맞는 Miniconda 설치 파일을 다운로드해 주세요.
    • 다운로드한 설치 파일을 실행해서 Miniconda를 설치해 주세요.
  • Anaconda 설치:
    • Anaconda 다운로드 페이지에서 운영 체제에 맞는 Anaconda 설치 파일을 다운로드해 주세요.
    • 다운로드한 설치 파일을 실행해서 Anaconda를 설치해 주세요.

3.2 Conda 가상 환경 생성 및 활성화

  • 터미널 또는 명령 프롬프트 열기:
    • Windows: 시작 메뉴에서 Anaconda Prompt를 실행해 주세요.
    • macOS/Linux: 터미널을 열어 주세요.
  • 기존 환경 제거: conda deactivate conda remove -n mlagents --all
  • 가상 환경 생성: conda create -n mlagents python=3.10.12
  • 가상 환경 활성화: conda activate mlagents

4. ML-Agents Toolkit 저장소 클론 (권장)

이제 Unity와 Python을 설치했으므로 Unity와 Python 패키지를 설치할 수 있어요.

 

패키지를 설치하기 위해 저장소를 클론할 필요는 없지만, 예제 환경과 훈련 구성을 다운로드하여 실험해 보고 싶다면 저장소를 클론해요.

 

참고: Unity 패키지에는 샘플이 포함되어 있어요. 더 많은 예제를 탐색하고 싶다면 저장소를 클론하면 되요.

git clone --branch release_21 https://github.com/Unity-Technologies/ml-agents.git

5. ML-Agents Python 패키지 설치

mlagents Python 패키지를 설치하려면, 가상 환경을 활성화하고 다음 명령어를 실행해요.

cd ml-agents
python -m pip install ./ml-agents-envs
python -m pip install ./ml-agents

 

이렇게 설치하면 PyPi 저장소가 아닌 클론한 저장소에서 mlagents가 설치되요.

올바르게 설치되었는지 확인하려면 mlagents-learn --help 명령어를 실행하여 사용 가능한 명령 줄 매개 변수를 확인할 수 있어요. 

 

이후 Unity와 Python을 연동해서 강화 학습을 시작할 수 있어요. 

이 부분은 다음 시간에 다뤄볼께요.

 

오늘은 Unity ML-Agents 설치해봤어요.

 

지금까지,

언제나 성장하는 인텔리원스튜디오(IntelliOneStudio)입니다.

감사합니다.

 

[참고] mlagents 를 설치해야 하는 이유?

[요약]
mlagents 패키지는 Unity 환경에서 강화 학습을 구현하고, 에이전트를 훈련시키는 데 매우 유용한 도구예요. 다양한 학습 알고리즘을 제공하며, 시뮬레이션 환경에서의 학습 과정을 시각적으로 확인할 수 있는 장점이 있어요. mlagents를 설치하고 사용하는 과정을 통해 이러한 기능들을 활용할 수 있어요.

 

mlagents는 Unity의 머신 러닝 에이전트 툴킷이에요.

이를 사용하면 Unity 환경에서 강화 학습(및 기타 머신 러닝 기법)을 통해 에이전트를 훈련시킬 수 있어요. mlagents 패키지를 설치해야 하는 이유는 다음과 같아요:

 

강화 학습 환경 구축

mlagents는 Unity 환경과 Python 머신 러닝 라이브러리 간의 인터페이스를 제공해요. 이를 통해 Unity에서 제작한 게임 환경을 강화 학습 알고리즘을 사용하여 에이전트를 훈련할 수 있어요.

 

다양한 학습 알고리즘 제공

mlagents 패키지는 여러 가지 학습 알고리즘(예: PPO, SAC 등)을 포함하고 있어서, 다양한 방법으로 에이전트를 훈련시킬 수 있어요. 이를 통해 환경에 가장 적합한 알고리즘을 선택하여 성능을 최적화할 수 있어요.

 

시뮬레이션 및 검증

Unity를 사용하여 복잡한 시뮬레이션 환경을 구축할 수 있어요. mlagents를 사용하면 이러한 시뮬레이션 환경에서 에이전트를 훈련시키고, 다양한 상황에서의 성능을 검증할 수 있어요.

 

학습 과정 시각화

Unity와 mlagents를 함께 사용하면 학습 과정을 시각적으로 확인할 수 있어요. 이는 학습 알고리즘이 어떻게 동작하는지 이해하는 데 도움을 주고, 문제를 디버깅하는 데 유용해요.

 

유연한 확장성

mlagents는 다양한 학습 시나리오에 맞게 확장할 수 있어요. 사용자가 자신의 환경과 요구에 맞게 커스터마이즈할 수 있어요.

[참고] Conda 를 설치해야 하는 이유?

요약
Conda는 패키지 관리와 환경 관리의 편리성을 제공하며, 특히 복잡한 의존성이 있는 프로젝트에서 매우 유용해요. ML-Agents Toolkit과 같은 툴을 사용할 때 Conda를 사용하면, 의존성 문제를 해결하고, 격리된 환경을 통해 프로젝트 간의 충돌을 방지할 수 있어요.

 

Conda는 패키지 관리와 환경 관리를 모두 제공하는 오픈 소스 툴이에요. Conda를 사용하는 주된 이유는 다음과 같아요:

  1. 패키지 관리 - Conda는 다양한 패키지의 설치, 업데이트 및 제거를 쉽게 관리할 수 있게 해줘요. Conda는 Python 패키지뿐만 아니라 C/C++, Fortran 등 다른 언어로 작성된 패키지도 관리할 수 있어요.
  2. 가상 환경 관리 - Conda는 가상 환경을 쉽게 생성하고 관리할 수 있게 해줘요. 가상 환경을 사용하면 프로젝트마다 서로 다른 패키지 버전을 독립적으로 관리할 수 있어요. 이를 통해 패키지 충돌을 방지하고, 특정 프로젝트에 필요한 정확한 패키지 버전을 사용할 수 있어요.
  3. 의존성 해결 - Conda는 패키지 설치 시 필요한 모든 의존성을 자동으로 해결하고 설치해줘요. 이는 사용자가 수동으로 의존성을 관리하는 번거로움을 줄여주고, 패키지 간의 호환성 문제를 최소화해요.
  4. 다중 언어 지원 - Conda는 Python 외에도 여러 언어의 패키지를 관리할 수 있어요. 이는 다양한 언어로 작성된 라이브러리와 도구를 사용하는 프로젝트에서 유용해요.
  5. 플랫폼 독립성 - Conda는 Windows, macOS, Linux 등 다양한 운영 체제에서 동일한 명령어를 사용하여 패키지와 환경을 관리할 수 있어요. 이는 여러 플랫폼에서 작업하는 개발자에게 유리해요.
  6. 쉽게 재현 가능한 환경 - Conda 환경을 통해 특정 프로젝트에서 사용된 패키지와 그 버전을 명확하게 정의할 수 있어요. 이는 다른 개발자나 서버에서 동일한 환경을 쉽게 재현할 수 있게 해줘요.

ML-Agents Toolkit과 Conda

ML-Agents Toolkit과 같은 머신러닝 프레임워크를 사용할 때 Conda를 사용하는 이유는 다음과 같아요:

  • 의존성 관리: ML-Agents Toolkit에는 여러 의존성이 있어요. Conda는 이러한 의존성을 자동으로 설치하고 관리해줘요.
  • 격리된 환경: 각 프로젝트마다 격리된 환경을 제공하여, 프로젝트 간의 패키지 충돌을 방지해요. 이는 ML-Agents와 같은 복잡한 프로젝트에서 특히 유용해요.
  • 다양한 패키지 지원: 머신러닝과 관련된 다양한 패키지(PyTorch, TensorFlow 등)를 쉽게 설치하고 관리할 수 있어요.
728x90