#1 tensorflow device 확인 / device gpu 나와야 성공.
from tensorflow.python.client import device_lib
device_lib.list_local_devices()
#2
import torch
print(torch.cuda.is_available())
print(torch.cuda.device_count())
print(torch.cuda.get_device_name(torch.cuda.current_device()))
#3 tensorflow 버전 확인
import tensorflow as tf
print(tf.__version__)
tf.config.list_physical_devices('GPU')
#4 gpu 사용 확인
# 출처 : https://zeuskwon-ds.tistory.com/94
#pip install 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=5000,
learning_rate=0.01,
subsample=0.8,
colsample_bytree=0.8,
objective='reg:squarederror',
)
print(model_test('xgb (cpu)', xgb))
xgb = XGBRegressor(n_estimators=5000,
learning_rate=0.01,
subsample=0.8,
colsample_bytree=0.8,
objective='reg:squarederror',
tree_method='gpu_hist')
print(model_test('xgb (gpu)', xgb))
#4를 실행하면 cpu 사용 / gpu 사용 시 소요 시간을 알려주기에 속도차이를 알려줄 수 있고, 이때 작업관리자를 통해 gpu가 제대로 사용되고 있는지 확인이 가능하다.
from tensorflow.python.client import device_lib
device_lib.list_local_devices()
을 통해서 gpu가 있을 시 gpu:0부터 시작하며, 출력값을 통해 사용하고 싶은 gpu를 선택할 수 있다.
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0"
gpu:n 에 해당하는 값을 "0"자리에 써주면 되며, cpu 강제사용은 -1.
( 출처 : https://jimmy-ai.tistory.com/121 )