새소식

머신러닝,딥러닝

아나콘다 가상환경을 이용해 딥러닝 개발 환경 만들기 (GPU용)

  • -

안녕하세요. 오늘은 GPU가 있는 컴퓨터에서 아나콘다 가상환경을 이용해 딥러닝 개발 환경 만드는 방법을 소개드리겠습니다.

 

CPU만 있는 환경에서 딥러닝 개발 환경 만드는 방법은 아래글을 참고하세요.

2020/09/02 - [머신러닝,딥러닝] - 아나콘다 가상환경을 이용해 딥러닝 개발 환경 만들기 (CPU용)

 

아나콘다 가상환경을 이용해 딥러닝 개발 환경 만들기 (CPU용)

오늘은 아나콘다를 이용해 딥러닝 개발 환경을 만드는 법에 대해 소개드리겠습니다. 소개에 앞서 가상 환경이 왜 필요하냐? 하면 개발자는 각각 다른 환경에서 개발할 수 있습니다. 만약 다른 �

sincerechloe.tistory.com

 

GPU가 있는 환경에서 아나콘다를 이용해 딥러닝 개발 환경을 만드는 방법은 다음과 같은 방법이 있습니다.

1. 실제 로컬 컴퓨터에 CUDA와 cuDNN 각각을 설치하는 방법

2. 아나콘다 환경에서 CUDA, cuDNN을 설치하는 방법 (tensorflow-gpu 명령어를 통해)

3. 아나콘다 환경에서 CUDA, cuDNN을 설치하는 방법 (수동 설치)

 

제가 추천하는 방법은 2번 방법이고

다른 방법들은 이런 방법도 있구나 정도로 아셔도 될 것 같습니다. 

 

(공통) 아나콘다 설치 및 환경 만들기 

아나콘다를 설치하는 방법은 이전 글을 참고해주세요.

sincerechloe.tistory.com/41

 

1. 실제 로컬 컴퓨터에 CUDA와 cuDNN 각각을 설치하는 방법

첫번째 방법으로 실제 컴퓨터에 CUDA와 cuDNN을 설치하는 방법입니다.

먼저 cuda, cuDNN이 뭔지 간략하게 설명드리자면, CUDA는 GPU의 병렬 프로그래밍 언어입니다. GPU를 이용해서 빠른 연산이 가능한 이유가 바로 '병렬' 때문인데요. 이 병렬 연산을 가능하게 하는 언어가 CUDA라고 이해하시면 되겠습니다. CUDA 툴킷은 GPU 가속화 애플리케이션 개발에 필요한 모든 것을 제공해줍니다. cuDNN은 CUDA가 적용된 딥러닝 라이브러리 입니다. 우리가 사용하는 tensorflow나 torch는 모두 이 CUDA를 기반으로 이루어져 있기 때문에 우리는 이 라이브러리를 사용하려면 CUDA와 cuDNN을 먼저 설치해줘야 하는 것입니다! CUDA와 cuDNN에 대한 상세한 설명은 NVIDIA 블로그를 참고하세요.

blogs.nvidia.co.kr/2018/01/16/cuda-toolkit/

 

CUDA 툴킷 다운로드하고, GPU를 자유자재로 활용해보자! - NVIDIA Blog Korea

우리가 언어를 매개로 의사소통을 하듯이 기계와 커뮤니케이션을 하기 위해서는 프로그래밍 언어가 필요합니다. 개발자들이 프로그래밍 언어로 컴퓨터에 지시를 내리면, 지시문을 명령어로 번

blogs.nvidia.co.kr


첫번째 방법이 까다로운 이유는 본인이 사용하고자 하는 버전에 맞게 CUDA와 cuDNN을 설치해줘야 하는 것입니다. 호환이 안되는 버전을 설치할 경우에는 재설치를 해야할 수도 있습니다. 따라서 본인이 원하는 파이썬, 텐서플로우 버전을 고려하여 아래의 페이지에서 호환되는 CUDA와 cuDNN을 버전을 확인합니다.

 

1. 호환되는 버전 확인

 

-텐서플로우

Windows: www.tensorflow.org/install/source_windows#tested_build_configurations

Linux/Mac: www.tensorflow.org/install/source

표를 통해서 알 수 있지만, 만약 tensorflow_gpu-2.0.0을 사용하고자 할 경우에 CUDA는 10.0 버전, cuDNN은 7.4 버전으로 설치해줘야 합니다. CUDA 툴킷을 10.1로 설치할 경우 호환이 안 될 수 있습니다. 이런 식으로 원하는 tensorflow 버전을 보고 호환되는 CUDA와 cuDNN을 설치해야 합니다.

 

-파이토치

pytorch.org/get-started/locally/?source=Google&medium=PaidSearch&utm_campaign=1711784041&utm_adgroup=68039908718&utm_keyword=pytorch%20installation&utm_offering=AI&utm_Product=PYTorch&gclid=Cj0KCQjwk8b7BRCaARIsAARRTL5Wme4LlVanZV8TH6UP6cJA-XWpia-RUJc_Hj7T4nzBrbo33YQkIx8aAsDcEALw_wcB

 


2. CUDA 툴킷 설치

CUDA 설치는 해당 링크에서 할 수 있습니다.

developer.nvidia.com/cuda-toolkit-archive

여기서 원하는 버전을 클릭하고, 자신의 환경에 맞게 설정하여 설치 파일을 다운로드 받고 실행시키면 됩니다.


3. cuDNN 설치

cuDNN은 아래 링크에서 설치할 수 있습니다. 다만, cuDNN 설치의 경우는 회원가입이 필요합니다.

developer.nvidia.com/rdp/cudnn-archive

 

cuDNN Archive

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

developer.nvidia.com


4. 아나콘다 환경 만들기, 딥러닝 라이브러리 설치 (tensorflow-gpu, torch)

네 이렇게 해서 CUDA와 cuDNN 설치는 끝났습니다. 이제 아나콘다에 환경을 만들고 만든 환경에 activate한 다음에 딥러닝 라이브러리를 설치해주면됩니다. 아나콘다 환경을 만드는 자세한 방법은 이전 글(sincerechloe.tistory.com/41)을 참고해주세요!

 

- 텐서플로우 gpu 버전 설치

pip install tensorflow-gpu

단, 따로 원하는 버전이 있을 경우 (예를 들어, 저는 CUDA와 cuDNN 버전을 tensorflow-gpu 2.0.0버전에 맞게 설치했습니다.) 아래 명령어로 설치합니다.

pip install tensorflow-gpu==2.0.0

- 파이토치 설치

pytorch.org/get-started/locally/?source=Google&medium=PaidSearch&utm_campaign=1711784041&utm_adgroup=68039908718&utm_keyword=pytorch%20installation&utm_offering=AI&utm_Product=PYTorch&gclid=Cj0KCQjwk8b7BRCaARIsAARRTL5Wme4LlVanZV8TH6UP6cJA-XWpia-RUJc_Hj7T4nzBrbo33YQkIx8aAsDcEALw_wcB

 

위의 링크에서 본인의 환경에 맞게 설정한 다음에 나오는 명령어를 이용해 tensorflow-gpu와 마찬가지로 만든 아나콘다 환경에 activate한 다음에 설치해주면 됩니다.

 

네.. 1번 방법은 정말 복잡하지요? 사실 CUDA도 사용하고 있는 운영체제에 따라 호환이 될수도 있고, 안될수도 있고 굉장히 어렵습니다. 운영체제, CUDA 툴킷, cuDNN, 딥러닝 프레임워크 이 모두 버전이 호환되어야지만 정상 작동합니다. 이 모든 것이 다 호환되는 환경을 맞춰준다는 것은 여간 까다로운 일이 아닙니다. 또한, tensorflow-gpu와 torch에서 호환이 되는 CUDA 툴킷 버전이 다를 경우에 생기는 문제들도 있습니다. 이 두 프레임워크를 둘 다 사용하고 싶은데 호환되는 CUDA 툴킷 버전이 다르다면, 사용할 때마다 재설치를 해야할까요..? 그래서 저는 1번 방법은 잘 사용하지 않습니다.

 

2. 아나콘다 환경에서 CUDA, cuDNN을 설치하는 방법
(tensorflow-gpu 명령어를 통해)

두 번째 방법은 CUDA 툴킷과 cuDNN마저도 아나콘다 가상 환경에 설치해주는 방법입니다! 실제 로컬에 설치할 필요가 없어요. 방법이 정말 간단합니다. 한줄이면 끝납니다. 

conda create --name tf_gpu tensorflow-gpu

이 명령어는 본인의 환경에 맞는 tensorflow-gpu와 그에 호환되는 CUDA와 cuDNN이 설치되어 있는 tf_gpu라는 이름의 가상 환경을 만들어줍니다. --name 뒤에 원하는 이름을 설정하면, 그 이름에 맞는 가상 환경이 생성됩니다.

 

위 명령어는 가상환경을 만드는 것과 동시에 CUDA 툴킷, cuDNN, tensorflow-gpu를 설치하는 명령어였는데, 새로운 가상환경을 만들지 않고 이미 만들어진 가상환경에서 이 작업을 하려면 어떻게 해야할까요? 

conda install tensorflow-gpu

위 명령어를 입력해주면 이미 만들어진 가상환경에서 tensorflow-gpu와 그에 필요한 라이브러리들을 동시에 설치해줍니다. 

▲ conda install tensorflow-gpu를 입력한 결과 

저는 파이토치를 설치할 경우에도 먼저 tensorflow-gpu를 위 명령어로 설치하는 편입니다. 그 후에 설치된 CUDA 툴킷와 cuDNN 버전을 확인하여, 1-4에서 소개한 파이토치 사이트에서 명령어를 찾아 파이토치를 설치합니다. 현재 설치되어 있는 CUDA와 cuDNN 버전을 확인하기 위해서는 새로 만든 가상환경에 activate한 다음에 다음과 같은 명령어로 확인합니다. 

pip list

혹시나 위 명령어로 확인이 안될 경우 아래 명령어로 확인합니다.

conda list

▲ tensorflow-gpu 명령어로 자동으로 설치된 CUDA 툴킷과 cuDNN 버전 확인

아 2번 방법을 이용할 경우 spyder가 실행이 안되는 경우가 있습니다. (spyder를 찾을 수 없음) 이 문제가 발생할 경우 아래 명령어로 spyder를 설치하여 해결할 수 있습니다.

conda install spyder

 

3. 아나콘다 환경에서 CUDA, cuDNN을 설치하는 방법 (수동 설치)

나는 따로 설치하고 싶은 버전의 CUDA나 cuDNN이 있다라던가 나는 pytorch를 사용할 것인데 tensorflow-gpu를 설치하고 싶지 않다. 이런 경우에 사용하는 방법입니다.  

 

이럴 경우엔 conda를 이용해서 설치하면 됩니다.

딱히 원하는 버전이 없이 anaconda 환경에 cuda랑 cuDNN을 설치하고 싶을 시

설치를 원하는 아나콘다 환경에 activate를 한 후에 아래 명령어를 입력합니다.

conda install -c anaconda cudatoolkit
conda install -c anaconda cudnn

원하는 버전이 따로 있을 경우에는 아래 예시처럼 버전을 지정해줄 수 있습니다.  

conda install -c anaconda cudatoolkit==10.1.243

근데 딱히 이런 방법으로 설치할 필요가 있을까 싶네요.

그냥 이렇게 아나콘다 환경에 수동으로 설치 가능하다는 정도로 아시면 될 것 같습니다. 

 


오늘 가상환경을 이용해서 GPU 딥러닝 개발 환경을 만드는 법에 대해 소개해드렸습니다.  

예전에는 CUDA 깔고 cuDNN 깔고 매우 복잡했는데 아나콘다 덕분에 아주 손쉽게 개발 환경을 만들 수 있게 됐습니다.

도움 되셨길 바랍니다. 

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.