일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 머신러닝
- 자연어분석
- chatGPT
- 판다스 데이터정렬
- programmablesearchengine
- Python
- pandas
- fastapi #파이썬웹개발
- 챗gpt
- 파이썬웹개발
- 파이토치
- pytorch
- konlpy
- fastapi
- 판다스
- fastapi #python웹개발
- 비지도학습
- 딥러닝
- HTML
- langchain
- 파이썬
- NLP
- sklearn
- 사이킷런
- deeplearning
- 랭체인
- 파이토치기본
- python 정렬
- MachineLearning
- OpenAIAPI
- Today
- Total
Data Navigator
DirectML : AMD, radeon, intel 내장그래픽을 사용한 딥러닝 GPU 가속 본문
AMD, radeon, intel 내장그래픽을 사용한 딥러닝 GPU 가속
딥러닝을 공부하다가 보면 학습을 시키는데 시간이 너무 오래 걸리는 경우가 발생한다.
NVIDIA의 그래픽 카드가 있다면 좋겠지만 가격이 비싸고, 내장그래픽만 있는 노트북에서 작업한다면 그래픽카드 추가가 불가능하기 때문에 CPU만 사용해서 오랜시간 학습을 시켜야 하는 상황이 생긴다.
Google colab을 써서 GPU를 사용할 수도 있지만 연결이 갑자기 끊길 때도 많고 유료 버전을 사용하다고 해도 최대 사용시간과 학습중 갑자기 연결이 끊기는 경우는 언제든 발생할 수 있다.
NVIDIA GPU가 없더라도 AMD CPU에 내장된 그래픽카드나 INTEL CPU에 내장된 그래픽 카드로도 딥러닝 학습시 GPU 가속을 할 수 있는데, 그것은 바로 DirectML을 이용한 방법이다.
단, DirectML은 순수 Linux에서는 실행되지 않고 windows에서 wsl2로 설치한 ubuntu Linux 에서만 작동한다.
그리고 tensorflow, pytorch 모두 directML을 이용해 내장그래픽 가속을 할 수 있지만 패키지 의존성 문제로 하나의 가상환경에 설치할 수 없고 tensorflow용과 pytorch용 가상환경을 따로 만들어서서 각각 설치해야 한다.
DirectML에 대한 Github 링크는 아래와 같다.
https://github.com/microsoft/DirectML
windows에서 directML로 tensorflow나 pytorch를 사용하면 tensorflow 는 1.x 버전, pytorch도 1.13버전만 쓸 수 있다.
2.x 버전의 tensorflow, pytorch를 사용하고 싶다면 Windows Subsystem Linux(WSL)을 이용하는 것이 좋다.
WSL 설치 및 설정은 이전 글 참조.
https://datanavigator.tistory.com/61
1. windows WSL에서 tensorflow + DirectML로 딥러닝하기
https://learn.microsoft.com/ko-kr/windows/ai/directml/gpu-tensorflow-plugin
1) 콘다 가상환경에 dmltf 가상환경 만들기
microsoft directML 공식 페이지에서 파이썬 3.9로 예시를 들고 있기 때문에 파이썬 3.9로 가상환경 생성
conda create -n dmltf python=3.9
2) 생성한 dmltf 가상환경 활성화
conda activate dmltf
3) pip 를 이용해서 tensorflow-cpu 2.10버전 설치
pip install tensorflow-cpu==2.10
4) pip 를 이용해서 tensorflow-directml-plugin 설치
pip install tensorflow-directml-plugin
5) jupyter notebook 6 버전 설치
pip install notebook==6.*
6) scikit-learn matplotlib seaborn imbalanced-learn scikit-image xgboost lightgbm 등 설치
pip install scikit-learn matplotlib seaborn imbalanced-learn scikit-image xgboost lightgbm
7) pip 를 이용해 numpy 1.26.4 버전 설치 중요!!
위의 패키지들을 설치하고나면 numpy가 2.0.2 버전이 설치된다.
그런데 directml은 numpy1.26.4에서 작동되기 때문에 추후에 따로 numpy 1.26.4 버전으로 설치해주어야 한다.
새로 설치하는 패키지중에 numpy를 업그레이드 해야하는 것이 있다면 directML과 동시에 사용할 수 없다.
pip install numpy==1.*
8) 주피터 노트북 실행 및 GPU 테스트
주피터 노트북을 실행하고 아래의 코드를 실행 했을 때 사용 가능한 GPU: 1개 가 나오면 정상
import tensorflow as tf
# 사용 가능한 GPU 목록 출력
gpus = tf.config.experimental.list_physical_devices('GPU')
if gpus:
print(f"사용 가능한 GPU: {len(gpus)}개")
for gpu in gpus:
print(gpu)
else:
print("GPU가 사용 불가능합니다.")
2. windows WSL에서 pytorch + DirectML로 딥러닝하기
https://learn.microsoft.com/ko-kr/windows/ai/directml/gpu-pytorch-wsl
1) python 3.10으로 콘다 가상환경 생성
conda create -n dmltorch python=3.10
2) 가상환경 활성화
conda activate dmltorch
3) directML용 pytorch 설치. (pytroch 2.2버전까지만 지원함)
pip install torch-directml
4) jupyter notebook 6 버전 설치
pip install notebook==6.*
5) scikit-learn matplotlib seaborn imbalanced-learn scikit-image xgboost lightgbm 등 설치
pip install scikit-learn matplotlib seaborn imbalanced-learn scikit-image xgboost lightgbm
* pytorch용 directML을 설치할 때는 numpy 버전을 다운그레이드 하지 않아도 됨
6) 주피터 노트북에서 directML로 pytorch 가 GPU로 작동하는지 확인
아래의 코드를 실행했을 때 DirectML을 통한 GPU 사용 가능과 결과값이 3이 나오면 정상 작동
import torch
import torch_directml
# DirectML 디바이스 생성
device = torch_directml.device()
# 사용 가능한 DirectML 디바이스 출력
if device:
print(f"DirectML을 통한 GPU 사용 가능: {device}")
else:
print("DirectML을 통한 GPU가 사용 불가능합니다.")
dml = torch_directml.device()
tensor1 = torch.tensor([1]).to(dml) # Note that dml is a variable, not a string!
tensor2 = torch.tensor([2]).to(dml)
dml_algebra = tensor1 + tensor2
dml_algebra.item()
'Python' 카테고리의 다른 글
tensorflow docker를 이용해 gpu 이용하기 + windows의 폴더 공유하기 (0) | 2024.04.16 |
---|---|
git bash에 anaconda 경로 설정하기 (0) | 2024.02.20 |
mini-forge 설치하고 conda-forge를 기본 repository로 변경하기 (0) | 2024.02.15 |
[Django] docker-compose 로 django와 mysql 연결하기 (0) | 2023.09.14 |
주피터 노트북에 아나콘다 가상환경 커널 추가하기 (0) | 2023.07.22 |