OSX 10.12 Sierra 를 기준으로 설명합니다.
(리눅스, 윈도우 환경에서의 설치는 일단 생략합니다. 저도 안해봐서...^^ 혹시 궁금하신 분 계시면 댓글 남겨주세요.)
I. 텐서플로우 설치 전 필요한 환경 준비작업 (-_-;;)
텐서플로우 설치 자체는 굉장히 심플한데, 그 설치를 위해 환경을 설정하는게 좀 이것저것 있네요. 이 기본환경만 잘 준비되어 있으면, 텐서플로우를 몇번이고 지웠다 다시설치했다, 디렉토리 여러개에 다른 버전을 설치했다가 하는 등 부담없이 작업이 가능하니까, 이 부분을 잘 해줘야 합니다.
1) - CUDA/cuDNN 등 GPU연산을 위해 NVIDIA사에서 제공하는 라이브러리 설치 (꼭 필요한건 아닙니다 패스해도 상관없...)
- Xcode 8.2.1 혹은 7.3 (GPU 연산을 위해서는 이전 버전의 Xcode가 필요합니다 2017/04/18 기준)
2) Homebrew : 파이썬, 깃(git) 등의 패키지 설치 및 관리를 편하게 하기 위해 필요
3) 파이썬 (2.7이 맥에 기본으로 설치되어 있지만, 저는 무조건 최신을 선호하니까 homebrew를 이용해서 3.6을 따로 설치하겠습니다)
4) git (필수설치요소는 아닌데, 텐서플로우 소스를 쉽게 다운/설치/업그레이드하기위해서는 있으면 좋을듯 합니다)
5) bazel (구글에서 제공하는 빌드툴입니다. 이게 있어야 나중에 여러 유틸리티들을 빌드할 수 있습니다)
6) virtualenv (파이썬 패키지 중의 하나로, 가상환경을 만들어줍니다. 이 글에서는 virtualenv 기준으로 설명합니다. 다른 환경에서 진행은 여기를 참조 하세요)
1-1). 내 하드웨어가 텐서플로우 GPU버전을 돌릴 수 있는지, CPU버전만 돌릴 수 있는지 확인
텐서플로우는 굉장히 빡세게 수학/통계 연산을 수행하기 때문에 GPU를 연산에 활용할 수 있습니다. 단, NVIDIA 그래픽카드만 가능합니다.
GPU버전의 텐서플로우를 이용할 수 있으면 아무래도 학습에 걸리는 시간 등에 대해 잇점이 있겠지요.
맥북프로의 경우 아마 late2013 모델인가 2014모델인가 까지 NVidia GTX시리즈 그래픽카드를 채용해서 GPU버전의 사용이 가능하고, 그 이후버전은 안됩니다.(구형만 된다니!)
* 본인의 PC가 GPU버전 설치가 가능한지 확인하시려면 우선
1) 그래픽카드가 뭔지 확인 : 맥의 경우 사과아이콘-> 이 Mac에 관하여 선택후 개요의 그래픽 부분 혹은 디스플레이탭의 그래픽카드 이름 확인
2) 나의 그래픽카드가 NVIDIA 의 CUDA GPU 페이지에 있는지 확인 (제경우엔 NVIDIA GTX750M 그래픽카드인데 리스트에 있네요)
리스트에 있다면 GPU버전을 설치해도 괜챃습니다. 이후부터는 CPU버전/GPU버전에 따라 차이가 있는 경우 각각 설명하겠습니다.
1-2). Xcode 와 command line tools 설치
- 텐서플로우 학습과 여러 작업에 사용되는 프로그램들을 빌드하기 위해서는 Xcode가 필요합니다.
- 텐서플로우 CPU: 최신의 Xcode 및 툴을 사용가능 (혹은 없이도 사용은 가능)
- 텐서플로우 GPU: OS버전에 따라 사용가능한 Xcode 버전이 다름 ( 2017/04/22 기준 . 표1 참고)
Toolchain | Mac OSX Version (native x86_64) | ||
---|---|---|---|
Xcode | Apple LLVM | 10.11 | 10.12 |
7.2 | 7.0.3 | YES | NO |
8.2 | 8.0.0 | NO | YES |
* GPU버전을 위해 8.2 등의 예전버전을 설치하시려면 :
1) Apple Developer Download Page (Apple 계정으로 로그인 필요)
2) Xcode 8.2.1.xip 를 다운로드 받아 압축을 푼 후, 어플리케이션 폴더로 끌어서 설치하세요.
- 이미 Xcode의 최신버전을 사용하고 계시다면 압축푼 Xcode.app 을 Xcode82.app 등 다른이름으로 변경하여 복사하시면 두개를 번갈아가며 사용하실 수 있습니다.
- 실수로 강제업그레이드 안하시려면 기존 Xcode 없으시더라도 이름을 바꿔 설치하는게 나을듯.
3) 터미널을 열어 아래의 명령어를 수행 (앱명이 Xcode82.app 이라고 가정 . 바꾼 이름으로 대체하세요)
$ xcode-select -s /Applications/Xcode82.app/Contents/Developer # 사용할 Xcode 선택 (나중에 기존꺼랑 왔다갔다할 때 사용)
$ xcode-select --install # cuda,cudnn컴파일에 필요한 커맨드라인툴 설치
$ /usr/bin/cc --version # 제대로 설치되었는지 cc 버전확인
1-3) NVIDIA CUDA, CUDnn 설치
* GPU버전의 텐서플로우를 사용하실 경우만 설치하시면 됩니다. (본인의 그래픽카드가 호환가능한지 확인: 여기서)
설치자체는 간단합니다. 다만 cuDNN 라이브러리파일을 다운로드 받기위해서는 NVIDIA에 계정을 만들어야 합니다...^^;;
a) CUDA 라이브러리 설치: https://developer.nvidia.com/cuda-downloads 로 가서 본인의 시스템에 맞는 설치파일을 다운로드합니다.( 저의 경우 Mac OSX_X64에 10.12 버전)
b) 다운로드받은 설치파일을 실행하여 설치 (귀찮으니까 다 설치해줍니다)
설치가 완료되면 다음의 두군데 디렉토리에 cuda 가 설치됩니다
/Developers/NVIDIA/CUDA-8.0
/usr/local/cuda
환경파일에 cuda경로를 설정해줍니다.
홈폴더 밑에 있는 .bashrc 를 수정 (맥의 디폴트 텍스트편집기로 수정하심 안됩니다!)
터미널을 열어서
vi .bash_profile 혹은 nano .bash_profile 해서 나오는 내용 제일 아랫부분에 아래의 내용을 추가해주세요.
export PATH=/Developer/NVIDIA/CUDA-8.0/bin${PATH:+:${PATH}}
export DYLD_LIBRARY_PATH=/Developer/NVIDIA/CUDA-8.0/lib\
${DYLD_LIBRARY_PATH:+:${DYLD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda
export LD_LIBRARY_PATH="$CUDA_HOME/lib:$LD_LIBRARY_PATH"
export PATH="$CUDA_HOME/bin:$PATH"
c) cuDNN 라이브러리도 설치: https://developer.nvidia.com/cudnn 에서 다운로드하세요(회원가입필요)
cuDNN의 경우 그냥 압축파일이라 풀면 cuda폴더 안에 lib 과 include 폴더만 딸랑 생깁니다. 이 폴더 안의 파일들을 전부 cuda library 폴더 안에 집어넣어 주셔야 합니다.
압축을 풀었다면 아래의 명령을 수행하여 cuda 디렉토리 안으로 라이브러리를 복사해줍니다.
$ sudo cp /압축파일푼폴더/cuda/lib/* /usr/local/cuda/lib/
$ sudo cp /압축파일푼폴더/cuda/include/* /usr/local/cuda/include/
d) 원래는 여기까지 하면 cuda 관련한 설치는 다 종료되었어야 하지만, 나중에 파일들을 빌드하면서 라이브러리를 못찾는다고 하는 경우가 발생할 수 있습니다.
이경우 대부분 libcuda.dylib 과 libcudnn.dylib 에서 버전명을 넣어준파일과 없는파일관련한 오류가 발생하는데, 결국은 동일한파일이므로 심링크를 걸어주면 됩니다.
2) Homebrew 설치 및 최신버전으로 업그레이드
설치부분은 이미 Homebrew를 설치해 둔 분들은 패스하셔도 됩니다.
(설치여부는 터미널을 열어서 brew 라고 쳐서 command not found라고 나오지 않고 뭐가 주루룩 나오면 이미 설치되어 있는겁니다)
Homebrew 설치는 터미널을 열고 아래의 명령어를 쳐줍니다:
$/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
설치가 완료되었거나, 이미 설치하신 분들은 아래의 명령어를 입력하여 brew 와 관련패키지들을 최신버전으로 업그레이드 해줍니다.
$ brew update
$ brew upgrade
3) 파이썬 3.7 설치
엄청 간단합니다.
$ brew install python3
4) git 설치
이것도 완전 간단
$ brew install git
5) bazel 설치
$ brew install bazel
6) virtualenv 설치
python3.6 용 virtualenv 설치
$ pip3 install virtualenv
python2.7용 virtualenv 설치
$pip install virtualenv
텐서플로우를 돌릴 파이썬 버전에 따라 virtualenv를 설치하세요 (둘다 설치하셔도 괜찮습니다)
여기까지 잘 따라하셨다면, 텐서플로우를 설치하고 사용하기 위한 기본적인 환경을 다 잡으신 겁니다!
다음 회에서는 실제 텐서플로우를 사용하기 위한 가상환경을 생성하고, 가상환경 내에서 tensorflow를 설치해 보도록 하겠습니다!