본문 바로가기
고려사이버대학교/Keras

[케라스 10주차] 시퀀스란 무엇이고, 모델 생성하는 방법

by 꿈돌이. 2022. 5. 9.

10주차는 시퀀스 투 시퀀스를 학습해야 하지만, 그전에 시퀀스가 무엇인지 알아보자. 그리고 시퀀셜 모델 생성 방법까지 실습해본다.

 

시퀀스란 ?
- 데이터를 순서대로 하나씩 나열하여 나타낸 데이터 구조
- 각 요소에 특정위치 (n번째)의 데이터를 가리키는 인덱스 지정
- 첫 번째 인덱스 0, 두 번째 인덱스 1

 

 

  1. 시퀀셜 모델 생성
  2. 입력 벡터가 12개, 출력 벡터가 64개인 전결합층 추가
  3. 활성화 함수가 시그모이드, 출력 벡터가 1개인 전결합층 추가
  4. 1000번 에포크, 64개 배치사이즈로 모델 학습
  5. 데스트셋으로 모델 평가
1. model = Sequential()
2. model.add(Dense(64, input_dim=12, activation='relu'))
3. model.add(Dense(1, activation='sigmoid'))
4. model.fit(x_train, y_train, epoch=1000, batch_size=64)
5. model.evaluate(x_test, y_test, batch_size=32)

 

 

  1. 시퀀셜 모델 생성
  2. 입력 형태가 너비·높이·채널이 1개, 필터의 수 32개, 필터사이즈 3x3, 활성화 함수 relu인 컨볼루션 2D레이어 추가
  3. 가로 세로 2배로 줄이는 맥스풀링 2D레이어를 모델에 추가
  4. 필터의 수 32, 필터사이즈 3x3, 활성화 함수가 relu인 컨볼루션 2D레이어 추가
  5. 가로 세로 2배로 줄이는 맥스풀링 2D레이어를 모델에 추가
  6. 1차원 벡터로 바꿔주는 플레튼 레이어 추가
1. model = Sequential()
2. model.add(Conv2D(32, (3,3), activation='relu', input_shape=(width, height, 1)))
3. model.add(maxpooling2D(pool_size=(2, 2)))
4. model.add(Conv2D(32, (3,3), activation='relu')
5. model.add(maxpooling2D(pool_size=(2, 2)))

 

 

댓글