"Keras:LSTM"의 두 판 사이의 차이
둘러보기로 가기
검색하러 가기
(→개요) |
잔글 |
||
16번째 줄: | 16번째 줄: | ||
=== input_shape === | === input_shape === | ||
− | 인풋 형태는 (타임스템프, feature) 형태이다. | + | 인풋 형태는 (타임스템프, feature) 형태이다. 다음과 같이 모양을 다시 잡아주어 형태를 변형한다.(size를 포함하여 정리한 후, 모델 input에서 다시 형태를 정의한다.) |
+ | <syntaxhighlight lang="python"> | ||
+ | X_train_t = X_train.reshape(배치사이즈, 행갯수, 열갯수) | ||
+ | X_test_t = X_test.reshape(배치사이즈, 행갯수, 열갯수) | ||
+ | </syntaxhighlight>마지막의 1은 각 셀 안의 데이터를 개별 처리하기 위한 것.(1이 없으면 한 행의 데이터가 하나의 셀로 처리된다.) | ||
[[분류:Keras]] | [[분류:Keras]] | ||
[[분류:LSTM]] | [[분류:LSTM]] |
2021년 12월 24일 (금) 12:30 판
1 개요
케라스로 LSTM 구현해보기.
2 설계
from keras.models import Sequential
model = Sequential()
# 필요한 층을 더한다.
model.add(LSTM(50, return_sequences=True, input_shape=(50,1))) # 50개 유닛을 갖는 LSTM층 생성. 일반적으로 50개의 입력이 들어간다.
# input_shape에서 50개를 넣어 1개를 반환받는다는 의미인듯..? 일반적으로 timestamp,feature이라는데..
model.add(Dense(1, activation='linear')) # 일반 뉴런층 1개. 결과가 1개가 나온다.
model.compile(loss='mse', optimizer='rmsprop') # 손실함수 따위를 결정한다.
2.1 input_shape
인풋 형태는 (타임스템프, feature) 형태이다. 다음과 같이 모양을 다시 잡아주어 형태를 변형한다.(size를 포함하여 정리한 후, 모델 input에서 다시 형태를 정의한다.)
X_train_t = X_train.reshape(배치사이즈, 행갯수, 열갯수)
X_test_t = X_test.reshape(배치사이즈, 행갯수, 열갯수)
마지막의 1은 각 셀 안의 데이터를 개별 처리하기 위한 것.(1이 없으면 한 행의 데이터가 하나의 셀로 처리된다.)