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함수를 호출하여 학습시킨다.
학습 후 결과, 학습이 잘되지 않은 것을 볼 수 있다. 하나의 노드를 가지고서는 충분한 학습이 되지 않는 것 같다.
'karma( 업 ) > 비전&Deep Leaning' 카테고리의 다른 글
(2-2) keras의 Sequential Model(순차모델) (453) | 2019.06.02 |
---|---|
(2-1) keras의 Sequential Model(순차모델) (1) | 2019.06.02 |
(1) keras & tensorflow 설치/버전 확인 (0) | 2019.06.02 |
tensorflow( gpu 버전 및 cpu 버전 )와 keras 설치 (0) | 2019.06.02 |
Introduce OpenCV (1) | 2019.05.26 |