달력

52024  이전 다음

  • 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
  • 31

 

keras에서는 모델을 만드는데 두 가지 방법이 있는데 Sequential 모델은 순차적으로 레이어 층을 더해주기 때문에 순차모델이라 불리고 만들기도 쉽다.

 

모델에 입력하여 학습할 데이터와 출력할 값을 정의한다.

 

입력과 출력 데이타의 shape과 dim의 값을 출력한다. 2차원 배열인 것을 알 수 있다.

 

검증할 데이터를 정의한다.

 

케라스로 Sequential 모델을 만든다.

 

Dense 클래스를 이용하영 NN 레이어의 노드를 만든다.

WARNING은 무시하자.

이 모델을 그림으로 그리면 아래와 같다.

입력도 출력도 하나인 node를 가지고 있는 단층 레이어이다. model.summary로 형태를 확인하면 그림처럼 Dense는 하나, Output Shape도 하나, Param은 w와 b이렇게 두 개이다. Dense를 정의할 때 'input_shape=(1,)' 대신 'input_dim=1' 이렇게 정의해도 된다. input_shape에서 (1,)은 행의 갯수를 뜻하고 input_dim에서 1은 입력 차원을 뜻한다.

Dense 는 입력과 출력을 모두 연결해주는 NN 레이어이다. keras에서는 Dense가 클래스로 구현되어 있다. Dense로 만든 node는 각각 W, B를 가진다. 

 

model의 fit함수를 호출하여 학습시킨다.

 

 

학습 후 결과, 학습이 잘되지 않은 것을 볼 수 있다. 하나의 노드를 가지고서는 충분한 학습이 되지 않는 것 같다.

Posted by 생짜
|