※ Tensorflow가 python3.5.x 에서만 동작되는 줄 알고 가상환경으로 별 짓을 다했것만...
3.6 버전에서도 잘만 설치되더라...
Virtualenv로 가상환경 구축
python에서 가상환경 구축에 있어서 사용되는 것들 중 하나인 virtualenv로 가상환경을 구축해보자.
간단하다. 관리자 명령프롬프트 창에서 pip install virtualenv 를 치면 설치는 끝난다.
가상환경 구축 또한 간단하다.
우선, 원하는 버전의 python 실행파일(python.exe)이 있는 폴더보다 하위단계 폴더로 이동한 뒤, 위의 사진 처럼
virtualenv --python={Python.exe의 디렉토리} {위치하고자 하는 디렉토리+폴더명}
명령어를 치면 해당 버전으로 가상환경이 구축이 된다.
물론, 굳이 하위단계 폴더로 이동하지 않고 --python에 디렉토리 주소 전부 입력하면 되지만, 주소에
"Program Files" 처럼 중간에 띄어쓰기가 있으면 오류가 난다...
가상환경 구축이 끝나면, 해당 디렉토리에 가상환경 폴더가 생성되었을 것이다.
폴더을 열어보면 다음과 같이 되어있다.
여기서, DLLs 폴더는 없을것인데, 이것은 Python35폴더에서 가지고 와야한다.
(물론 3.6버전으로 구축했으면 Python36폴더에서 가져와야겟죠?)
가상환경 실행은 "Scripts"폴더에 있는 'activate' 파일을 이용한다. 실행방법은 간단하다. 명령프롬프트 창에
"Scripts"폴더로 이동한 상태에서 activate 명령어를 치면 가상환경으로 전환된다.
가상환경으로 전환되면 위의 사진에서 보이는 것 처럼, 맨 앞에 자신의 가상환경 폴더명(Mypython)이 뜬다.
가상환경에서 나오고 싶으면, deactivate 명령어를 치면된다. 이 명령어는 현재 디렉토리가 어디든 실행된다.
Tensorflow 설치
가상환경이 실행된 상태에서 위의 사진처럼 명령어 한줄만 치면 끝이다. 나는 Python3.6.1버전에서 설치하였다.
pip install tensorflow
위의 명령어는 CPU 기반 tensorflow를 설치할 때이고,
pip install tensorflow-gpu
위의 명령어는 GPU기반 tensorflow를 설치할 때 명령어이다.
하지만, GPU기반 tensorflow는 설치 이전에 CUDA Toolkit과 cuDNN을 미리 설치해야된다.
나는 CUDA v8.0 과 cuDNN v6.0을 설치하였다.
CUDA v8.0 Link - https://developer.nvidia.com/cuda-80-ga2-download-archive
cuDNN v6.0 Link - https://developer.nvidia.com/rdp/cudnn-download
CUDA를 다운 받을때에는 exe(local)로 하여 다운로드 한다.
cuDNN도 자신에게 맞는 버전을 확인하고 다운로드 한다. cuDNN은 다운받기위해 로그인을 해야된다.
우선, CUDA v8.0 exe파일을 실행시키면 빠른 install과 사용자가 직접 선택하여 install하는 선택하는 창이 뜬다.
본인이 원하는 방법으로 설치하면 된다. 글쓴이는 필요없는 드라이버 설치가 싫기때문에 직접선택하여 설치했다.
CUDA가 설치되는 위치는 다음과 같다.
설치가 다 되면, cuDNN 알집 파일을 해제하여 안에 있는 3개의 폴더를 CUDA가 설치되어 있는 폴더에 복사한다.
마지막으로, pip를 이용하여 tensorflow-GPU를 설치하면 된다. tensorboard도 같이 설치가 된다.
Tensorflow 설치확인
설치가 제대로 되었는지 확인하기 위한 방법은 python에서 tensorflow를 import를 해보면 된다.
에러가 뜨지 않는다면 설치완료!
Tensorflow 설치 에러
간혹 버전이 안맞아서 에러가 뜨는 경우가 있다.
CUDA v8.0과 cuDNN v5.1을 설치했는데 다음과 같은 오류가 났다.
에러내용을 보면 "cudnn64_6.dll" 파일을 찾을 수 없으므로, cuDNN 6을 다운받으라는 내용이다. 시키는 대로 하자.
cuDNN 6을 다운받아 압축을 푼 파일들을 CUDA가 설치된 경로에 붙여넣으면 해결된다.
댓글