Add sacred

This commit is contained in:
Zofia Galla 2021-05-16 11:55:28 +02:00
parent 8439d39d7b
commit 02fae476bf
3 changed files with 48 additions and 19 deletions

View File

@ -16,7 +16,8 @@ RUN pip3 install pandas
RUN pip3 install seaborn RUN pip3 install seaborn
RUN pip3 install matplotlib RUN pip3 install matplotlib
RUN pip3 install --no-cache-dir tensorflow RUN pip3 install --no-cache-dir tensorflow
RUN pip3 install sacred
RUN pip3 install pymongo
CMD ./run.sh CMD ./run.sh
CMD ./run_training.sh

View File

@ -27,7 +27,7 @@ pipeline {
} }
stage('Archive artifacts') { stage('Archive artifacts') {
steps{ steps{
archiveArtifacts artifacts: 'model_movies.h5' archiveArtifacts artifacts: 'model_movies.h5,my_runs/**'
} }
} }
} }

View File

@ -6,28 +6,56 @@ from tensorflow import convert_to_tensor
import numpy as np import numpy as np
import pandas as pd import pandas as pd
from sklearn.metrics import mean_squared_error from sklearn.metrics import mean_squared_error
from sacred.observers import FileStorageObserver, MongoObserver
from sacred import Experiment
from sacred.observers import MongoObserver
from datetime import datetime
movies_train = pd.read_csv('movies_train.csv')
x_train = movies_train.copy() ex = Experiment("434684", interactive=False, save_git_info=False)
y_train = x_train.pop('rottentomatoes_audience_score') ex.observers.append(MongoObserver(url='mongodb://mongo_user:mongo_password_IUM_2021@172.17.0.1:27017', db_name='sacred'))
x_train.pop('Unnamed: 0') ex.observers.append(FileStorageObserver('my_runs'))
learning_rate = float(sys.argv[1]) @ex.config
model = Sequential() def my_config():
model.add(layers.Input(shape=(22,))) learning_rate = float(sys.argv[1])
model.add(layers.Dense(64))
model.add(layers.Dense(64))
model.add(layers.Dense(32))
model.add(layers.Dense(1))
model.compile(loss='mean_absolute_error', optimizer=Adam(learning_rate))
model.fit( def prepare_train_model(learning_rate, _run):
_run.info["prepare_model"] = str(datetime.now())
movies_train = pd.read_csv('movies_train.csv')
x_train = movies_train.copy()
y_train = x_train.pop('rottentomatoes_audience_score')
x_train.pop('Unnamed: 0')
learning_rate = float(sys.argv[1])
model = Sequential()
model.add(layers.Input(shape=(22,)))
model.add(layers.Dense(64))
model.add(layers.Dense(64))
model.add(layers.Dense(32))
model.add(layers.Dense(1))
model.compile(loss='mean_absolute_error', optimizer=Adam(learning_rate))
_run.info["train model"] = str(datetime.now())
history = model.fit(
x = convert_to_tensor(x_train, np.float32), x = convert_to_tensor(x_train, np.float32),
y = y_train, y = y_train,
verbose=0, epochs=99) verbose=0, epochs=99)
model.save('model_movies.h5') loss = history.history['loss'][-1]
_run.info["Loss"] = str(loss)
model.save('model_movies.h5')
@ex.main
def my_main(learning_rate):
print(prepare_train_model())
r = ex.run()
ex.add_artifact("model_movies.h5")