Notice
Recent Posts
Recent Comments
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags
more
Archives
Today
Total
관리 메뉴

No Limitation

[Pytorch] nn.Module 본문

ML & DL & RL

[Pytorch] nn.Module

yesungcho 2022. 2. 3. 18:49

참고 자료

https://wikidocs.net/53560



유원준 님의 Pytorch로 시작하는 딥러닝 입문 책 자료를 참고하였습니다. 



선형 회귀를 수행하기 위해 매번 수식을 직접 정의해서 푸는 것은 매우 까다롭기에 친절하게도 파이토치에서는 선형 회귀를 수행해주는 모듈이 존재하는데 대표적으로 많이 쓰이는 nn.Linear 모듈이다. 또한 loss 함수도 직접 구현할 필요 없이 내장된 다양한 loss가 존재하는데 regression에서 많이 사용하는 MSE 모듈의 경우도 별다른 구현 없이 내장된 함수를 사용할 수 있다. 



다음 코드들을 살펴보자

 

단순 선형 회귀부터 살펴보자. 우선 다음과 같이 데이터를 구축해준 다음에

 

nn.Linear를 사용하여 선형 회귀 모형을 만들어보자

우선 선형 회귀 모형을 호출해준다. 아직 데이터를 넣기 전이며 기존 파라미터는 다음과 같이 설정되어 있다. nn.Linear(1,1)에서 (1,1)은 차원을 의미하는데 각각 input의 차원과 output의 차원을 의미한다. 차원은 매우 중요한 개념이다. 

그럼 이러한 파라미터를 최적화시켜주어야 하기 때문에 다음 코드를 통해 최적화를 수행하는 초기 셋팅을 수행한다.

앞선 과정을 토대로 Gradient Descent를 수행해보자

 

y=2x가 잘 구축이 되었는지를 보기 위해, 새로운 데이터 4를 넣어서 예측을 수행해보자

 

4를 넣었을 때 8에 가까운 예측 값을 도출함을 확인할 수 있다. 

 

그럼 이제 다중 선형 회귀도 수행해보자

지난 포스팅에 참고했었던 다음 예제를 직접 Pytorch로 구현해보자

 

W를 따로 선언해줄 필요는 없고 

x_train과 y_train을 구축해준다. 

다음으로 마찬가지의 프로세스를 밟아준다.

 

 

'ML & DL & RL' 카테고리의 다른 글

[Pytorch] Custom Dataset  (0) 2022.02.03
[Pytorch] Mini Batch Size와 Data Loader  (0) 2022.02.03
[Pytorch] Class를 이용한 Model 구현  (0) 2022.02.03
[Pytorch] 다중 선형 회귀 분석  (0) 2022.02.02
[Pytorch] 선형 회귀 Intro  (0) 2022.01.31