-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain_with_conf.py
42 lines (28 loc) · 1.24 KB
/
main_with_conf.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
"""
execute code
"""
import numpy as np
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import LSTM, Dense, Dropout
from tensorflow.keras.optimizers import Adam
def main(conf):
# create fake data
x_train = np.random.randn(conf["n_rows_train"], conf["n_columns"])
y_train = np.random.choice([0, 1], size=(conf["n_rows_train"],), p=[1./2, 1./2])
x_test = np.random.randn(conf["n_rows_train"], conf["n_columns"])
y_test = np.random.choice([0, 1], size=(conf["n_rows_test"]), p=[1./2, 1./2])
# define the model
model = Sequential()
model.add((Dense(conf["n_neurons_1"], input_shape=(conf["n_columns"],), activation=conf["activation_1"], name="layer_1")))
model.add((Dense(conf["n_neurons_2"], activation=conf["activation_2"], name="layer_2")))
model.add((Dense(1, activation="sigmoid", name="layer_output")))
optimizer = Adam(learning_rate=conf["learning_rate"])
model.compile(loss='binary_crossentropy', optimizer=optimizer)
# train the model and make prediction
model.fit(x_train, y_train)
pred_test = model.predict(x_test)
print(pred_test, y_test)
if __name__ == "__main__":
# test 2 : configuration file
from src.config.conf import conf
main(conf)