File size: 5,338 Bytes
05c9ac2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
ο»Ώ# μ„€μΉ˜

ML-Agentsλ₯Ό μ„€μΉ˜ν•˜κ³  μ‚¬μš©ν•˜κΈ° μœ„ν•΄ μœ λ‹ˆν‹°λ₯Ό μ„€μΉ˜ν•΄μ•Ό ν•˜κ³  이 Repository(μ €μž₯μ†Œ)λ₯Ό
Clone(볡제)ν•˜κ³  좔가쒅속성을 κ°€μ§€λŠ” Python(파이썬)을 μ„€μΉ˜ν•΄μ•Όν•©λ‹ˆλ‹€. μ•„λž˜ Subsection(ν•˜μœ„μ„Ήμ…˜)μ—μ„œλŠ” Docker(도컀) μ„€μ • 외에도
각 단계λ₯Ό κ°œκ΄„μ μœΌλ‘œ μ„€λͺ…ν•©λ‹ˆλ‹€.

## **Unity 2018.4** λ˜λŠ” μ΄ν›„μ˜ 버전을 μ„€μΉ˜ν•˜μ‹­μ‹œμ˜€.

[λ‹€μš΄λ‘œλ“œ](https://store.unity.com/kr/download)ν•˜κ³  μ„€μΉ˜ν•˜μ‹­μ‹œμ˜€. λ§Œμ•½ μ €ν¬μ˜ 도컀 μ„€μ •(차후에 μ†Œκ°œν• )을 μ‚¬μš©ν•˜κ³  μ‹Άλ‹€λ©΄,
μœ λ‹ˆν‹°λ₯Ό μ„€μΉ˜ν•  λ•Œ, Linux Build Supportλ₯Ό μ„€μ •ν•˜μ‹­μ‹œμ˜€.

<p align="center">
  <img src="images/unity_linux_build_support.png"
       alt="Linux Build Support"
       width="500" border="10" />
</p>

## Windows μ‚¬μš©μž
Windowsμ—μ„œ ν™˜κ²½μ„ μ„€μ •ν•˜κΈ° μœ„ν•΄, [μ„ΈλΆ€ 사항](Installation-Anaconda-Windows.md)에 μ„€μ • 방법에 λŒ€ν•΄ μž‘μ„±ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
Macκ³Ό LinuxλŠ” λ‹€μŒ κ°€μ΄λ“œλ₯Ό ν™•μΈν•΄μ£Όμ‹­μ‹œμ˜€.

## Mac λ˜λŠ” Unix μ‚¬μš©μž

### ML-Agents Toolkit μ €μž₯μ†Œ 볡제

μœ λ‹ˆν‹° μ„€μΉ˜ 후에 ML-Agents Toolkit κΉƒν—ˆλΈŒ μ €μž₯μ†Œλ₯Ό μ„€μΉ˜ν•˜κ³  싢을 κ²ƒμž…λ‹ˆλ‹€.

```sh
git clone https://github.com/Unity-Technologies/ml-agents.git
```

`UnitySDK` ν•˜μœ„ λ””λ ‰ν† λ¦¬μ—λŠ” ν”„λ‘œμ νŠΈμ— μΆ”κ°€ν•  μœ λ‹ˆν‹° 애셋이 ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.
λ˜ν•œ μ‹œμž‘ν•˜λŠ”λ° 도움이 λ˜λŠ” λ§Žμ€ [예제 ν™˜κ²½](Learning-Environment-Examples.md)듀이 μžˆμŠ΅λ‹ˆλ‹€.

`ml-agents` ν•˜μœ„ λ””λ ‰ν† λ¦¬μ—λŠ” μœ λ‹ˆν‹° ν™˜κ²½κ³Ό ν•¨κ²Œ μ‚¬μš©ν•˜λŠ” 심측 κ°•ν™”ν•™μŠ΅ νŠΈλ ˆμ΄λ„ˆ 파이썬 νŒ¨ν‚€μ§€κ°€ ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

`ml-agents-envs` ν•˜μœ„ λ””λ ‰ν† λ¦¬μ—λŠ” `ml-agents` νŒ¨ν‚€μ§€μ— μ’…μ†λ˜λŠ” μœ λ‹ˆν‹°μ˜ μΈν„°νŽ˜μ΄μŠ€λ₯Ό μœ„ν•œ 파이썬 APIκ°€ ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

`gym-unity` ν•˜μœ„ λ””λ ‰ν† λ¦¬μ—λŠ” OpenAI Gym의 μΈν„°νŽ˜μ΄μŠ€λ₯Ό μœ„ν•œ νŒ¨ν‚€μ§€κ°€ ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

### 파이썬과 mlagents νŒ¨ν‚€μ§€ μ„€μΉ˜

ML-Agents toolkit을 μ‚¬μš©ν•˜κΈ° μœ„ν•΄ [setup.py file](../ml-agents/setup.py)에 λ‚˜μ—΄λœ 쒅속성과 ν•¨κ»˜ 파이썬 3.8이 ν•„μš”ν•©λ‹ˆλ‹€.
μ£Όμš” μ’…μ†μ„±μ˜ μΌλΆ€λŠ” λ‹€μŒμ„ ν¬ν•¨ν•©λ‹ˆλ‹€:

- [TensorFlow](Background-TensorFlow.md) (Requires a CPU w/ AVX support)
- [Jupyter](Background-Jupyter.md)

Python 3.8이 λ§Œμ•½ μ„€μΉ˜λ˜μ–΄ μžˆμ§€ μ•Šλ‹€λ©΄, [λ‹€μš΄λ‘œλ“œ](https://www.python.org/downloads/)ν•˜κ³  μ„€μΉ˜ν•˜μ‹­μ‹œμ˜€.

λ§Œμ•½ λ‹Ήμ‹ μ˜ 파이썬 ν™˜κ²½μ΄ `pip3`을 ν¬ν•¨ν•˜μ§€ μ•ŠλŠ”λ‹€λ©΄, λ‹€μŒ
[μ§€μ‹œμ‚¬ν•­](https://packaging.python.org/guides/installing-using-linux-tools/#installing-pip-setuptools-wheel-with-linux-package-managers)
을 λ”°λΌμ„œ μ„€μΉ˜ν•˜μ‹­μ‹œμ˜€.

쒅속성과 `mlagents` 파이썬 νŒ¨ν‚€μ§€λ₯Ό μ„€μΉ˜ν•˜κΈ° μœ„ν•΄ λ‹€μŒ λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•˜μ‹­μ‹œμ˜€:

```sh
pip3 install mlagents
```

이 λͺ…λ Ήμ–΄λ₯Ό 톡해 PyPi둜 λΆ€ν„°(볡제된 μ €μž₯μ†Œκ°€ μ•„λ‹Œ) `ml-agents`κ°€ μ„€μΉ˜λ  κ²ƒμž…λ‹ˆλ‹€.
λ§Œμ•½ μ„±κ³΅μ μœΌλ‘œ μ„€μΉ˜λ₯Ό μ™„λ£Œ ν–ˆλ‹€λ©΄, `mlagents-learn --help` λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•  수 μžˆμ„ κ²ƒμž…λ‹ˆλ‹€.
λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•˜λ©΄ μœ λ‹ˆν‹° λ‘œκ³ μ™€ `mlagents-learn`μ—μ„œ μ‚¬μš©ν•  수 μžˆλŠ” λͺ…λ Ήμ–΄ 라인 λ§€κ°œλ³€μˆ˜λ“€μ„ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

**주의:**

- ν˜„μž¬ Python 3.8 λ˜λŠ” Python 3.5을 μ§€μ›ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
- λ§Œμ•½ Anacondaλ₯Ό μ‚¬μš©ν•˜κ³  TensorFlow에 λ¬Έμ œκ°€ μžˆλ‹€λ©΄, λ‹€μŒ
  [링크](https://www.tensorflow.org/install/pip)μ—μ„œ Anaconda ν™˜κ²½μ—μ„œ μ–΄λ–»κ²Œ TensorFlowλ₯Ό μ„€μΉ˜ν•˜λŠ”μ§€ ν™•μΈν•˜μ‹­μ‹œμ˜€.
### κ°œλ°œμ„ μœ„ν•œ μ„€μΉ˜λ°©λ²•

λ§Œμ•½ `ml-agents` λ˜λŠ” `ml-agents-envs`λ₯Ό μˆ˜μ •ν•˜κ³  μ‹Άλ‹€λ©΄, PyPiκ°€ μ•„λ‹Œ 볡제된 μ €μž₯μ†Œλ‘œ λΆ€ν„° νŒ¨ν‚€μ§€λ₯Ό μ„€μΉ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€.
이λ₯Ό μœ„ν•΄, `ml-agents`와 `ml-agents-envs`λ₯Ό 각각 μ„€μΉ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€. μ €μž₯μ†Œμ˜ 루트 λ””λ ‰ν† λ¦¬μ—μ„œ λ‹€μŒ λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•˜μ‹­μ‹œμ˜€:

```sh
cd ml-agents-envs
pip3 install -e ./
cd ..
cd ml-agents
pip3 install -e ./
```

`-e` ν”Œλž˜κ·Έλ₯Ό μ‚¬μš©ν•˜μ—¬ pipλ₯Ό μ‹€ν–‰ ν•˜λ©΄ 파이썬 νŒŒμΌμ„ 직접 λ³€κ²½ν•  수 있고 `mlagents-learn`λ₯Ό μ‹€ν–‰ν•  λ•Œ λ°˜μ˜λ©λ‹ˆλ‹€.
`mlagents` νŒ¨ν‚€μ§€κ°€ `mlagents_envs`에 의쑴적이고, λ‹€λ₯Έ μˆœμ„œλ‘œ μ„€μΉ˜ν•˜λ©΄ PyPi둜 λΆ€ν„° `mlagents_envs`λ₯Ό
μ„€μΉ˜ν•  수 있기 λ•Œλ¬Έμ— 이 μˆœμ„œλŒ€λ‘œ νŒ¨ν‚€μ§€λ₯Ό μ„€μΉ˜ν•˜λŠ” 것은 μ€‘μš”ν•©λ‹ˆλ‹€.

## 도컀 기반 μ„€μΉ˜

λ§Œμ•½ ML-Agentsλ₯Ό μœ„ν•΄ 도컀λ₯Ό μ‚¬μš©ν•˜κ³  μ‹Άλ‹€λ©΄, [이 κ°€μ΄λ“œ](Using-Docker.md)λ₯Ό λ”°λΌν•˜μ‹­μ‹œμ˜€.

## λ‹€μŒ 단계

[기초 κ°€μ΄λ“œ](Basic-Guide.md) νŽ˜μ΄μ§€μ—λŠ” μœ λ‹ˆν‹° λ‚΄μ—μ„œ ML-Agents toolkit의 μ„€μ • 및 ν•™μŠ΅λœ λͺ¨λΈ μ‹€ν–‰,
ν™˜κ²½ ꡬ좕, ν•™μŠ΅ 방법에 λŒ€ν•œ μ—¬λŸ¬ 짧은 νŠœν† λ¦¬μ–Όμ„ ν¬ν•¨ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

## 도움말

ML-Agents와 κ΄€λ ¨λœ λ¬Έμ œκ°€ λ°œμƒν•˜λ©΄ μ €ν¬μ˜ [FAQ](FAQ.md)와 [μ œμ•½ 사항](Limitations.md) νŽ˜μ΄μ§€λ₯Ό μ°Έκ³ ν•΄ μ£Όμ‹­μ‹œμ˜€.
λ§Œμ•½ λ¬Έμ œμ— λŒ€ν•œ 아무것도 찾을 수 μ—†λ‹€λ©΄ OS, Pythons 버전 및 μ •ν™•ν•œ 였λ₯˜ 메세지와 ν•¨κ»˜ [이슈 제좜](https://github.com/Unity-Technologies/ml-agents/issues)을 ν•΄μ£Όμ‹­μ‹œμ˜€.


## ν•œκΈ€ λ²ˆμ—­

ν•΄λ‹Ή λ¬Έμ„œμ˜ ν•œκΈ€ λ²ˆμ—­μ€ [μž₯ν˜„μ€€ (Hyeonjun Jang)]([https://github.com/janghyeonjun](https://github.com/janghyeonjun))에 μ˜ν•΄ μ§„ν–‰λ˜μ—ˆμŠ΅λ‹ˆλ‹€. λ‚΄μš©μƒ 였λ₯˜λ‚˜ μ˜€νƒˆμžκ°€ μžˆλŠ” 경우 totok682@naver.com 으둜 μ—°λ½μ£Όμ‹œλ©΄ κ°μ‚¬λ“œλ¦¬κ² μŠ΅λ‹ˆλ‹€.