본문 바로가기
Tip

윈도우에서 Tensorflow -gpu 를 이용한 학습

by leopard4 2023. 1. 14.

nvidia는 공식적으로 지원하지만 amd 는 리눅스에서만 한정적으로 가능하다

 

cmd - nvidia-smi 

cuda version 그냥확인용

 

텐서플로우 버전에 맞는 cuda toolkit 과 cuDNN을 설치해야한다

 

텐서 2.11 버전의 경우 cuda toolkit 11.2 , cuDNN 8.1 이다. 

[TENSORFLOW] https://www.tensorflow.org/install/source_windows#tested_build_configurations

[CUDA Toolkit Archive] https://developer.nvidia.com/cuda-toolkit-archive

[NVIDIA cuDNN] https://developer.nvidia.com/cudnn

(툴킷 최신버전이 12.0인데 왜 아직 11.2인지는 의문.)

 

아무튼 설치를 했으면 경로를 환경변수에 추가해준다.

1.시스템변수 cuda 버전확인

 

# 텐서플로우 GPU 버전설치
pip install tensorflow-gpu
 
 
# 텐서플로우가 gpu 사용여부 
import tensorflow as tf
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())

 name : "/deice:GPU:0"  이부분을 보면 gpu가 0번에 할당된것을 확인할수있다.

# gpu를 사용하고있는지?
tf.config.list_physical_devices('GPU')

 

성능측정

import tensorflow as tf

mnist = tf.keras.datasets.mnist

(x_train, y_train),(x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(128, activation='relu'),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Dense(10, activation='softmax')
])

model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

model.fit(x_train, y_train, epochs=10)
model.evaluate(x_test, y_test)