[개발 환경] GCP에서 GPU를 이용해 개발해보자! - 04 (完)

hun_dev·2022년 9월 19일
0
post-thumbnail

오류를 고치지 못하고 찝찝한 기분으로 잠자리에 들려는 순간, 여러분의 뇌가 신호를 보내온다면 여러분은 어떻게 하시나요? 저는 그림의 주인공처럼 정신이 확 들면서 자연스레 컴퓨터 앞에 앉게 됩니다. 이건 어쩌면 개발자의 숙명이 아닐까요?

항상 느끼는 것이지만 깨어 있는 시간에 뇌가 신호를 보내주었으면 좋겠습니다. (제발 부탁할게 내 뇌야)

지난 게시글에서는 딥러닝 개발을 위해 GPU를 사용할 수 있게끔 설정을 진행해보았습니다. 이번 게시글에서는 PyTorch와 TensorFlow를 설치해보겠습니다.

지난 게시글은 해당 링크 또는 위의 시리즈를 통해 다시 볼 수 있습니다.

버전 호환 정리

TensorFlow는 CUDA 버전, cudnn 버전과 호환되는 버전을 사용해야 올바르게 동작하고, PyTorch는 CUDA 버전과 호환되는 버전을 사용해야 올바르게 동작합니다.

따라서, 설치 전에 CUDA, cuDNN, TensorFlow, PyTorch 간 서로 호환되는지 확인하는 것이 우선입니다. 다음은 제가 사용하고 있는 사양과 버전입니다.

OS : Linux Ubuntu 20.04 LTS
GPU : NVIDIA Tesla V100
CUDA : 11.2
cuDNN : 8.1
Python : 3.8
TensorFlow : 2.5.0
PyTorch : 1.7.1

여러 번의 시행착오를 거듭하며 얻어낸 조합입니다. 본 게시글은 위와 같은 버전을 설치할 것입니다.

PyTorch 버전 호환 정보는 해당 링크에서 확인할 수 있고 다운로드 가능합니다.

TensorFlow 버전 호환 정보는 해당 링크에서 확인할 수 있습니다.

PyTorch 설치

해당 링크에서 확인한 1.7.1 버전 설치 명령어입니다. Linux 환경에서 설치할 것이므로 아래에 나열된 명령어 중 CUDA 버전과 맞는 명령어를 통해 설치하면 됩니다.

CUDA 11.2 버전은 없는데 ?

CUDA 11.2 보다 아래 버전의 명령어를 선택하여 설치하면 됩니다. 지금 같은 경우는 CUDA 11.0 버전 명령어를 입력하여 설치합니다. 다음과 같은 명령어를 터미널에 입력하여 PyTorch 1.7.1 버전을 설치합니다.

$ pip3 install torch==1.7.1+cu110 torchvision==0.8.2+cu110 -f https://download.pytorch.org/whl/torch_stable.html

TensorFlow 설치

해당 링크에서 확인한 버전 별 호환 정보입니다. 각자 환경에 맞는 TensorFlow 버전을 설치하면 됩니다. 본 게시글은 Python은 3.8, cuDNN은 8.1, CUDA는 11.2 버전을 사용하므로 TensorFlow는 2.5.0 ~ 2.7.0 버전을 설치하면 되는데, 2.5.0 버전을 설치하도록 하겠습니다.

다음과 같은 명령어를 터미널에 입력하여 TensorFlow 2.5.0 버전을 설치합니다. GPU를 사용하기 위해서는 TensorFlow gpu 버전 또한 설치해주어야 합니다.

$ pip3 install tensorflow==2.5.0
$ pip3 install tensorflow-gpu==2.5.0

GPU 인식 확인

PyTorch와 TensorFlow가 정상적으로 설치되었으면 GPU를 인식하는지 확인해보는 절차가 필요합니다.

터미널에 python3을 입력해 Python을 실행합니다.

TensorFlow 확인

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

위와 같이 입력하였을 때, 다음과 같이 사용 가능한 CPU와 GPU가 출력됩니다.

[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 11070026007720078383
, name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 15358427136
locality {
  bus_id: 1
  links {
  }
}
incarnation: 4103382598444265130
physical_device_desc: "device: 0, name: Tesla V100-SXM2-16GB, pci bus id: 0000:00:04.0, compute capability: 7.0"
]

사용 가능한 디바이스 목록에 GPU가 출력되지 않으면 TensorFlow 설치 과정에 오류가 있는 것이니 TensorFlow 삭제 후 재설치를 진행하여야 합니다.

PyTorch 확인

>>> import torch
>>> torch.cuda.is_available()

위와 같이 입력하였을 때, True가 출력되면 GPU가 인식되어 사용 가능하다는 의미이고, False가 출력되면 GPU가 인식되지 않아 사용 불가능하다는 의미입니다. False가 출력된다면 PyTorch 설치 과정에 오류가 있는 것이니 PyTorch 삭제 후 재설치를 진행하여야 합니다.

이제 진짜 딥러닝 개발을 진행해보자!

처음 환경을 구성할 때는 알맞은 버전의 TensorFlow와 PyTorch를 설치하는 과정에서 상당한 어려움을 겪었습니다. 본 시리즈를 작성하게 된 이유이기도 합니다. (머리를 너무 쥐어뜯어서 몇 가닥 빠진 것 같습니다)

본 게시글에서 설치한 CUDA, cuDNN, PyTorch, TensorFlow는 제가 직접 설치, 삭제, 재설치를 반복하여 얻은 아주 잘 호환되는 버전 조합입니다.

본 게시글을 마지막으로 GCP에서 GPU를 이용해 개발해보자! 시리즈가 마무리되었습니다.

드디어 구글 신의 은총을 받아 딥러닝 개발을 진행할 수 있게 되었습니다. 우리 모두 그동안 GPU 사양이 부족해 맘껏 개발하지 못했던 나날들은 모두 잊고, 맘껏 개발합시다!

피드백은 항상 감사히 받습니다. 설정 중 오류가 발생하거나, 게시글에 수정해야 할 내용이 있다면 댓글로 알려주세요!

profile
좋아하는 것이 잘하는 것이 될 때까지

4개의 댓글

comment-user-thumbnail
2023년 6월 2일

용량이 부족하다는 경고가 종종뜨는데 어떻게 해결할 수 있을까요

1개의 답글
comment-user-thumbnail
2023년 10월 31일

덕분에 수월하게 설치했습니다 좋은 글 감사해요!

1개의 답글

관련 채용 정보