[Study0] 딥러닝 개발환경 구축하기(Windows 환경)
(created: ‘20.04.06, updated: ‘20.07.06)
- 딥러닝 개발환경 개요
- 개발환경 설치 과정
- 딥러닝 개발환경 참고자료
딥러닝 개발환경 개요
딥러닝은 Windows, Linux, MAC 환경에서 모두 실행 할 수 있습니다.
머신러닝/딥러닝에 Python, Java, C++, R 등 다양한 프로그래밍 언어를 사용할 수 있지만, 대부분의 머신러닝과 딥 러닝 프레임워크는 Python용으로 만들어지며, AI 분야에서 Python을 가장 활발하게 사용하고 있습니다.
Windows 환경에서 Python 언어 딥 러닝 개발환경을 구축하는 과정을 소개합니다.
Anaconda 가상환경 관리자(패키지 관리자), Tensorflow 프레임워크 및 머신러닝 라이브러리 설치 방법 등을 소개 합니다.
아래 사이트를 참고하여 작성하였습니다.
개발환경 설치 과정
1. 아나콘다(Anaconda) 설치하기
Anaconda는 Data Science & Machine Learning 패키지를 일괄 설치 및 패키지 의존성를 관리해주는 패키지 관리자이며, 가상환경 관리자 입니다.
Anaconda를 통해 Arrary 연산 패키지 넘파이(NumPy), 행렬 데이터 구조 분석 패키지 판다스(Pandas), 도형/그래프 패키지 맷플롯립(matplotlib), Machine Learning and Data Mining 패키지 사이킷-런(Scikit-learn) 등 수십여 종의 기본적인 패키지를 일괄 설치하고, 가상환경을 만들어서 가상환경 단위로 의존성을 관리할 수 있습니다.
https://www.anaconda.com/distribution/에 접속하여 Anaconda를 다운로드 합니다.
다운로드 된 파일을 실행하여 설치합니다.
Installation Type 선택 화면에서는 Default로 선택된 “Just Me (recommended)”를 선택 합니다. “All Users (requires admin privileges)”를 선택하면 conda 명령어 실행 시 admin 권한이 필요 합니다. 이 경우 “conda prompt” 실행 시 “관리자 권한”으로 실행 하면 됩니다.
Python 개발 환경을 처음 설치 하는 경우는, 아래 선택 화면에서 체크박스 2개를 모두 체크 후 Install을 선택 합니다. (Python이 기 설치되어 있는 경우는 “Add Anaconda to the system PATH…” 항목을 체크하면 충돌이 발생할 수 있습니다.)
윈도우10 아나콘다 설치 세부과정은 아나콘다(Anaconda) 설치 하기 on Windows 사이트를 참고 하세요.
2. Anaconda 가상 개발환경 사용하기
(가상환경 이름을 vane에서 pinwheel로 변경함 - '20.6.20일 Update)
가상환경을 복제하는 방법은 Python Virtualenv 환경 복제하기를 참고하세요.
패키지 버전관리(의존성 관리)를 위해 가상환경을 만듭니다. Anaconda prompt에서 아래 명령을 수행 합니다.
- 가상환경 생성
conda create --name 가상환경_이름 python=파이썬_버전
- ex.
conda create --name pinwheel python=3.7
(바람개비를 의미하는 pinwheel을 가상환경 이름으로 사용함)
- 가상환경 리스트 보기
conda info --envs
conda env list
- 가상환경 활성화:
activate 가상환경_이름
- ex.
activate pinwheel
- ex.
- 가상환경 비활성화:
deactivate 가상환경_이름
또는deactivate
- ex.
deactivate pinwheel
- ex.
conda 명령어 사용 시 아래와 같은 SSL Certificate 오류가 발생하는 경우는,
Could not fetch URL https://pypi.org/…: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host=’pypi.org’, port=443): Max retries exceeded with url: … (Caused by SSLError(SSLCertVerificationError(1, ‘[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1076)’)))
임시 해결책으로 아래와 같이 ssl_verify 설정을 false로 변경하면 문제를 비켜갈 수 있습니다.(보안상 권장되지는 않습니다.)
conda config --set ssl_verify false
https://rfriend.tistory.com/304 블로그에서 이 문제의 다양한 해결 방법을 확인 할 수 있습니다.
3. IDE(Visual Studio Code) 설치하기
개발 IDE는 Visual Studio Code를 설치 합니다. PyCharm 보다 가볍고 오픈소스 버전이라서 자유롭게 사용할 수 있습니다.
https://code.visualstudio.com/Download에서 64bit Installer 버전을 다운로드 하여 설치 합니다.
4. 텐서플로 GPU 버전 설치하기 (NVIDIA GPU가 있는 경우)
(reference: TensorFlow 2 설치 and TensorFlow > 설치 > GPU 지원)
4-1. GPU 모델 및 CUDA 지원 여부 확인하기
머신러닝/딥러닝 학습을 위해서는 고속의 병렬처리가 필요하며, GPU(Graphics Processing Unit, 비디오 카드)가 고속의 병렬처리를 수행하는 장치 입니다.
딥러닝 프레임워크를 지원하는 CUDA, cuDNN를 설치하기 위해서는 NVIDIA GPU가 필요 합니다.
현재 컴퓨터의 GPU 모델을 확인하고, 해당 모델이 CUDA, cuDNN 드라이버를 지원하는지 확인이 필요합니다.
- 내 PC에 장착된 GPU 모델 확인 : “윈도우키+X” > 장치관리자 클릭 > 디스플레이 어댑터 클릭 > 모델명 확인
- 내 GPU가 CUDA 툴킷을 활용할 수 있는지 https://developer.nvidia.com/cuda-gpus에서 확인 합니다.
4-2. CUDA(GPU Computing SDK) 설치하기
딥러닝 프레임워크에서 NVIDIA GPU를 사용하기 위해서는 CUDA와 cuDDN을 설치해야 합니다. 이 과정은 CUDA 지원이 가능한 NVIDIA GPU를 보유한 경우에만 진행합니다.
- https://developer.nvidia.com/cuda-toolkit-archive에서 원하는 버전을 다운로드 받습니다.
- 현재 설치하려는 딥러닝 라이브러리와 호환되는 버전을 설치해야 합니다.
- 설치할 Tensorflow 버전(1.x, 2.x)과 호환되는 버전을 다운로드 합니다. (가장 최신 버전이 설치하는 것이 아니고, GPU 모델 및 설치할 딥러닝 라이브러리 버전과 호환되는 버전을 설치해야 합니다. 여기서는 10.0을 선택 합니다.)
-
자세한 사항은 NVIDIA CUDA INSTALLATION GUIDE FOR MICROSOFT WINDOWS 와 CUDA QUICK START GUIDE 문서를 참고 합니다.
-
Tensorflow GPU 지원 관련 내용은 https://www.tensorflow.org/install/gpu 사이트를 참고 하세요.
4-3. cuDNN(GPU 가속 라이브러리) 설치하기
GPU 가속을 위한 라이브러리인 cuDNN을 설치 합니다. CUDA를 설치한 이후 진행 합니다.
- https://developer.nvidia.com/rdp/cudnn-download에서 다운로드 합니다.
- 다운로드를 위해서는 NVIDIA Developer 사이트에 로그인 하고, License Agreement에 동의해야 합니다.
- CUDA 버전과 호환되는 cuDNN 버전을 선택하여 다운로드 합니다.
- 낮은 버전의 cuDNN은 Archived cuDNN Releases 사이트에서 다운로드 할 수 있습니다. (CUDA 10.0을 설치한 경우 cuDNN 7.4.2 for CUDA 10.0을 선택 합니다.)
4-4. 텐서플로 설치하기(GPU 버전 설치하기)
아래 명령으로 tensorflow GPU 버전을 설치 합니다. tensorflow GPU 버전을 사용하기 위해서는 NVIDIA Cuda Toolkit 설치와 cuDNN 설치를 완료해야 합니다.
pip install tensorflow-gpu
anaconda를 사용하는 경우에도 tensorflow 설치는 Python 패키지 관리자인 pip 명령을 이용하는 것을 권장 합니다. conda install
명령을 사용하는 경우 패키지가 정상적으로 설치되지 않을 수 있습니다.
Python을 실행하여 tensorflow가 잘 설치되었는지 확인 합니다. (“»>” 문자열은 Python 명령어를 실행할 수 있는 Interpreter Prompt 입니다.) tf.test.is_gpu_available() 명령은 GPU가 사용 가능한 상태인지를 알려 줍니다.(결과가 True일 경우 제대로 설치 된 것입니다.)
>>> import tensorflow as tf
>>> tf.test.is_gpu_available()
5. 텐서플로 CPU 버전 설치하기 (NVIDIA GPU가 없는 경우)
(reference: TensorFlow 2 설치 and TensorFlow > 설치 > pip를 사용하여 TensorFlow 설치)
아래 명령으로 tensorflow CPU 버전을 설치 합니다.
pip install tensorflow
anaconda를 사용하는 경우에도 tensorflow 설치는 Python 패키지 관리자인 pip 명령을 이용하는 것을 권장 합니다. conda install
명령을 사용하는 경우 패키지가 정상적으로 설치되지 않을 수 있습니다.
Python을 실행하여 tensorflow가 잘 설치되었는지 확인 합니다. print(tf.__version)) 명령은 tensorflow가 정상적으로 설치된 경우 tensorflow 버전을 출력 합니다.
>>> import tensorflow as tf
>>> print(tf.__version__)
[tensorflow 설치 에러 발생 시 tensorflow 설치 추가 옵션]
tensorflow가 정상적으로 설치되지 않는 경우, 아래 두가지 항목을 추가로 설치/설정 후 tensorflow를 재설치 합니다.
[Microsoft Visual C++ 재배포 가능 패키지 설치]
TensorFlow 2.1.0 버전부터 msvcp140_1.dll 파일(Microsoft Visual C++ 재배포 가능 패키지 파일)이 이 패키지에 필요합니다. 재배포 가능 패키지는 Visual Studio 2019와 함께 제공되지만 별도로 설치할 수 있습니다.
Visual Studio 2015, 2017 및 2019용 Microsoft Visual C++ 재배포 가능 패키지는 Microsoft Visual C++ 다운로드에서 다운로드하여 설치할 수 있습니다.
[Windows에서 긴 경로 사용 설정]
Windows 10에서 긴 경로명을 사용할 수 있도록, 아래와 같이 “Enable NTFS long paths policy” 옵션을 활성화 해야 합니다.
- Windows 키를 클릭 후,
gpedit.msc
라고 입력 후 Enter 키를 눌러 “그룹 로컬 정책 편집기”를 실행합니다. -
다음의 경로에서 “Win32 긴 경로 사용” 항목을 우클릭하여 “사용”으로 변경 합니다.
- 로컬 컴퓨터 정책 > 컴퓨터 구성 > 관리 템플릿 > 시스템 > 파일 시스템
6. 기타 라이브러리 설치하기
Anaconda를 설치하면 기본 개발환경으로 “base”라는 가상환경이 설정되어 있습니다. “base” 가상환경에는 numpy, pandas, matplolib 등 Data Science에 필요한 기본적인 Python 패키지들이 설치되어 있습니다.
위에 설명한 Anaconda 가상 개발환경 사용하기 부분에서 “pinwheel” 가상환경을 새로 만들었는데, 이 환경에는 아직 필요한 패키지 틀이 설치되지 않는 상태 입니다.
아래 명령으로 “pinwheel” 가상 환경을 활성화 합니다. “(pinwheel) C:\Users\user>”와 같이 Prompt 맨 앞부분에 “(pinwheel)”이라는 문자열이 추가된 것을 확인할 수 있습니다. (사용자 Home Directory 환경에 따라 Prompt 문자열은 달라질 수 있습니다.)
conda activate pinwheel
아래와 같이 기본적인 패키지 몇 가지를 설치 합니다. 여러 개의 패키지(라이브러리)를 한번에 설치할 수 있으며, Spacebar(공백문자)로 구분하여 여러 개 패키지를 나열할 수 있습니다.
conda install ipython notebook jupyter
conda install numpy pandas scipy matplotlib seaborn scikit-learn
ipython, notebook, jupyter는 jypyter notebook 관련 패키지들 입니다. numpy, pandas, scipy는 tensorflow 패키지를 설치했다면 이미 함께 설치되었을 것 입니다. matplotlib, seaborn는 그래프를 그려주는 Visualization 패키지이며, scikit-learn는 다양한 머신러닝 알고리즘을 지원하는 패키지 입니다.
7. Jupyter Notebook 개발환경 테스트
아래 명령으로 Jupyter Notebook을 실행할 수 있습니다. 위에서 “pinwheel”이라는 Anaconda 가상환경에 Jupyter Notebook을 설치했기 때문에 “pinwheel” 가상환경에서 아래 명령을 실행 해야 합니다. 아래 명령을 실행하기 전에 Prompt 맨 앞 부분에 “(pinwheel)”이 나타나 있는지 확인 합니다.
jupyter notebook
Jupyter Notebook 사용법은 Jupyter Notebook 기본 사용법 블로그에 잘 설명되어 있습니다.