Pytorch로 시작하는 딥러닝 입문(06-08. 다층 퍼셉트론으로 MNIST 분류하기)

2024. 3. 16. 09:23딥러닝 모델: 파이토치

소프트맥스 회귀를 사용한 다층 퍼셉트론을 구현하고 딥러닝을 통해 MNIST 데이터를 분류해보자

♣ 데이터 로드

 

 

 

 

 

*sklearn.datasets는 대표적인 sample datasets들을 제공하는 모듈이다. 

 

https://teddylee777.github.io/scikit-learn/Sklearn-dataset-%EB%AA%A8%EB%93%88%EC%9D%84-%ED%99%9C%EC%9A%A9%ED%95%98%EC%97%AC-dataset%EB%A1%9C%EB%94%A9%ED%95%98%EA%B8%B0/

 

sklearn.datasets 모듈을 활용하여 샘플데이터 로딩하기

sklearn.datasets 모듈을 활용하여 샘플데이터 로딩하는 방법에 대하여 알아보겠습니다.

teddylee777.github.io

 

 

 

♣ 훈련 데이터와 테스트 데이터의 분리

 

 

 

♣ 다층 퍼셉트론

 

 

주요 구성 요소와 단계 설명:

  1. targets.data.view_as(predicted):
    • targets는 실제 레이블입니다. .data는 레이블의 텐서 값을 가져옵니다.
    • view_as(predicted)는 targets 텐서를 predicted 텐서와 동일한 형태로 변경합니다. 이는 predicted와 targets의 크기를 맞춰서 비교할 수 있게 합니다.
  2. predicted.eq(targets.data.view_as(predicted)):
    • predicted는 모델이 예측한 레이블입니다.
    • eq는 element-wise equality를 수행하는 메서드입니다. 즉, predicted와 targets.data.view_as(predicted)의 각 요소를 비교하여, 같은 위치에 있는 값이 동일하면 True, 다르면 False를 반환합니다.
    • 이 비교의 결과는 동일한 크기의 텐서로, 각 요소는 True 또는 False 값을 가집니다.

 

*모델을 학습시키기 전의 test 결과

*모델을 학습시킨 후의 test 결과