작성자 김준성 | 2021. 3. 24.
목적
Python을 통해 머신러닝을 진행하고자 한다면 생각보다 다양한 파이썬 버전 및 종속되는 소프트웨어, 통계, 과학 등의 패키지를 필요로 하게 됩니다. PIP(Python Package Index)로 이러한 요구를 충족하기 어렵기 때문에, 가상환경의 Conda를 제공하여 학습에 맞게 다양한 파이썬 패키지를 독립적 운영할 수 있는 Anaconda를 활용합니다.
그리고, Anaconda를 통해 아래와 같이 두개의 실습환경(Environments)을 생성합니다.
py37tf20 > Python 3.7.3 + TensorFlow(2.0.0) 설치
py37tf114 > Python 3.7.3 + TensorFlow(1.14.0) 설치
- py37tf20
- TensorFlow 2.0.0이 가장 최신 버전이므로 앞으로 새로 작성하는 코드는 이 environment에서 작성이 되어야 합니다.
- TensorFlow 2.0.0에서는 syntax가 많이 변경 되었기에 TensorFlow 1.* 환경에서 작성된 코드를 바로 사용할 수 없습니다.
- py37tf114
- 예전에 작성된 코드나 책 예제코드를 구동할 때 필요합니다.
유의사항
- 이 문서는 Windows에서 설치한다고 가정하고 작성되었습니다. Linux, macOS의 경우에도 설치방법이 대동소이 합니다.
- 이 문서는 2019년 10월 13일 기준 상황으로 작성되었습니다. 따라서, 추후 Python library 업그레이드에 따라 세부적인 사항은 바뀔 수 있습니다.
- 이 문서는 CPU를 사용하는 경우를 가정하고 작성되었습니다. NVIDIA GPU가 설치된 컴퓨터에 관한 설치 방법은 다른 thread에서 다루겠습니다.
- TensorFlow를 구동시 “Your CPU suppoprts instructions that this TensorFlow birany was not complied to use: AVX2"와 같은 warning message를 받을 수 있는데, 이에 관한 내용은 다른 thread에서 다루겠습니다.
- Python을 직접 다운로드 사이트 받아서 설치해도 되지만, data science 작업에 Jupyter Notebook이란 도구가 유용하게 사용되기에 이를 제공하는 Anaconda를 사용합니다.
설치
1) Anaconda 설치
Anaconda 설치파일 다운로드
사용하는 컴퓨터의 OS에 맞는 Anaconda 설치파일을 아나콘다 설치파일에서 다운로드 받습니다.
* 3.7을 선택합니다.
(Python Ver 2는 예전 코드를 실행시키기 위한 것이라 이해하면 됩니다.)
* Install for: Just Me 추천합니다.
* Bottom one: Register Anaconda as my default Python 3.7
(위 옵션을 제외한, 다른 선택 옵션은 OS의 PATH를 수정하기 때문에 사용하지 말것을 권합니다.)
* 설치가 완료되면 컴퓨터를 재부팅합니다.
설치된 Anaconda에서 아래에 있는 3가지 Software를 주로 사용합니다
* Jupyter Notebook : 파이썬 코딩과 통계, data science 등의 실제 프로그래밍 작업합니다.
* Anaconda Prompt : environment, library(package)를 설치, 변경, 삭제등 관리는 하는 터미널입니다.
* Anaconda Navigator : Anaconda Prompt의 작업을 GUI를 통하여 편리하게 확인 및 실행합니다.
2) 설치확인
Anaconda Prompt 실행하기
* Windows 메뉴에서 Anaconda Prompt를 선택하면 Anaconda Prompt를 위한 터미널이 뜹니다.
(참고로, 이 터미널은 Windows OS에서 제공하는 MS DOS 터미널과는 다릅니다.)
* 프롬프트 앞 부분에 보이는 (base)는 기본 제공되는 환경이며, "base"란 environment에 있음을 알려줍니다.
Anaconda Prompt 터미널에서 Python 간단명령어 실행하기
> where python (설치된 디렉토리를 표시합니다.)
> python -V 혹은, python --version
(해당 environment에 설치된 Python의 버전을 보여줍니다 3.7.3으로 표시됩니다.)
간단한 Python 코드 테스트하기
* 터미널에서 python을 입력하면 Python 프롬프트 모드로 변경됩니다.
* Python 프롬프트(>>> 모양)에서 시험삼아 1+1을 실행해 보세요.
* Ctrl-d, Ctrl-z, 또는 exit() & enter를 사용하면 Python을 종료할 수 있습니다.
3) 실습환경(Environment) 사전준비 작업
Anaconda Prompt 터미널의 (base) 환경에서 다음의 명령어를 순서대로 실행해 봅니다
> conda --version (conda의 현재 버전을 보여줍니다.)
> conda update conda (최신 conda버전으로 update 합니다. 다소 시간이 걸릴 수 있습니다.)
> conda --version (updated conda의 버전을 보여줍니다.)
> conda list (현재 conda에 설치되어 있는 library를 보여줍니다.)
> conda env list (설치된 environment을 보여줍니다. 지금 단계에선 base만 나타납니다.)
> conda install nb_conda
(Jupyter Notebook에서 새로 만든 environment를 표시하기 위해 필요한 작업입니다.)
4) Environment py37tf20 생성하기
Anaconda Prompt 터미널의 base 환경에서 아래와 같이 실행합니다
> conda create --name py37tf20 python=3.7
(Python 3.7.3이 설치된 py37tf20 새로운 환경을 만들어집니다.)
> conda env list
(base 와 py37tf20 2개의 환경이 나타납니다.)
> where python
(아직은 base 환경에서의 Python 위치를 보여줌)
> conda activate py37tf20
(base 환경에서 py37tf20 환경으로 변경됩니다. 프롬프트 앞부분도 py37tf20 으로 표시됩니다.)
py37tf20 환경에서 아래와 같이 실행합니다
> where python
(이젠 py37tf20 환경에서의 Python 위치를 보여줌)
> conda install ipykernel
(나중에 Jupyter Notebook에서 새로 만든 환경들이 보이게 하기 위해 필요한 작업-커널표시)
> pip install --upgrade tensorflow
(TensorFlow 최신 버전 2.0.0 설치)
> pip install --upgrade keras
(Keras 최신 버전 설치)
간단한 Python 코드 실행하기
> python (py37tf20 환경에서 Python 프롬프트 진입(>>>))
>>> import tensorflow as tf
tf.__version__
tf.keras.__version__
print(tf.reduce_sum(tf.random.normal([1000, 1000])))
(여기서 위에 기술한 이유로 warning message를 한번 받을수도 있습니다.)
session = tf.Session()
(Session 명령어는 TensorFlow 2.0 부터는 사용되지 않기에 (syntax 변경 예) 에러가 발생합니다.)
exit()
> conda deactivate
(py37tf20 환경에서 기본 base 환경으로 복귀합니다.)
5) Environment py37tf114 추가 생성하기
Anacona Prompt 터미널의 base환경에서 아래와 같이 실행합니다
> conda create --name py37tf114 python=3.7
> conda env list
(이제는 base, py37tf20, py37tf114 3개가 나타납니다.)
> where python
> conda activate py37tf114
py37tf114 환경에서 아래와 같이 실행합니다
> where python
(이젠 py37tf114 환경에서의 Python 위치를 보여줌)
> conda install ipykernel
> pip install --upgrade tensorflow==1.14.0
> pip install --upgrade keras
> pip show numpy
(아마도 1.17.2 로 나올것이며, TensorFlow 1.14.0에서 쓰기에는 높은 버전입니다.)
> pip uninstall numpy
(numpy 제거합니다.)
> pip install numpy==1.16.5
(낮은 버전으로 다시 설치합니다.)
간단한 Python 코드를 실행해 봅니다
> python (py37tf114 환경에서 Python 프롬프트 진입(>>>))
>>> import tensorflow as tf
tf.__version__
tf.keras.__version__
print(tf.reduce_sum(tf.random.normal([1000, 1000])))
session = tf.Session()
exit()
> conda deactivate
(py37tf114 환경에서 기본 base 환경으로 복귀합니다.)
생성한 환경을 삭제할 때는 base 환경에서 아래 명령어를 실행합니다
> conda env remove --name '환경이름'
Jupyter notebook 실행하기
이제 기본적인 설치가 완료되었습니다. anaconda에는 jupyter notebook이 기본으로 설치되어 있습니다.
일반 터미널 창에서 아래와 같이 명령어를 실행합니다.
jupyter notebook
참고. linux의 경우
web browser 설치 및 디스플레이 셋팅이 DISPLAY=ip:0.0으로 설정되어야 합니다. root로 실행할 경우 –allow-root 옵션을 넣어야 합니다.
jupyter notebook --allow-root