GPU 기반의 텐서플로우 설치

MOON·2025년 1월 23일

GPU 환경 & 딥러닝

목록 보기
2/4
post-thumbnail

지난 GPU 개발 환경 구축에 이어서 텐서플로우 설치에 관하여 작성하겠습니다.

https://www.tensorflow.org/install/source_windows?hl=ko#tested_build_configurations
해당 페이지 설명에 따르면 윈도우에서 사용할 수 있는 최신 텐서플로우 버전은 tensorflow_gpu-2.10.0입니다.

CUDA 버전이 호환되지 않는 경우, 텐서플로우 실행시 오류가 날 수 있으므로 유의하여 설치하도록 합시다.

제 경우, CUDA v11.8, cuDNN v8.9.7임에도 잘 작동함으로 미리 참고하시길 바랍니다.


1. 가상환경

1.1. 파이썬 버전 확인

텐서플로우를 설치할 때는 호환되는 파이썬 버전도 고려를 해야합니다.

tensorflow_gpu-2.10.0의 경우, 호환되는 파이썬 버전은 3.7 - 3.10입니다.
제 경우 기존에 파이썬 3.8을 설치했기 때문에 이를 사용하도록 하겠습니다.

사진을 보면 디폴트 파이썬 버전이 3.8로 지정이 된 것을 알 수 있습니다.

참고

  • python --version (현재 컴퓨터에 적용되는 파이썬 버전)
  • py -0 (설치된 모든 파이썬 버전들. *는 해당 버전의 파이썬이 디폴트 버전임을 의미.)

1.2. 가상환경 생성

이제 텐서플로우를 설치할 가상 환경을 생성합니다.
본 가이드에서는 아나콘다 대신 파이썬 가상환경을 이용합니다.

가상환경을 만들 때는 두가지 커맨드가 있습니다.

  1. 버전을 지정하지 않는 방법입니다. python --version 커맨드 결과에 나오는 파이썬 버전을 기준으로 가상환경이 생성됩니다.
python -m venv 가상환경_이름
  1. 버전을 지정합니다. 좀 더 명확하게 원하는 버전의 파이썬 가상환경을 생성할 수 있습니다.
py -3.8 -m venv 가상환경_이름

원하는 방식으로 가상환경을 만들되, 본인이 설치하고자 하는 텐서플로우 버전과 호환되는 파이썬 버전을 기준으로 가상환경을 생성해야함을 고려해야합니다.

예시는 다음과 같습니다.

test라는 이름의 가상환경을 파이썬 버전 3.12를 지정하여 생성했습니다.

1.3. 가상환경 실행

이제 텐서플로우를 깔 가상환경을 실행합니다.
커맨드는 다음과 같습니다. 생성한 가상환경 디렉토리 안에 Scripts라는 폴더로 이동한 후, 가상환경을 activate합니다.
가상환경은 Scripts 폴더로 이동한 후에만 활성화가 가능합니다.

cd 가상환경_디렉토리\Scripts
activate

예시는 다음과 같습니다.


activate를 엔터 친 후, 두번째 이미지처럼 '(가상환경_이름)'이 나타나게 된다면 진입 성공입니다.
가상 환경을 나가고 싶다면 deactivate 커맨드를 사용하면 됩니다.


2. 텐서플로우 설치

텐서플로우를 설치할 가상환경을 만들었다면 이제 텐서플로우를 설치합니다.
해당 설치는 가상환경에 진입한 상태에서 실행되어야 합니다.

gpu 기반의 텐서플로우이므로 다음과 같은 pip 커맨드를 이용합니다.

pip install tensorflow-gpu==버전_넘버

전 2.10.0 버전을 설치해 보았습니다.

[X]
제가 만든 가상환경의 파이썬 버전은 3.12였습니다. 참고로 텐서플로우 2.10 버전은 해당 파이썬 버전을 지원하지 않습니다. 게시물 1번 섹션에서 언급했는데 까묵었네요. 그래서 다시 3.8버전으로 만들어줘야겠습니다. 이런 실수하지 마십셔.

[O]
다시 파이썬 버전 3.8 기반의 가상환경을 만들어 왔습니다.
텐서플로우 설치에는 시간이 좀 걸립니다.

이미지가 좀 잘리긴 했지만 성공적으로 설치가 되었습니다.
pip 업그레이드 가능하다는 WARNING 사인이 뜬다면 무시해도 되고,출력된 커맨드 복붙해도 됩니다. 업그레이드 하는 것을 추천드립니다.


3. 설치 확인

제대로 설치가 되었는지 확인하기 위해 import 코드를 실행해봅니다.

python -c "import tensorflow as tf;print(tf.reduce_sum(tf.random.normal([1000, 1000])))"

지금은 코드의 의미를 이해할 필요는 없고, 해당 커맨드를 돌렸을 때 에러만 안나면 됩니다.

위와 같이 출력이 된다면, 설치는 성공적입니다. GPU 또한 문제없이 실행되었습니다. GPU 실행 여부를 좀 더 직관적으로 보고 싶다면 다음 게시물에서 그 방법을 확인할 수 있습니다.

마지막 최종 합계값은 랜덤 출력이므로 이미지와 달라도 무방합니다.

혹여나 에러가 발생했다면 메일이나 댓글로 알려주시면 감사하겠습니다.

다음 게시물에선 object-detection-api를 설치해볼 것입니다.


참조

profile
현직 AI 개발자 | 게임을 좋아합니다.

0개의 댓글