728x90
내 컴퓨팅 환경 정보
- OS : window 11
- 그래픽카드 : GeForce RTX 3080
- CUDA Toolkit : 11.2
- Cudnn : 8.1
- Tensorflow : 2.10.0
파이썬으로 GPU 정보와 사용 유무 확인
- 방법 1
# tensorflow device 확인
from tensorflow.python.client import device_lib
device_lib.list_local_devices()
위 결과처럼 GPU가 나와야 성공
* CPU만 나오면 GPU연결 실패
- 방법 2
# tensorflow version 확인 후 GPU 확인
import tensorflow as tf
print(f'tf.__version__: {tf.__version__}')
gpus = tf.config.experimental.list_physical_devices('GPU')
# tf.config.list_physical_devices('GPU') 이 코드도 가능
for gpu in gpus:
print(gpu)
위 그림처럼 device_type이 'GPU'로 나와야 성공
- 확인 3 _ 인식한 GPU 개수 출력
# 주로 사용하는 코드 2 : 인식한 GPU 개수 출력
import tensorflow as tf
print("Num GPUs Available: ", len(tf.config.experimental.list_physical_devices('GPU')))
딥러닝 학습 코드로 GPU 사용하는지 확인
- XGBOOST 모델 사용
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))
위 결과를 확인하면 CPU시간과 GPU시간이 출력 되는데, GPU사용할 때의 속도차이를 비교할 수 있음
- Mnist데이터 기본 분류 모델
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)
1epoch당 10초를 안넘기면 GPU가 사용되고 있다고 생각
그리고 모델 학습 진행되고 있을때 아래 그림처럼
GPU가 사용이 되는지 작업관리자를 켜서 확인하기.
728x90
'DataScience > 인공지능' 카테고리의 다른 글
가상환경 구성 및 주피터(jupyter notebook) 연결 (0) | 2023.01.27 |
---|---|
DL.4 _ 신경망 용어정리, Keras Hyperparameters (0) | 2021.08.17 |
DL.3 _ keras 하이퍼파라미터, 활동함수(Activation function) (0) | 2021.08.11 |
DL.1.1 _ 인공신경망이란, 퍼셉트론 알고리즘 (0) | 2021.08.11 |
ML _ 교차검증(k-fold, Randomized Search CV, GridSearchCV) (0) | 2021.06.22 |