0. 들어가기 앞서
공부하면서 알았던 팁을 공유하고자 글을 정리해봅니다. 두서 없는 글이라도 양해부탁드리겠습니다.
이 글을 찾아 오실 정도면 Tensorflow가 무엇인지 모르실리 없으니 거두절미하고 본론으로 들어가죠.
Tensorflow 초기에는 Ubuntu와 Mac 만을 정식으로 지원하고, Windows에서 사용하기 위해서는 복잡한 과정이 필요했습니다.
windows에서 사용하는 경우에는 docker를 이용한 가상환경을 설정하여 사용하거나, 소스에서 bazel을 이용하여 직접 컴파일하여 사용하는 방법뿐이였습니다.
하지만 최근, 0.12rc (2016년 12월) 버전이 나오면서 Tensorflow가 pip를 통해서 Windows에서도 간편하게 설치가 가능하게 되었습니다.
다만 제약 사항이 몇 가지가 있는데 기존의 Ubuntu와 Mac 버전과는 달리 Windows 버전은 Python 3.5 만을 지원합니다.
따라서 주로 Python 2.7을 기준으로 작성된 예제코드를 그대로 복사하셔서 사용하시면 몇가지 고쳐주셔야 하는 점들이 있습니다.
다만 Windows 환경이 대부분의 사람들이 현재 사용하고 있는 시스템이고, ubuntu를 새로깔고 하는 번거로움들을 생각했을 때, Tensorflow 프레임워크를 사용해볼 수 있다는 점에서 메리트가 있다고 생각합니다.
여기에 학생들이 주로 많이 사용하는 Visual Studio라는 IDE(개발환경)에 Python 지원이 늘어나고 있다는 추세에 따라, VS 에서 Tensorflow를 사용할 수 있도록 설정하는 방법을 적고자 합니다.
1. 준비사항
- Visual Studio 2013 이상의 버전
2013, 2015, 2017 모두 괜찮습니다. 개인적으로 2015 이상을 추천합니다)
- Anaconda Python 3.5 버전
2017년 1월 기준으로 4.2.0이 최신 버전입니다. Tensorflow가 3.5이상의 버전을 요구하기 때문에 3.5 버전을 까셔야합니다.
설치과정 중에 환경변수(PATH)를 설정하겠냐고 물으면 꼭 설정하도록 합니다.
- Python Tools for Visual Studio
Python 환경을 VS에서 사용할 수 있도록 하는 플러그인입니다. 2015 버전부터는 설치 시 옵션으로 설정할 수 있습니다.
VS 2013의 경우에는, 최신버전이 아닌 2.1 버전을 받으셔야합니다.
https://microsoft.github.io/PTVS/
GPU 버전을 위한 추가 설치
- CUDA compute capability 3.0 이상이 지원되는 NVIDIA GPU
GPU 연산 위해서 필요한 필수품입니다. CUDA도 시간이 지나면서 명령어들이 늘어나는데 이것을 CUDA compute capability라고 보시면 됩니다.
MAXWELL 아키텍처 이후부터는 3.0이상 지원한다고 보시면 됩니다.
자세한 모델별 지원 상황은 아래 페이지를 참조하시면 됩니다.
- CUDA 8.0 드라이버
CUDA 드라이버 입니다. 아래 사이트에서 OS에 맞게 다운받으시면 됩니다.
https://developer.nvidia.com/cuda-downloads
- cuDNN 5.1
cuDNN은 딥러닝을 위해 NVIDIA에서 제공하는 CUDA 라이브러리 입니다. 회원가입 과정을 거치신 후에 무료로 받으실 수 있습니다.
https://developer.nvidia.com/cudnn
2. 설치 - pip를 이용한 tensorflow 패키지 설치
위의 소프트웨어를 모두 설치하셨으면 이제 Tensorflow를 pip를 통해서 설치하는 작업을 해야합니다.
환경변수 설정이 제대로 되었는지 cmd 혹은 powershell 중 편하신 쉘을 관리자 권한으로 하나를 실행 시켜 다음과 같은 명령어를 쳐서 pip와 python 호출을 확인합니다
pip
정상적으로 환경변수 설정이 되었다면 다음과 같이 pip에 관한 설명이 나올 것입니다.
같은 방법으로 다시 쉘에
python
을 쳐서 Anaconda에 Python 3.5 인지 확인을 합니다.
※python shell에서 종료는 exit()를 치시거나 Ctrl+c 로 빠져나오실 수 있습니다.
이제 python 설정이 완료되었습니다.
이제 쉘에서 다음과 같은 커맨드를 사용하시려는 버전에 따라서 입력합니다.
(CPU only)
pip install tensorflow
(GPU version)
pip install tensorflow-gpu
그러면 pip에서 Anaconda 환경에 tensorflow를 자동으로 설치합니다.
여기까지 하시면 Anaconda에 tensorflow 라이브러리 설치가 완료되었습니다. Visual Studio외의 다른 Windows용 Python IDE를 사용하신다면 여기서 종료하셔도 좋습니다
Anaconda Python 3.5 버전을 interpreter로 사용하시면 바로 사용가능하십니다.
3. 설치(2) Visual Studio 설정
앞서 Python Tools for Visual Studio를 설치하셨다면, 프로젝트 생성 시, Python을 선택하실 수 있습니다.
프로젝트를 생성하시면 Solution Explorer에 Python Environments라는 항목이 있습니다.
이 환경설정이 python interpreter를 결정하게 됩니다.
여기서 앞서 설치한 Anaconda의 python 3.5 버전을 설정해주시면 됩니다.
위와 같이 Anaconda가 하위항목으로 뜬다면, 클릭하여 아래와 같이 properties에서 python 버전을 확인 하실 수 있습니다.
위와 같이 Python 2.7 버전으로 뜨는 경우, Python Interpreter를 바꾸어 주어야합니다.
Python Environments 우클릭 --> Add/Remove Python Environments를 선택하여서 알맞는 Anaconda 버전을 선택합니다. Anaconda의 경우 이름만으로 2.7버전과 3.5 버전 분간이 어려운데, 이 때는 위 처럼 추가하신 후에, Properties를 통해서 확인하셔야합니다.
※ 차후 프로젝트를 위해서 이 설정을 유지하고 싶으신 경우,
Python Environments 우클릭 --> View all existing Python Environments를 선택하시면 다음과 같은 창이 뜹니다.
여기서 아래에 뜨는 Overview에서 Anaconda3 (python 3.5 버전)을 확인하신 후, Make this the default environment for new project를 클릭하시면 이 Python 환경설정 (Tensorflow가 깔린)이 기본 환경이 됩니다.
Tensorflow를 깐 후에는 위처럼 Anaconda에 진행바(?)가 뜨는데, 이는 Visual Studio에서 Peek와 같은 기능을 제공하기 Intellisense DB 작업을 하고 있는 것으로, 이 작업이 끝나야만, Tensorflow 관련 함수, 클래스 들의 자동 완성이 지원이 됩니다.
시간이 꽤 걸리는 작업입니다.
4. 설치 확인
위의 DB 작업이 다 끝나지 않더라고 tensorflow의 정상 설치 여부는 실험해볼 수 있습니다.
https://www.tensorflow.org/get_started/
위 사이트에서 Tensorflow 예제 코드를 복사해와서 실행 시켜보면 다음과 같은 결과를 확인 할 수가 있습니다.
이와 같이 예제를 통해서 GPU 자원도 정상적으로 사용하여 Tensorflow를 사용할 수 있는 것을 확인 할 수 있습니다.