안녕하세요! 은공지능 공작소의 파이찬입니다.
오늘은 텐서플로 2.0 GPU를 설치해보겠습니다.
Anaconda 설치부터 주피터노트북 설정까지 논스톱으로 진행합니다.
프로그램 호환성 때문에 정말 많은 시행착오가 있었습니다 ㅜㅜ
제가 고생한 만큼 여러분의 고통이 덜어지길 바라며... 시작해보겠습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

1. 설치 개요 및 호환성 요약

(19.07.27 업데이트됨)

 

 

 

NVIDIA DRIVER (최신버전으로)
AnacondaAnaconda3-2019.03-Windows-x86_64
vs_community_2017_15.9.14
cuda_10.0.130_411.31_win10
cudnn-10.0-windows10-x64-v7.6.0.64

여러 시행착오 결과... 위의 조합이 가장 최신버전이면서
설치가 잘 되는 것을 확인했습니다.
위에서 아래로 순서대로 진행하시면 됩니다.

아 한 가지 주의할 점은 주피터 노트북에서 ipykernel 설치까지 하신 후

텐서플로 2.0 gpu 설치를 해주셔야 한다는 것입니다.

즉, 먼저 텐서플로 2.0을 설치 후 ipykernel을 추가할 시,

다시 텐서플로를 아나콘다 커널에서 해줘야 하는 번거로움이 있었습니다.

그러니 여러분들은 꼭 ipykernel을 설치 후 텐서플로를 설치해주셔야 겠습니다.

 

그럼 아나콘다 설치부터 차례대로 진행해보겠습니다.
+
(19.07.27 업데이트 내용)
만약 최신버전의 NVIDIA 드라이버가 없으신 분들은 아래 포스팅을 참조하셔서
NVIDIA 드라이버를 최신버전으로 업그레이드 해주시길 바랍니다.
window10 최소 설치 시, 자동으로 업데이트가 되지 않기 때문에
꼭 수동으로 업그레이드 해주셔야 합니다.
만약 작업표시줄에 뜨는 NVIDIA 아이콘 우클릭 -> 제어판을 실행했을 때,
제어판이 열리지 않는 분들은 최신 버전이 아닌 것입니다.

 

 

https://chan-lab.tistory.com/1

 

Tensorflow-gpu 개발환경 구축

1. NVIDIA를 최신버전으로 업그레이드 합니다. 처음 환경을 구축하시는 분들은 NVIDIA 제어판이 안 열립니다. 드라이브를 너무 오래 전에 설치하신 분들도 새로 다운받아서 설치하셔야 할 겁니다. 아래 링크로 들..

chan-lab.tistory.com

 

 

 

 

 

 

 

2-1. 아나콘다 설치

 

 

 

https://www.anaconda.com/distribution/#download-section

 

Anaconda Python/R Distribution - Anaconda

The open-source Anaconda Distribution is the easiest way to perform Python/R data science and machine learning on Linux, Windows, and Mac OS X. With over 15 million users worldwide, it is the industry standard for developing,…

www.anaconda.com

위의 페이지로 들어가셔서 자신의 OS에 맞는 아나콘다를 다운로드 하시면 됩니다.
저는 19년 07월 기준으로 2019.03 버전을 다운받았습니다.

 

 

 

 

 

자신에 맞는 OS를 선택하여 다운로드 하시길 바랍니다.
참고로 현재 포스팅은 19년 07월 22일이며, 2019.03 anaconda가 최신입니다.

 

 

 

 

 

 

2가지 체크박스에 모두 체크를 해주고 진행합니다.
설치가 완료되었다면 바로 이어서 conda update를 실행해보겠습니다.

 

 

 

 

 

 

 

2-2. conda update 수행

 

 

 

conda update conda
conda update anaconda
conda update python
conda update --all
(base)라고 뜬 상태에서, 위의 명령어들을 차례대로 입력해 줍니다.
저는 최신전의 콘다를 깔아서 그런지 대부분의 업데이트에서
이미 최신버전이라는 메시지가 떴습니다.

하지만 나중에 이 포스팅을 보시는 분들은 꼭 위의 4가지 명령어를 치셔서
업데이트를 제대로 해주시길 바랍니다.
일종의 보험처리라고 생각하시면 마음이 편합니다.

 

 

 

 

 

 

 

2-3. conda 가상환경 만들기

 

 

 

conda info --envs
위의 명령어를 치시면, 자신이 가지고 있는 가상환경의 리스트가 쭉 나옵니다.
저희는 방금 anaconda 설치를 끝냈기 때문에 가상환경이 하나만 있습니다.
base 라고 되어 있는 것이 가상환경 이름입니다.
이제 새로운 가상환경을 하나 추가해 보겠습니다.

 

 

 

 

 

conda info --envs 입력 후 화면

 

 

 

 

 

conda create --name tf2.0-gpu
위의 명령어를 입력하시고 y 버튼을 눌러 진행을 하면
새로운 가상환경이 금방 만들어 집니다.

가상환경이 제대로 만들어졌는지 확인하고 싶으시다면?
 conda info --envs 를 입력하시면 됩니다!

 

 

 

 

 

새로운 가상환경이 성공적으로 추가된 후 모습

 

 

 

 

 

 

 

2-4. Visual Studio 2017 설치하기

 

 

 

https://docs.microsoft.com/ko-kr/visualstudio/releasenotes/vs2017-relnotes

 

Visual Studio 2017 15.9 릴리스 정보

Visual Studio 2017의 향상된 최신 기능에 대한 릴리스 정보입니다. Visual Studio를 사용하여 더 효과적으로 계획하고, 함께 코딩하여 빠르게 제공하세요.

docs.microsoft.com

위의 사이트에 들어가서 비쥬얼 스튜디오 최신버전을 다운받습니다.
19년 7월 9일 기준으로 15.9.14 버전이 출시되었는데,
이것을 다운받으시면 됩니다.


반드시 2019버전 말고 2017 버전을 받으시길 바랍니다!
그렇지 않으면 텐서플로 2.0 호환성 때문에
설치가 제대로 되질 않습니다.

 

 

 

 

 

워크로드는 따로 구성하지 않으셔도 상관 없습니다.

 

 

 

 

 

이렇게 로그인 화면까지 떴다면 정상적으로 설치가 완료가 된 것입니다.
로그인은 굳이 하실 필요 없습니다.

 

 

 

 

 

 

 

2-5. Cuda Toolkit 10.0 설치하기

 

 

 

https://developer.nvidia.com/cuda-toolkit-archive

 

CUDA Toolkit Archive

Previous releases of the CUDA Toolkit, GPU Computing SDK, documentation and developer drivers can be found using the links below. Please select the release you want from the list below, and be sure to check www.nvidia.com/drivers for more recent production

developer.nvidia.com

위의 사이트에 들어가셔서 Cuda Toolkit 10.0 버전을 다운받으시길 바랍니다.
여기서도 호환성을 위하여 Cuda 10.1 버전 말고
반드시 10.0 버전을 받아 주셔야 합니다.

 

 

 

 

 

위와 같이 선택된 상황에서 Base installer를 다운받아주시면 됩니다.
만약에 새로운 패치가 있다면 패치버전까지 모두 받아서 설치해주세요.

 

 

 

 

 

※ 위와 같은 화면이 뜨시는 분들만 진행하세요.

위의 화면은 비쥬얼 스튜디오 프로세스가 진행되고 있어서 나타나는 화면입니다.
설치를 제대로 해주기 위해서는 해당 프로세스를 종료해주시면 됩니다.

위의 화면을 보시면 프로세스 아이디가 나와있습니다. (ID: 9420)
해당 아이디를 가진 프로세스를 작업관리자를 통해 종료해주시면 됩니다.
작업관리자는 Ctrl + Alt + Del 로 실행합니다. 

 

 

 

 

 

위의 그림처럼 진행하면, 비쥬얼스튜디오 프로세스를 찾아 종료할 수 있습니다.
저의 경우 PID가 9420이 할당이 되어있었는데요, PID는 매번 달라지므로
반드시 자신의 PID를 확인 후 작업을 끝내주시기를 바랍니다.

 

 

 

 

 

위와 같은 화면이 떴다면 설치가 정상적으로 완료가 된 것입니다.
Sample과 Documentation은 체크 안해주셔도 됩니다.

 

 

 

 

 

 

 

2-6. CuDNN 파일 옮겨주기

 

 

https://developer.nvidia.com/rdp/cudnn-archive

 

cuDNN Archive

NVIDIA cuDNN is a GPU-accelerated library of primitives for deep neural networks.

developer.nvidia.com

위의 사이트에 접속하셔서, Download cuDNN이라고 된 부분을 눌러주세요.
해당 작업은 맴버쉽이 필요합니다. 하지만 유료는 아니니 안심하세요 ^^

가입은 생각보다 어렵지 않으니, 각자 잘 진행하실 수 있습니다.
가입이 완료되면 다시 해당 페이지로 돌아오셔서
Download cuDNN v7.6.0 (May 20, 2019), for CUDA 10.0 를
클릭해주시면 됩니다.

저희는 지금 윈도우 10 기준으로 설치를 하고 있으므로,
window10 버전을 선택해서 다운받아주시면 됩니다.

 

 

 

 

 

이제 2가지 폴더를 열어주셔야 합니다.

① C드라이브 → Program Files →NVIDIA GPU Computing Toolkit  CUDA → v10.0
② 방금전에 다운받은 파일 압출풀고 실행 → cuda

이제 다운받은 파일을 복사 후 ① 경로에 붙여넣기 해줍니다.
총 3가지 파일을 복붙해주시면 됩니다.


제일먼저 ② 경로의 bin 안의 cudnn64_7.dll 이라는 파일을 복사합니다.
이를 ① 경로의 bin 안에 붙여넣기 해주면 됩니다.

그 다음으로 ② 경로의 include 폴더 안의 cudnn.h 이라는 파일을 복사합니다.
이를 ① 경로의 include 안에 붙여넣기 합니다.

마지막으로 ② 경로의 lib/x64 폴더 안의 cudnn.lib 이라는 파일을 복사하고,
이를 ① 경로의 lib/x64 안에 붙여넣기 해주세요.


좀 쉽게 정리하면, 이름이 같은 폴더에 있는 것을
그대로 복붙한다고 생각하시면 편합니다.
이렇게 cuDNN 파일 환경설정까지 완료했습니다.

 

 

 

 

 

 

 

2-7. jupyter ipykernel 설치하기

 

 

 

conda activate tf2.0-gpu
conda intstall ipykernel jupyter
아나콘다 프롬프트를 실행하고, 아까 만들어두었던 가상환경을 활성화합니다.
(base)라고 표시되었던 부분이 (tf2.0-gpu)라고 뜬다면,
정상적으로 활성화가 된 것입니다.

만약 자신이 만든 가상환경의 이름을 잊어버리셨다면,
conda info --envs 명령어로 확인해보세요.

 

 

 

 

 

python -m ipykernel install --user --name tf2.0-gpu --display-name "tf-gpu"
설치가 정상적으로 되었다면,
이제 주피터 노트북에 나타날 커널 이름을 새롭게 지정해 줍니다.

--display-name 뒤에 나오는 큰따옴표 안은
여러분이 임의로 이름을 지으셔도 상관 없습니다.

 

 

 

 

 

 

 

2-8. Tensorflow 2.0 GPU 설치하기

 

 

 

pip install tensorflow-gpu==2.0.0-beta1
(tf2.0-gpu) 가상환경이 활성화된 상태에서, 위의 명령어를 입력합니다.
커널에서 python을 실행시켜 텐서플로 설치를 확인해도 되지만,
바로 주피터 노트북에서 확인을 해보도록 하겠습니다.

 

 

 

 

 

 

2-9. Jupyter notebook 실행 후 테스트

 

 

 

위와 같이 New 버튼을 눌러보시면, tf-gpu라고 셀렉박스가 뜹니다.
이는 아까 저희가 ipykernel 환경설정에서 새로 만들어준 것입니다.
해당 버튼을 클릭하여 다음으로 진행합니다.

 

 

 

 

 

import tensorflow as tf
print(tf.__version__)
tf.test.is_gpu_available()
output:
2.0.0-beta1
True
주피터 노트북에서, 위와 같이 2.0 버전을 사용중이라는 메시지와
GPU 사용이 가능하다(True)는 메시지가 떴다면 설치가 성공적으로 된 것입니다.

축하드립니다!

 

 

 

 

 

 

 

3. 향후 주피터 노트북 실행법

 

 

 

(base) conda activate tf2.0-gpu
(tf2.0-gpu) jupyter notebook
아나콘다 프롬프트를 이용하여, 위와 같이 주피터 노트북을 실행해도 되지만
아나콘다 프롬프트를 밥먹듯이 들락날락 거리는 사람이 아니라면
상당히 번거로운 일입니다. 그러므로 아래의 방법을 추천드립니다.

 

 

 

 

 

위의 그림처럼, 새로 추가한 앱에 주피터 노트북 커널이 자동으로 뜨게 됩니다.
이 아이콘을 바탕화면에 두시거나, 단축메뉴 모음에 둔다면
조금 더 편리하게 실행이 가능합니다.

막힘없이 진행이 되셨는지 모르겠습니다.
도움이 되셨다면 다행입니다.

긴 포스팅 읽어주셔서 감사합니다.

 

블로그 이미지

pychan

딥러닝에 관련된 시행착오, 사소하지만 중요한 것들, 가능한 모든 여정을 담았습니다.

댓글을 달아 주세요

  • 김원빈 2019.07.26 14:17  댓글주소  수정/삭제  댓글쓰기

    저도 호환성 문제로 어려움을 겪었는데, 얼마나 고생하셨을지 공감 되네요...
    친절한 설명 감사합니다!! 앞으로도 좋은 글 많이 올려 주세요~

  • SGH 2019.09.29 13:34  댓글주소  수정/삭제  댓글쓰기

    >>> print(tf.__version__)
    2.0.0-dev20190907
    >>> tf.test.is_gpu_available()
    2019-09-29 13:29:38.132317: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
    False

    rtx 2060인데 alpha일 때는 잘 됐는데 업그레이드하니까 갑자기 이렇게 될 때 어떻게 해야할 것 같나요?

    • Favicon of https://chan-lab.tistory.com BlogIcon pychan 2019.09.29 17:23 신고  댓글주소  수정/삭제

      안녕하세요. SGH님. 먼저 해당 메시지는 에러가 아니라, 경고메시지임을 알려드립니다.
      먼저 GPU가 가능한지 아래 방법으로 체크해보시면 됩니디.

      from tensorflow.python.client import device_lib
      device_lib.list_local_devices()

      경고 메시지가 싫으시면, https://www.tensorflow.org/install/source를 참조하셔서 Bazel을 설치해주시면 될 것 같습니다.

  • ssw 2019.11.22 13:47  댓글주소  수정/삭제  댓글쓰기

    최신 버전 호환설명, 좋은 글 감사합니다.
    인터넷으로 예제를 찾으면서 하던중 placeholder가 tensorflow 2.0버전 부터는 삭제가 됬다고 하더라고요?? 이런 부분은 어떻게 처리해야 할까요??placeholder를 대체해서 어떻게 코드를 바꾸면 될까요?

    X=tf.placeholder(tf.float32, [None, IMG_H, IMG_W, IMG_C], None)
    Y=tf.placeholder(tf.int32, [None], None)

    • Favicon of https://chan-lab.tistory.com BlogIcon pychan 2020.01.21 20:56 신고  댓글주소  수정/삭제

      너무 댓글이 늦었네요 ㅜㅜ 한동안 관리를 안했더니.. 플레이스 홀더 대신에, 그냥 모델 shape를 맞춰 주시면 됩니다 감사합니다.

  • tla101 2019.11.23 16:25  댓글주소  수정/삭제  댓글쓰기

    In [1]: import tensorflow as tf
    print(tf.__version__)
    tf.test.is_gpu_available()
    입력해주었는데
    2.0.0-beta1
    Out[1]: False
    이렇게 뜨네요 뭐가문젠가요?

    • Favicon of https://chan-lab.tistory.com BlogIcon pychan 2020.01.21 20:57 신고  댓글주소  수정/삭제

      너무 댓글이 늦어 죄송합니다ㅜㅜ 텐서플로 버전은 제대로 깔린 것 같은데... 다시 하나씩 점검해보는 수 밖에 없는 것 같습니다.. gpu 쓰기 참 힘들죠...

  • 2019.12.29 06:34  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

  • 455 2020.02.09 13:00  댓글주소  수정/삭제  댓글쓰기

    ERROR: Could not find a version that satisfies the requirement tensorflow-gpu==2.0.0-beta1 (from versions: none)
    ERROR: No matching distribution found for tensorflow-gpu==2.0.0-beta1

    이런 에러는 어떻게 해야되나요?

    • 45 2020.02.12 03:06  댓글주소  수정/삭제

      저도 같은문제로 고민하면서 찾아봤는데 현재 tensorflow는 python 3.5~3.7의 요구조건을 가지고 있어서 지금 python을 그냥 설치하면 3.8로 설치가 되기 때문에 발생하는 오류였습니다. 그래서 3.7로 python을 다운그레이드 했더니 저는 해결되었습니다!

  • 박성엽 2020.02.12 01:10  댓글주소  수정/삭제  댓글쓰기

    안녕하세요?
    위 절차대로 하고나서
    jupyter notebook으로 들어가

    import tensorflow as tf
    을 실행하면...

    아래 오류가 나네요...
    이유가 무얼까요? 도움 부탁 드립니다.

    ImportError: Could not find 'nvcuda.dll'. TensorFlow requires that this DLL be installed in a directory that is named in your %PATH% environment variable. Typically it is installed in 'C:\Windows\System32'. If it is not present, ensure that you have a CUDA-capable GPU with the correct driver installed.

  • 45 2020.02.12 05:38  댓글주소  수정/삭제  댓글쓰기

    안녕하세요~
    좋은글 덕분에 환경설정을 하루만에 끝냈습니다. ㅎㅎ 감사합니다.

    os: windows 10 64 bit
    python: 3.7.6
    anaconda3: python(3.7.4) 64 bit
    cuda: 10.1
    cuDNN: 10.1
    tensorflow-gpu: 2.1.0

    https://github.com/tensorflow/tensorflow/issues/22794: Dll load failed
    https://github.com/h5py/h5py/issues/853: HDF5 library version mismatched

  • 돼지엄마 2020.03.09 18:03  댓글주소  수정/삭제  댓글쓰기

    (tf2.0-gpu) C:\Users\na>pip install tensorflow-gpu==2.0.0-beta1
    ERROR: Could not find a version that satisfies the requirement tensorflow-gpu==2.0.0-beta1 (from versions: none)
    ERROR: No matching distribution found for tensorflow-gpu==2.0.0-beta1

    그대로 따라했는데 tensorflow 설치가 안됩니다...
    어떻게 해결하는게 좋을까요?