[인공지능] TensorFlow GPU 동작 확인 방법
- 인공지능
- 2022. 2. 10. 19:50
목적
- 앞서 TensorFlow 2.x.x 환경에서 학습을 CPU가 아닌 GPU로 돌리기 위해 CUDA, cuDNN 설치를 진행하였습니다.
- 실제로 TensorFlow 2.x.x 환경에서 Keras API 이용한 예제 코드를 작성 후, 학습하여 CPU가 아닌 GPU로 동작하는지 테스트 진행합니다.
TensorFlow 2.x.x 예제 코드 작성
- 구글링을 통해, 간단한 TensorFlow 예제 코드를 찾았습니다.
- 해당 내용을 학습 시켜서 CPU가 아닌 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)
테스트 결과
- 지난번 테스트에서는 CUDA, cuDNN이 설치가 되지 않아서,
cudart64_110.dll not found
에러가 발생 후, CPU로 실행되었습니다. - 하지만 CUDA, cuDNN이 설치된 후에는
cudart64_110.dll not found
에러가 발생하지 않고...name: NVIDIA GeForce GTX 1050 Ti...
이렇게 GPU로 실행된 것을 확인할 수 있습니다.
2022-02-09 14:25:01.209702: I tensorflow/core/platform/cpu_feature_guard.cc:151] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX AVX2
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
2022-02-09 14:25:01.648836: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1525] Created device /job:localhost/replica:0/task:0/device:GPU:0 with 2782 MB memory: -> device: 0, name: NVIDIA GeForce GTX 1050 Ti, pci bus id: 0000:01:00.0, compute capability: 6.1
Epoch 1/10
1875/1875 [==============================] - 7s 3ms/step - loss: 0.3076 - accuracy: 0.9088
Epoch 2/10
1875/1875 [==============================] - 7s 4ms/step - loss: 0.1500 - accuracy: 0.9554
Epoch 3/10
1875/1875 [==============================] - 8s 4ms/step - loss: 0.1119 - accuracy: 0.9661
Epoch 4/10
1875/1875 [==============================] - 8s 4ms/step - loss: 0.0932 - accuracy: 0.9709
Epoch 5/10
1875/1875 [==============================] - 8s 4ms/step - loss: 0.0770 - accuracy: 0.9759
Epoch 6/10
1875/1875 [==============================] - 8s 4ms/step - loss: 0.0676 - accuracy: 0.9782
Epoch 7/10
1875/1875 [==============================] - 8s 4ms/step - loss: 0.0614 - accuracy: 0.9795
Epoch 8/10
1875/1875 [==============================] - 8s 4ms/step - loss: 0.0555 - accuracy: 0.9819
Epoch 9/10
1875/1875 [==============================] - 8s 4ms/step - loss: 0.0516 - accuracy: 0.9830
Epoch 10/10
1875/1875 [==============================] - 8s 4ms/step - loss: 0.0459 - accuracy: 0.9843
313/313 [==============================] - 1s 3ms/step - loss: 0.0687 - accuracy: 0.9806
GPU 테스트 확인
- 실제로 CPU가 아닌 GPU로 실행됐는지 보다 정확하게 확인하기 위해서
작업관리자 -> 성능 -> GPU
기능을 모니터링 하였습니다. - 학습 실행할 때, GPU 사용량이 급격히 증가하는 것을 확인할 수 있습니다.
- 때문에 GPU로 학습이 정상적으로 이루어 졌다고 판단됩니다.
728x90
'인공지능' 카테고리의 다른 글
[인공지능] TensorFlow 간단한 신경망 구조 (0) | 2022.02.14 |
---|---|
[인공지능] TensorFlow 기초 문법 (0) | 2022.02.14 |
[인공지능] Windows(윈도우) CUDA, cuDNN 설치방법 (0) | 2022.02.10 |
[인공지능] 그래픽카드 버전에 맞는 CUDA 버전, 성능 확인 (0) | 2022.02.10 |
[인공지능] CUDA란? (3) | 2022.02.10 |
이 글을 공유하기