python, GPU Install 250203
• 아래 순서대로 설치를 진행한다.
• 참고 : https://www.tensorflow.org/install/gpu
1. Anaconda
2. NVIDIA DRIVER
3. Visual Studio
4. 본인 Compute Capability 확인
RTX A2000 | 8.6 |
6. 텐서플로우 GPU 버전 확인 (중요)
파이썬 (3.7-10) / CudNN(8.1) / CUDA(11.2)
7. CUDA Toolkit
CUDA(11.2)
8. Cudnn : ver.. 8.9.6
CudNN(8.1)
9. 환경변수 설정
10. 가상환경 설정
1) Anaconda Prompt 실행
2) conda update : conda update -n base conda
3) 가상 환경 및 본인이 원하는 파이썬 버전 설치 : conda create -n 가상환경이름 python=3.7
4) 가상 환경 활성화 : conda activate 가상환경 이름
- 패키지 설치
- pip install --upgrade pip --user
- pip install tensorflow-gpu==2.10.0
5) 정상 설치 확인

- conda activate 가상환경 이름
- nvcc --version
TensorFlow version: 2.18.0
Build cuda_11.4.r11.4/compiler.30521435_0
========================= 최종
• conda update : conda update -n base conda
• 가상 환경 설치 : conda create -n 가상환경이름 python=3.9
• 가상 환경 활성화 : conda activate 가상환경 이름
• 기본적인 패키지 설치
○ pip install --upgrade pip --user
○ pip install tensorflow==2.8.0
○ pip install tf-nightly
○ pip install pandas matplotlib seaborn scipy sklearn
○ pip install tensorflow-gpu==2.8.0
○ pip install keras
○ pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113
○ pip install jupyter notebook
○ pip install ipykernel
○ python -m ipykernel install --user --name 가상환경이름 --display-name 표시할 가상환경 이름
python -m ipykernel install --user --name ML03 --display-name ML03_GPU
### 설치버전
Cuda : cuda_11.4.0_471.11_win10
cuDNN : cudnn-windows-x86_64-8.9.2.26_cuda11-archive
Tensorflow_gpu :
Python : 3.10.13
==========================
버전 | 파이썬 버전 | 컴파일러 | 빌드 도구 | cuDNN | 쿠다 |
---|---|---|---|---|---|
텐서플로우-2.17.0 | 3.9-3.12 | 클랭 17.0.6 | 바젤 6.5.0 | 8.9 | 12.3 |
텐서플로우-2.16.1 | 3.9-3.12 | 클랭 17.0.6 | 바젤 6.5.0 | 8.9 | 12.3 |
텐서플로우-2.15.0 | 3.9-3.11 | 클랭 16.0.0 | 바젤 6.1.0 | 8.9 | 12.2 |
텐서플로우-2.14.0 | 3.9-3.11 | 클랭 16.0.0 | 바젤 6.1.0 | 8.7 | 11.8 |
텐서플로우-2.13.0 | 3.8-3.11 | 클랭 16.0.0 | 바젤 5.3.0 | 8.6 | 11.8 |
텐서플로우-2.12.0 | 3.8-3.11 | GCC 9.3.1 | 바젤 5.3.0 | 8.6 | 11.8 |
텐서플로우-2.11.0 | 3.7-3.10 | GCC 9.3.1 | 바젤 5.3.0 | 8.1 | 11.2 |
텐서플로우-2.10.0 | 3.7-3.10 | GCC 9.3.1 | 바젤 5.1.1 | 8.1 | 11.2 |
텐서플로우-2.9.0 | 3.7-3.10 | GCC 9.3.1 | 바젤 5.0.0 | 8.1 | 11.2 |
텐서플로우-2.8.0 | 3.7-3.10 | GCC 7.3.1 | 바젤 4.2.1 | 8.1 | 11.2 |
텐서플로우-2.7.0 | 3.7-3.9 | GCC 7.3.1 | 바젤 3.7.2 | 8.1 | 11.2 |
텐서플로우-2.6.0 | 3.6-3.9 | GCC 7.3.1 | 바젤 3.7.2 | 8.1 | 11.2 |
텐서플로우-2.5.0 | 3.6-3.9 | GCC 7.3.1 | 바젤 3.7.2 | 8.1 | 11.2 |
텐서플로우-2.4.0 | 3.6-3.8 | GCC 7.3.1 | 바젤 3.1.0 | 8.0 | 11.0 |
== Anaconda 가상환경 설치
=== 버전 확인
nvidia-smi
nvcc --version
nvidia-smi
에서 표시되는 CUDA Version은 NVIDIA 드라이버가 지원하는 CUDA의 최대 버전을 나타냅니다.
TensorFlow 2.18 호환성 표
프레임워크 | 프레임워크 버전 | CUDA Toolkit 버전 | cuDNN 버전 | NVIDIA 드라이버 최소 버전 |
---|---|---|---|---|
TensorFlow | 2.18.x | 11.8 | 8.6 | 520.61.05 |
프레임워크 | 프레임워크 버전 | CUDA Toolkit 버전 | cuDNN 버전 | NVIDIA 드라이버 최소 버전 |
---|---|---|---|---|
TensorFlow | 2.4.x | 11.0 | 8.0 | 450.80.02 |
TensorFlow | 2.5.x | 11.2 | 8.1 | 460.32.03 |
TensorFlow | 2.6.x | 11.2 | 8.1 | 460.32.03 |
PyTorch | 1.7.x | 10.2 | 7.6 | 440.33 |
PyTorch | 1.8.x | 11.1 | 8.0 | 450.80.02 |
PyTorch | 1.9.x | 11.1 | 8.0 | 450.80.02 |
TensorFlow 연도별 버전 및 Python 지원 버전
연도 | TensorFlow 버전 | 지원 Python 버전 |
---|---|---|
2015 | 0.x | 2.7, 3.3, 3.4 |
2016 | 1.0 - 1.2 | 2.7, 3.3, 3.4, 3.5 |
2017 | 1.3 - 1.4 | 2.7, 3.5 |
2018 | 1.5 - 1.12 | 2.7, 3.5, 3.6 |
2019 | 1.13 - 1.15, 2.0 | 3.5, 3.6, 3.7 |
2020 | 2.1 - 2.4 | 3.5, 3.6, 3.7, 3.8 |
2021 | 2.5 - 2.7 | 3.6, 3.7, 3.8, 3.9 |
2022 | 2.8 - 2.10 | 3.7, 3.8, 3.9, 3.10 |
2023 | 2.11 - 2.18 | 3.8, 3.9, 3.10, 3.11 |
GPU, CPU 확인
## 환경변수 설정
이게 정상임 _v11_5의 경우 중복설치되어 나타남
SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4\bin;%PATH%
SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4\extras\CUPTI\lib64;%PATH%
SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4\include;%PATH%
SET PATH=C:\tools\cuda\bin;%PATH%
import time
from sklearn.datasets import make_regression
from xgboost import XGBRegressor
def model_test(model_name, model):
x, y = make_regression(n_samples=100000, n_features=100)
start_time = time.time()
model.fit(x, y)
end_time = time.time()
return f'{model_name}: 소요시간: {(end_time - start_time)} 초'
xgb = XGBRegressor(n_estimators=1000,
learning_rate=0.01,
subsample=0.8,
colsample_bytree=0.8,
objective='reg:squarederror',
)
print(model_test('xgb (cpu)', xgb))
xgb = XGBRegressor(n_estimators=1000,
learning_rate=0.01,
subsample=0.8,
colsample_bytree=0.8,
objective='reg:squarederror',
tree_method='gpu_hist')
print(model_test('xgb (gpu)', xgb))
댓글
댓글 쓰기