Bidirectional LSTM on IMDB
Author: fchollet
Date created: 2020/05/03
Last modified: 2020/05/03
Description: Train a 2-layer bidirectional LSTM on the IMDB movie review sentiment classification dataset.
- Keras
- Colab
- Github
라이브러리 로드
import numpy as np
from tensorflow import keras
from tensorflow.keras import layers
max_features = 20000 # 상위 20000개 단어들만을 사용하겠습니다.
maxlen = 200 # 영화 리뷰 중 처음 200단어까지만 사용하겠습니다.
Build the model
# 가변 길이의 정수형 시퀀스를 input으로 사용하겠습니다.
inputs = keras.Input(shape=(None,), dtype="int32")
# 각 정수형 시퀀스를 128차원으로 Embed 하겠습니다.
x = layers.Embedding(max_features, 128)(inputs)
# Bidirectional LSTM layer를 두 번 사용하겠습니다.
x = layers.Bidirectional(layers.LSTM(64, return_sequences=True))(x)
x = layers.Bidirectional(layers.LSTM(64))(x)
# 이진 분류를 하겠습니다.
outputs = layers.Dense(1, activation="sigmoid")(x)
model = keras.Model(inputs, outputs)
model.summary()
IMDB 영화 리뷰 감정 데이터를 불러오겠습니다.
(x_train, y_train), (x_val, y_val) = keras.datasets.imdb.load_data(
num_words=max_features
)
print(len(x_train), "Training sequences")
print(len(x_val), "Validation sequences")
x_train = keras.preprocessing.sequence.pad_sequences(x_train, maxlen=maxlen)
x_val = keras.preprocessing.sequence.pad_sequences(x_val, maxlen=maxlen)
Train and evaluate the model
model.compile("adam", "binary_crossentropy", metrics=["accuracy"])
model.fit(x_train, y_train, batch_size=32, epochs=2, validation_data=(x_val, y_val))
'Tensorflow' 카테고리의 다른 글
tensorflow 에러 해결: Could not load 'cudart64_110.dll'; dlerror: cudart64_110.dll not found (0) | 2021.02.09 |
---|---|
협업 필터링을 활용한 영화 추천 (0) | 2020.12.19 |
케라스: 시계열을 활용한 기상(weather) 예측 (2) | 2020.12.16 |
Tensorflow 콜백함수: ReduceLROnPlateau (2) | 2020.11.18 |
Tensorflow 콜백함수: EarlyStopping (1) | 2020.11.18 |