PyTorch에서 가장 기초적인 텐서를 생성하고, 조작하는 방법에 대해서 다루어 보겠습니다. 먼저 torch를 불러옵니다. numpy와 연관된 작업을 수행할 것이기 때문에 이도 같이 불러오도록 합니다. 먼저 텐서를 만드는 방법에 대해 알아보겠습니다. 참고로 여기
간단한 Dataset 만들기 딥러닝 모델을 학습하기 전에 필요한 첫 번째 준비물은 데이터라고 할 수 있습니다. 주어진 데이터를 활용해 효과적으로 모델에 입력하기 위해서 PyTorch는 Dataset 클래스를 제공하고 있습니다. 아주 간단한 예시를 통해 일반적인 상황에
DataLoader는 PyTorch에서 배치 학습에 요긴하게 사용되는 클래스입니다. 일반적으로는 딥러닝을 학습할 때 데이터를 모델에 입력해 나오는 출력과 목표값을 비교하는 방식으로 순방향 전달이 일어납니다. 이 순방향 전달을 컨베이어 벨트로 비유해 그림으로 나타내보겠습
데이터를 준비했으면, 이제 학습할 딥러닝 모델을 정의하면 됩니다. 이 포스트에서는 torch.nn 모듈을 사용해서 모델을 정의하는 방법에 대해 알아보겠습니다. 모델을 구현하기 위해 여기서 사용하는 모듈들을 불러오겠습니다. 간단한 모델 정의하기 아주 간단한 모델을
입력 텐서에 대해 정의한 모델을 통과시키면 결과 텐서가 나오게 됩니다. 그 다음에 할 일은 손실 함수를 통해서 원하는 결과와 얼마나 다른지 계산하고 역전파를 통해 모델의 가중치를 변화시키는 과정을 수행합니다. 이 포스트에서는 결과와 타겟 사이의 손실 함수를 계산하는 방
모델을 학습한 다음에는 이를 바로 활용하기보다는, 학습된 모델 자체나 가중치를 저장한 다음에 실질적으로 테스트할 때 가져와서 활용하는 과정을 거칩니다. 이 포스트에서는 이 과정을 수행하기 위한 학습된 모델을 저장하고 불러오는 방법에 대해 알아보겠습니다. 모델 전체를
이전 포스트까지는 딥러닝에서 학습을 수행하기 위한 각각의 클래스, 함수 등을 살펴보았습니다. 이 포스트에서는 복습하는 느낌으로 이를 종합해서, 간단한 MNIST 분류기를 만들어보겠습니다. MNIST 데이터셋 살펴보기 일단 MNIST 데이터셋에 대해 잠시 알아볼건데,