고려사이버대학교/Keras
[케라스 10주차] 시퀀스란 무엇이고, 모델 생성하는 방법
꿈돌이.
2022. 5. 9. 01:40
10주차는 시퀀스 투 시퀀스를 학습해야 하지만, 그전에 시퀀스가 무엇인지 알아보자. 그리고 시퀀셜 모델 생성 방법까지 실습해본다.
시퀀스란 ?
- 데이터를 순서대로 하나씩 나열하여 나타낸 데이터 구조
- 각 요소에 특정위치 (n번째)의 데이터를 가리키는 인덱스 지정
- 첫 번째 인덱스 0, 두 번째 인덱스 1
- 시퀀셜 모델 생성
- 입력 벡터가 12개, 출력 벡터가 64개인 전결합층 추가
- 활성화 함수가 시그모이드, 출력 벡터가 1개인 전결합층 추가
- 1000번 에포크, 64개 배치사이즈로 모델 학습
- 데스트셋으로 모델 평가
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개, 필터의 수 32개, 필터사이즈 3x3, 활성화 함수 relu인 컨볼루션 2D레이어 추가
- 가로 세로 2배로 줄이는 맥스풀링 2D레이어를 모델에 추가
- 필터의 수 32, 필터사이즈 3x3, 활성화 함수가 relu인 컨볼루션 2D레이어 추가
- 가로 세로 2배로 줄이는 맥스풀링 2D레이어를 모델에 추가
- 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)))