add sacred

This commit is contained in:
jakubknczny 2021-05-16 14:30:55 +02:00
parent 3f8833d090
commit 7905591af2
4 changed files with 46 additions and 19 deletions

View File

@ -11,6 +11,7 @@ WORKDIR /app
COPY ./eval.py ./
COPY ./script.sh ./
COPY ./test.csv ./
RUN chmod +x script.sh
COPY ./requirements.txt ./

View File

@ -8,7 +8,6 @@ RUN apt install -y unzip >>/dev/null
WORKDIR /app
COPY ./train.py ./
COPY ./script.sh ./
RUN chmod +x script.sh

View File

@ -2,3 +2,4 @@ numpy~=1.19.2
pandas
tensorflow
keras==2.3.1
sacred

View File

@ -1,29 +1,55 @@
from datetime import datetime
import pandas as pd
from sacred import Experiment
from sacred.observers import MongoObserver
import sys
import tensorflow
from tensorflow.keras import layers
X_train = pd.read_csv('train.csv')
X_valid = pd.read_csv('valid.csv')
ex = Experiment("470607", interactive=False, save_git_info=False)
ex.observers.append(MongoObserver(url='mongodb://mongo_user:mongo_password_IUM_2021@172.17.0.1:27017', db_name='sacred'))
ex.observers.append(FileStorageObserver('my_runs'))
Y_train = X_train.pop('stabf')
Y_train = pd.get_dummies(Y_train)
@ex.config
def my_config():
learning_rate = float(sys.argv[1])
Y_valid = X_valid.pop('stabf')
Y_valid = pd.get_dummies(Y_valid)
@ex.capture
def prepare_train_model(learning_rate, _run):
_run.info["prepare_model"] = str(datetime.now())
model = tensorflow.keras.Sequential([
X_train = pd.read_csv('train.csv')
X_valid = pd.read_csv('valid.csv')
Y_train = X_train.pop('stabf')
Y_train = pd.get_dummies(Y_train)
Y_valid = X_valid.pop('stabf')
Y_valid = pd.get_dummies(Y_valid)
model = tensorflow.keras.Sequential([
layers.Input(shape=(12,)),
layers.Dense(32),
layers.Dense(16),
layers.Dense(2, activation='softmax')
])
])
model.compile(
model.compile(
loss=tensorflow.keras.losses.BinaryCrossentropy(),
optimizer=tensorflow.keras.optimizers.Adam(lr=float(sys.argv[1])),
optimizer=tensorflow.keras.optimizers.Adam(lr=learning_rate),
metrics=[tensorflow.keras.metrics.BinaryAccuracy()])
history = model.fit(X_train, Y_train, epochs=2, validation_data=(X_valid, Y_valid))
history = model.fit(X_train, Y_train, epochs=2, validation_data=(X_valid, Y_valid))
model.save('grid-stability-dense.h5')
_run['history'] = history
@ex.main
def my_main(learning_rate):
print(prepare_train_model())
r = ex.run()
ex.add_artifact('grid-stability-dense.h5')
model.save('grid-stability-dense.h5')