Spaces:
Runtime error
Runtime error
Nguyen Thi Dieu Hien
commited on
Update optimize_bilstm.py
Browse files- optimize_bilstm.py +9 -9
optimize_bilstm.py
CHANGED
|
@@ -20,11 +20,11 @@ session = InteractiveSession(config=config)
|
|
| 20 |
|
| 21 |
"""### **Load data**"""
|
| 22 |
|
| 23 |
-
# Load
|
| 24 |
with open('data/features_162k_phobertbase.pkl', 'rb') as f:
|
| 25 |
data_dict = pickle.load(f)
|
| 26 |
|
| 27 |
-
|
| 28 |
X_train = np.array(data_dict['X_train'])
|
| 29 |
X_val = np.array(data_dict['X_val'])
|
| 30 |
X_test = np.array(data_dict['X_test'])
|
|
@@ -42,20 +42,20 @@ y_val = y_val.values.astype(int)
|
|
| 42 |
def build_bilstm_model(lstm_units_1, lstm_units_2, dense_units, dropout_rate, learning_rate):
|
| 43 |
model = Sequential()
|
| 44 |
model.add(Input(shape=(X_train.shape[1], X_train.shape[2])))
|
| 45 |
-
#
|
| 46 |
model.add(Bidirectional(LSTM(lstm_units_1, return_sequences=True)))
|
| 47 |
model.add(Dropout(dropout_rate))
|
| 48 |
-
#
|
| 49 |
model.add(Bidirectional(LSTM(lstm_units_2, return_sequences=False)))
|
| 50 |
model.add(Dropout(dropout_rate))
|
| 51 |
-
#
|
| 52 |
model.add(Dense(dense_units, activation='relu'))
|
| 53 |
model.add(Dropout(dropout_rate))
|
| 54 |
-
#
|
| 55 |
model.add(Dense(y_train.shape[1], activation='softmax'))
|
| 56 |
-
#
|
| 57 |
optimizer = Adam(learning_rate=learning_rate)
|
| 58 |
-
#
|
| 59 |
model.compile(loss='categorical_crossentropy', optimizer=optimizer, metrics=['accuracy'])
|
| 60 |
|
| 61 |
return model
|
|
@@ -106,4 +106,4 @@ plot_optimization_history(study_bilstm)
|
|
| 106 |
html_file_path = "images/study_bilstm_phobertbase_optimize_history.html"
|
| 107 |
# Plot and save the optimization history plot as an HTML file
|
| 108 |
ov.plot_optimization_history(study_bilstm).write_html(html_file_path)
|
| 109 |
-
plot_optimization_history(study_bilstm)
|
|
|
|
| 20 |
|
| 21 |
"""### **Load data**"""
|
| 22 |
|
| 23 |
+
# Load data
|
| 24 |
with open('data/features_162k_phobertbase.pkl', 'rb') as f:
|
| 25 |
data_dict = pickle.load(f)
|
| 26 |
|
| 27 |
+
|
| 28 |
X_train = np.array(data_dict['X_train'])
|
| 29 |
X_val = np.array(data_dict['X_val'])
|
| 30 |
X_test = np.array(data_dict['X_test'])
|
|
|
|
| 42 |
def build_bilstm_model(lstm_units_1, lstm_units_2, dense_units, dropout_rate, learning_rate):
|
| 43 |
model = Sequential()
|
| 44 |
model.add(Input(shape=(X_train.shape[1], X_train.shape[2])))
|
| 45 |
+
# LSTM Layer 1 with dropout
|
| 46 |
model.add(Bidirectional(LSTM(lstm_units_1, return_sequences=True)))
|
| 47 |
model.add(Dropout(dropout_rate))
|
| 48 |
+
# LSTM Layer 2 with dropout
|
| 49 |
model.add(Bidirectional(LSTM(lstm_units_2, return_sequences=False)))
|
| 50 |
model.add(Dropout(dropout_rate))
|
| 51 |
+
# Dense Layer with dropout and ReLU activation
|
| 52 |
model.add(Dense(dense_units, activation='relu'))
|
| 53 |
model.add(Dropout(dropout_rate))
|
| 54 |
+
# Final Dense Layer with softmax activation
|
| 55 |
model.add(Dense(y_train.shape[1], activation='softmax'))
|
| 56 |
+
# Use Adam optimizer with the specified learning rate
|
| 57 |
optimizer = Adam(learning_rate=learning_rate)
|
| 58 |
+
# Compile the model
|
| 59 |
model.compile(loss='categorical_crossentropy', optimizer=optimizer, metrics=['accuracy'])
|
| 60 |
|
| 61 |
return model
|
|
|
|
| 106 |
html_file_path = "images/study_bilstm_phobertbase_optimize_history.html"
|
| 107 |
# Plot and save the optimization history plot as an HTML file
|
| 108 |
ov.plot_optimization_history(study_bilstm).write_html(html_file_path)
|
| 109 |
+
plot_optimization_history(study_bilstm)
|