ppo-Pyramids-Training / localized_docs /KR /docs /Installation-Anaconda-Windows.md
AnnaMats's picture
Second Push
05c9ac2

Windows ����ڸ� ���� ML-Agents Toolkit ��ġ ���

ML-Agents toolkit�� Windows 10�� �����մϴ�. �ٸ� ������ Windows ���ε� ML-Agents toolkit�� ����� �� ������ �������� �ʾҽ��ϴ�. ����, ML-Agents toolkit�� Windows VM(Bootcamp �Ǵ� ���� ó�� ȯ�� ����)�� ��� ���� �������� �ʾҽ��ϴ� .

ML-Agents toolkit�� ����ϱ� ����, �Ʒ��� ����Ȱ� ó�� Python�� �䱸�Ǵ� Python ��Ű���� ��ġ�ؾ� �մϴ�. �� ���̵�� ���� GPU ��� �н�(�����ڸ� ����)�� ���� ���� ����� �ٷ�ϴ�. ����, ML-Agents toolkit�� ���� GPU ��� �н��� �ʿ����� ������ ���� ���� �Ǵ� Ư�� ���׿� �ʿ��� �� �ֽ��ϴ�.

�ܰ� 1: Anaconda�� ���� Python ��ġ

Windows ������ Anaconda�� �ٿ�ε��ϰ� ��ġ�Ͻʽÿ�. Anaconda�� ��������ν�, �ٸ� ���� ������ Python�� �и��� ȯ�濡�� ������ �� �ֽ��ϴ�. Python 2�� ���̻� �������� �ʱ� ������ Python 3.8�� �ʿ��մϴ�. �� ���̵忡�� �츮�� Python 3.8 ������ Anaconda 5.1 ������ ����� ���Դϴ�. (64-bit �Ǵ� 32-bit ��ũ).

Anaconda Install

����Ʈ _advanced installation options_�� �����ϴ� ���� ��õ������ ��Ȳ�� ���� ������ �ɼ��� �����Ͻʽÿ�.

Anaconda Install

��ġ �Ŀ� �ݵ�� Anaconda Navigator �� ���� ������ �Ϸ��ؾ� �մϴ�. Windows Ž�� â����, anaconda navigator �� Ÿ�����Ͽ� Anaconda Navigator �� �� �� �ֽ��ϴ�.

ȯ�� ������ �����Ǿ����� �ʴٸ� conda ��ɾ Ÿ�������� �� "conda is not recognized as internal or external command" ��� ������ ���� ���Դϴ�. �̸� �ذ��ϱ� ���� ��Ȯ�� ȯ�� ���� ������ �ʿ��մϴ�.

Ž�� â���� ȯ�� ������ Ÿ���� �Ͽ� (������ Ű�� �����ų� ���� �Ʒ� ������ ��ư�� ���� �� �� �ֽ��ϴ�). �ý��� ȯ�� ���� ���� �ɼ��� �ҷ��ɴϴ�.

edit env variables

�� �ɼǿ��� ȯ�� ���� ��ư�� Ŭ���ϰ�. �Ʒ� __�ý��� ����__���� "Path" ������ ���� Ŭ���ϰ� __���� �����__�� Ŭ���Ͽ� ���� �� path�� �߰��Ͻʽÿ�.

%UserProfile%\Anaconda3\Scripts
%UserProfile%\Anaconda3\Scripts\conda.exe
%UserProfile%\Anaconda3
%UserProfile%\Anaconda3\python.exe

�ܰ� 2: ���ο� Conda ȯ�� ���� �� Ȱ��ȭ

ML-Agents toolkit�� �Բ� ����� ���ο� Conda ȯ���� ���� ���Դϴ�. �� �۾��� ��ġ�� ��� ��Ű���� �� ȯ�濡�� ���ѵȴٴ� ���� �ǹ��մϴ�. �̴� �ٸ� ȯ���̳� �ٸ� ���̽� ��ġ�� ������ ��ġ�� �ʽ��ϴ�. ML-Agents�� ������ ������ �׻� Conda ȯ���� Ȱ��ȭ ���Ѿ� �մϴ�.

���ο� Conda ȯ���� ����� ����, ���ο� Anaconda ������Ʈ(Ž�� â���� _Anaconda Prompt_�� Ŭ��)�� ���� ���� ��ɾ Ÿ���� �Ͻʽÿ�:

conda create -n ml-agents python=3.8

�� ��Ű���� ��ġ�ϱ� ���� �޼����� ���� ��� y�� Ÿ�����ϰ� ���͸� �����ʽÿ� (���ͳ��� ����Ǿ��ִ��� Ȯ���Ͻʽÿ�). �� �䱸�Ǵ� ��Ű������ �ݵ�� ��ġ�ؾ� �մϴ�. ���ο� Conda ȯ�濡�� Python 3.8 ������ ���Ǹ� ml-agents�� ȣ��˴ϴ�.

Anaconda Install

�ռ� ���� ȯ���� �̿��ϱ� ���� �ݵ�� Ȱ��ȭ�� �ؾ��մϴ�. (���Ŀ� ���� ��ɾ� ���� ȯ���� ������ �� �ֽ��ϴ�). ���� Anaconda ������Ʈ���� ���� ��ɾ Ÿ���� �Ͻʽÿ�:

activate ml-agents

Ȱ��ȭ �Ŀ� (ml-agents)��� ���ڰ� ������ �� �տ� ��Ÿ���� ���� �� �� �ֽ��ϴ�.

��������, tensorflow�� ��ġ�մϴ�. ���̽� ��Ű���� ��ġ�ϱ� ���� ����ϴ� pip��� ��Ű�� ���� �ý��۸� ����Ͽ� ��ġ�� �� �ֽ��ϴ�. �ֽ� ������ TensorFlow�� �۵����� ���� �� �����Ƿ�, ��ġ ������ 1.7.1���� Ȯ���ؾ� �մϴ�. ���� Anaconda ������Ʈ â���� ���� ��ɾ Ÿ���� �Ͻʽÿ�.(���ͳ��� ����Ǿ� �ִ��� Ȯ���Ͽ� �ֽʽÿ�):

pip install tensorflow==1.7.1

�ܰ� 3: �ʼ� ���̽� ��Ű�� ��ġ

ML-Agents toolkit�� ���� ���̽� ��Ű���� �������Դϴ�. pip�� ����Ͽ� �� ���̽� ���Ӽ����� ��ġ�Ͻʽÿ�.

ML-Agents Toolkit ����� ����Ұ� ���� ��ǻ�Ϳ� �����Ǿ����� �ʾҴٸ� �����Ͻʽÿ�. Git�� (�ٿ�ε�)�ϰ� �����Ų �� ���� ��ɾ Anaconda ������Ʈâ�� �Է��Ͽ� ������ �� �ֽ��ϴ�. (���� �� ������Ʈ â�� �����ִٸ� activate ml-agents�� Ÿ�����Ͽ� ml-agents Conda ȯ���� Ȱ��ȭ �Ǿ��ִ��� Ȯ���Ͻʽÿ�):

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

���� Git�� ����ϰ� ���� �ʴٸ� ������ ��ũ���� ��� ������ �ٿ�ε� �� �� �ֽ��ϴ�.

UnitySDK ���� ���丮���� ������Ʈ�� �߰��� ����Ƽ �ּ��� ���ԵǾ� �ֽ��ϴ�. ���� �����ϴµ� ������ �Ǵ� ���� ���� ȯ������ �ֽ��ϴ�.

ml-agents ���� ���丮���� ����Ƽ ȯ��� �԰� ����ϴ� ���� ��ȭ�н� Ʈ���̳� ���̽� ��Ű���� ���ԵǾ� �ֽ��ϴ�.

ml-agents-envs ���� ���丮���� ml-agents ��Ű���� ���ӵǴ� ����Ƽ�� �������̽��� ���� ���̽� API�� ���ԵǾ� �ֽ��ϴ�.

gym-unity ���� ���丮���� OpenAI Gym�� �������̽��� ���� ��Ű���� ���ԵǾ� �ֽ��ϴ�.

mlagents-learn�� ������ �� Ʈ���̳��� ȯ�� ���� ������ �� ���丮 �ȿ� �ʿ��ϹǷ�, ������ �ٿ�ε� �� ���丮�� ��ġ�� ����Ͻʽÿ�. ���ͳ��� ����Ǿ����� Ȯ���ϰ� Anaconda ������Ʈ���� ���� ��ɾ Ÿ���� �Ͻʽÿ�t:

pip install mlagents

ML-Agents toolkit�� ������ �� �ʿ��� ��� ���̽� ��Ű���� ��ġ�� �Ϸ��� ���Դϴ�.

Windows���� ���� pip�� ����Ͽ� Ư�� ���̽� ��Ű���� ��ġ�� �� ��Ű���� ij���� �д� ���� ���� ���� �ֽ��ϴ�. ������ ���� ������ �ذ��� �� �� �ֽ��ϴ�:

pip install mlagents --no-cache-dir

--no-cache-dir�� pip���� ij���� ��Ȱ��ȭ �Ѵٴ� ���Դϴ�.

������ ���� ��ġ

���� ml-agents �Ǵ� ml-agents-envs�� �����ϰ� �ʹٸ�, PyPi�� �ƴ� ������ ����ҷ� ���� ��Ű���� ��ġ�ؾ� �մϴ�. �̸� ����, ml-agents �� ml-agents-envs �� ���� ��ġ�ؾ� �մϴ�.

�������� ������ C:\Downloads�� ��ġ�� �ֽ��ϴ�. ������ �����ϰų� �ٿ�ε��� �� Anaconda ������Ʈ���� ml-agents ���丮 ���� ml-agents ���� ���丮�� �����Ͻʽÿ�:

cd C:\Downloads\ml-agents

������� ���� ���丮���� ������ �����Ͻʽÿ�:

cd ml-agents-envs
pip install -e .
cd ..
cd ml-agents
pip install -e .

-e �÷��׸� ����Ͽ� pip�� ���� �ϸ� ���̽� ������ ���� ������ �� �ְ� mlagents-learn�� ������ �� �ݿ��˴ϴ�. mlagents ��Ű���� mlagents_envs�� �������̰�, �ٸ� ������ ��ġ�ϸ� PyPi�� ���� mlagents_envs �� ��ġ�� �� �ֱ� ������ �� ������� ��Ű���� ��ġ�ϴ� ���� �߿��մϴ�.

(�ɼ�) Step 4: ML-Agents Toolkit�� ����� GPU �н�

ML-Agents toolkit�� ���� GPU�� �ʿ����� ������ �н� �߿� PPO �˰��� �ӵ��� ũ�� ������ ���մϴ�(������ ���Ŀ� GPU�� ������ �� �� �ֽ��ϴ�). �� ���̵�� GPU�� ����� �н��� �ϰ� ���� ��� ����ڸ� ���� ���̵� �Դϴ�. ���� GPU�� CUDA�� ȣȯ�Ǵ��� Ȯ���ؾ� �մϴ�. ���� Nvidia ���������� Ȯ���� �ֽʽÿ�.

���� ML-Agents toolkit �� CUDA 9.0 ������ cuDNN 7.0.5 ������ �����˴ϴ�.

Nvidia CUDA toolkit ��ġ

Nvidia ��ī�̺꿡�� CUDA ��Ŷ(toolkit) 9.0�� �ٿ�ε��ϰ� ��ġ�Ͻʽÿ�. ML-Agents toolkit�� �����Ű�� ���� CUDA ��Ŷ�� GPU ���� ���̺귯��, �����-����ȭ ����, C/C++(���־� ��Ʃ��� 2017) �����Ϸ�, ��Ÿ�� ���̺귯���� �����մϴ�. �� ���̵忡���� 9.0.176)������ ����մϴ�.

��ġ�ϱ� ��, ���� ���� ����Ƽ �Ǵ� ���־� ��Ʃ����� �����ߴ��� Ȯ���Ͽ� �ֽʽÿ�.

�ν��緯�� �����ϰ� Express �ɼ��� �����Ͻʽÿ�. CUDA ��Ŷ�� ��ġ�� ���丮�� ������ �ֽʽÿ�. �� ���̵忡����, C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0 ��ο� ��ġ�մϴ�.

Nvidia cuDNN ���̺귯�� ��ġ

Nvidia���� cuDNN ���̺귯���� �ٿ�ε��ϰ� ��ġ�Ͻʽÿ�. cuDNN�� ���� �Ű���� ���� �⺻�� �Ǵ� GPU ���� ���̺귯��. �ٿ�ε� ���� Nvidia Developer Program�� �����ؾ��� ���Դϴ�(����).

cuDNN membership required

�����ϰ� cuDNN �ٿ�ε� �������� ���ư��ʽÿ�. ª�� �������翡 �����ؾ� �� ���� �ֽ��ϴ�. When you get to the list cuDNN ������ ����Ʈ���� �ܰ� 1���� ��ġ�� CUDA ��Ŷ�� �´� ������ �ٿ�ε��ϰ� �ִ��� Ȯ���Ͻʽÿ�. �� ���̵忡����, CUDA ��Ŷ 9.0 ������ ���� 7.0.5 ������ ����մϴ� (�ٿ�ε� ��ũ).

cuDNN ������ �ٿ�ε� �� �Ŀ�, CUDA ��Ŷ ���丮�ȿ� ������ ����(���� ����)�ؾ� �մϴ�. cuDNN zip ���� �ȿ��� ������ ���� bin, include, �׸��� lib�� �ֽ��ϴ�.

cuDNN zip files

�� ������ ������ CUDA ��Ŷ ���丮�ȿ� �����Ͻʽÿ�. CUDA ��Ŷ ���丮�� C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0�� ��ġ�� �ֽ��ϴ�.

cuda toolkit directory

ȯ�� ���� ����

1���� ȯ�� ������ 2���� ��� ������ �߰��ؾ� �մϴ�.

ȯ�� ������ �����ϱ� ����, Ž�� â���� ȯ�� ������ Ÿ���� �Ͽ� (������ Ű�� �����ų� ���� �Ʒ� ������ ��ư�� ���� �� �� �ֽ��ϴ�). �ý��� ȯ�� ���� ���� �ɼ��� �ҷ��ɴϴ�.

edit env variables

�� �ɼǿ��� ȯ�� ���� ��ư�� Ŭ���ϰ� �ý��� ������ __���� �����__�� Ŭ���Ͻʽÿ� _(����� ������ �ƴ� �Ʒ��� __�ý��� ����__���� Ȯ���Ͻʽÿ�).

new system variable

__���� �̸�__�� CUDA_HOME���� �����ϰ� ���� ������ CUDA ��Ŷ ���丮 ��θ� �Է��� �ֽʽÿ�. �� ���̵忡�� ���丮 ��δ� C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0 �Դϴ�. Ȯ�� ��ư�� �����ֽʽÿ�.

system variable names and values

2���� ��� ���� ������ ���� ȯ�� ���� â �׸��� �Ʒ� �ι�° �ڽ��� __�ý��� ����__�ȿ���, Path ������ ã�� Ŭ���ϰ� __����__��ư�� �����ʽÿ�. ����Ʈ�� 2���� ���丮�� �߰��� ���Դϴ�. �� ���丮�� ������ �����ϴ�:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\extras\CUPTI\libx64

���� ���丮 ��ġ�� ��ġ�� ���丮 ������� Ȯ���Ͻʽÿ�. ��ҹ��ڿ� �����Ͻʽÿ�.

Path variables

TensorFlow GPU ��ġ

����, pip�� ����Ͽ� 1.7.1. ���� tensorflow-gpu�� ��ġ�Ͻʽÿ� . ml-agents Conda ȯ���� Ȱ��ȭ ��Ų Anaconda ������Ʈ���� CPU�� TensorFlow �����ϰ� GPU�� TensorFlow�� ��ġ�ϱ� ���� ���� ��ɾ Ÿ���� �Ͻʽÿ� (���ͳ��� ����Ǿ� �ִ��� Ȯ���Ͻʽÿ�):

pip uninstall tensorflow
pip install tensorflow-gpu==1.7.1

����������, ��� ���� ����� ��ġ�Ǿ� �ְ�, Tensorflow���� GPU�� �ν��ϰ� �ִ��� �׽�Ʈ�ؾ��մϴ�. ���� Anaconda ������Ʈ���� Python�� ȣ���Ͽ� ���ϴ�:

python

�׸��� ���� ��ɾ Ÿ���� �Ͻʽÿ�:

import tensorflow as tf

sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))

������ ����� ������ �� �� ���� ���Դϴ�:

Found device 0 with properties ...

Acknowledgments

�� ���̵带 ����� ���� ���� �ʾ��� �ۼ��� Jason Weimann �� Nitish S. Mutha ���� ����帳�ϴ�.

�ѱ� ����

�ش� ������ �ѱ� ������ ������ (Hyeonjun Jang)�� ���� ����Ǿ����ϴ�. ����� ������ ��Ż�ڰ� �ִ� ��� totok682@naver.com ���� �����ֽø� ����帮�ڽ��ϴ�.