pytorch 3

PyTorch로 구현하는 Optimization

모델과 데이터를 준비한 후에는 데이터에 대해 모델을 훈련, 검증, 테스트하고 매개변수를 최적화하는 과정을 진행합니다. 모델 훈련은 반복적인 과정으로, 각 반복에서 모델은 출력에 대한 추측을 하고, 추측의 오류(손실)를 계산하며, 오류에 대한 매개변수의 도함수(기울기)를 수집한 후, 경사 하강법을 사용하여 이 매개변수들을 최적화합니다.필수 코드 로드이전 섹션에서의 Datasets & DataLoaders 및 모델 구축 코드를 불러와서 진행합니다.import torchfrom torch import nnfrom torch.utils.data import DataLoaderfrom torchvision import datasetsfrom torchvision.transforms import ToTensor# ..

Deep learning 2024.05.04

torch.autograd를 이용한 미분

신경망을 훈련할 때 가장 자주 사용되는 알고리즘은 역전파(back propagation)입니다. 이 알고리즘에서는 주어진 매개변수에 대해 손실함수의 기울기(gradient)에 따라 모델의 가중치(매개변수)가 조정됩니다.이러한 기울기를 계산하기 위해 PyTorch는 `torch.autograd`라는 내장 미분 엔진을 갖추고 있습니다. 이는 어떠한 계산 그래프에 대해서도 자동으로 기울기를 계산할 수 있는 기능을 지원합니다.간단한 신경망 예제다음은 입력 `x`, 매개변수 `w` 및 `b`, 그리고 어떤 손실 함수를 사용하는 가장 간단한 한 층의 신경망입니다. PyTorch에서는 다음과 같이 정의할 수 있습니다:import torch# 입력 텐서x = torch.ones(5) # 크기가 5인 텐서, 모든 요소..

Deep learning 2024.05.04

PyTorch를 사용한 신경망 구축

신경망은 데이터에 대한 연산을 수행하는 레이어 또는 모듈로 구성됩니다. PyTorch의 `torch.nn` 네임스페이스는 자신만의 신경망을 구축하는 데 필요한 모든 기본 요소를 제공합니다. PyTorch의 모든 모듈은 `nn.Module`을 상속받으며, 신경망 자체도 다른 모듈(레이어)로 구성된 모듈입니다. 이러한 중첩 구조는 복잡한 아키텍처를 쉽게 구축하고 관리할 수 있게 해줍니다. 하드웨어 가속기를 사용한 훈련 설정모델을 훈련할 때 가능하다면 GPU 또는 MPS(애플의 Metal Performance Shaders)와 같은 하드웨어 가속기를 사용하면 좋습니다. 이를 위해 PyTorch에서는 `torch.cuda`와 `torch.backends.mps`의 사용 가능 여부를 확인하여 적절한 디바이스를 선..

Deep learning 2024.05.04