[python] 파이썬 PyTorch에서 GPU를 활용하여 모델을 학습시키는 방법은?

PyTorch를 사용하여 딥러닝 모델을 학습시킬 때 GPU를 활용하면 성능을 향상시킬 수 있습니다. 이번 포스트에서는 파이썬의 PyTorch 라이브러리를 사용하여 GPU를 활용하여 모델을 학습시키는 방법을 알아보겠습니다.

1. GPU 지원 확인

먼저, 사용할 수 있는 GPU가 있는지 확인해야 합니다. 다음과 같은 코드를 사용하여 PyTorch에서 GPU를 사용할 수 있는지 확인할 수 있습니다.

import torch

if torch.cuda.is_available():
    print("GPU를 사용할 수 있습니다.")
else:
    print("GPU를 사용할 수 없습니다.")

2. 모델을 GPU로 이동

GPU를 사용할 수 있다면, 모델을 GPU로 이동시켜야 합니다. 이를 위해 to() 메서드를 사용합니다. 다음은 모델을 GPU로 이동시키는 코드의 예시입니다.

model = YourModel()
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)

3. 데이터를 GPU로 이동

모델을 GPU로 이동시켰다면, 이제 데이터를 GPU로 이동시켜야 합니다. 이를 위해 to() 메서드를 사용합니다. 다음은 데이터를 GPU로 이동시키는 코드의 예시입니다.

data = YourData()
data = data.to(device)

4. 모델 학습

이제 GPU로 이동한 모델과 데이터를 사용하여 모델을 학습시킬 수 있습니다. 학습과 관련된 코드는 일반적인 방법과 동일하게 사용하면 됩니다.

optimizer = torch.optim.Adam(model.parameters(), lr=0.1)
loss_fn = torch.nn.MSELoss()

for epoch in range(100):
    optimizer.zero_grad()
    outputs = model(data)
    loss = loss_fn(outputs, labels)
    loss.backward()
    optimizer.step()

5. 주의사항

참고 자료