Add MLflow

This commit is contained in:
Zofia Galla 2021-05-16 22:25:46 +02:00
parent c9c4ac204c
commit 197efd7bcb
5 changed files with 92 additions and 24 deletions

View File

@ -18,6 +18,7 @@ RUN pip3 install matplotlib
RUN pip3 install --no-cache-dir tensorflow
RUN pip3 install sacred
RUN pip3 install pymongo
RUN pip3 install mlflow
CMD ./run.sh

6
Jenkinsfile vendored
View File

@ -18,4 +18,10 @@ pipeline {
}
}
}
post {
success {
build job: 's434684-training/master'
}
}
}

10
MLproject Normal file
View File

@ -0,0 +1,10 @@
name: 434684-mlflow
docker_env:
image: zollinka/ium:latest
entry_points:
main:
parameters:
learning_rate: {type: float, default: 0.0001}
command: "python3 ium_zadanie6_training.py {learning_rate}"

View File

@ -10,6 +10,7 @@ from sacred.observers import FileStorageObserver, MongoObserver
from sacred import Experiment
from sacred.observers import MongoObserver
from datetime import datetime
import mlflow
ex = Experiment("434684", interactive=False, save_git_info=False)
@ -23,34 +24,38 @@ def my_config():
@ex.capture
def prepare_train_model(learning_rate, _run):
_run.info["prepare_model"] = str(datetime.now())
with mlflow.start_run():
_run.info["prepare_model"] = str(datetime.now())
movies_train = pd.read_csv('movies_train.csv')
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')
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))
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))
mlflow.log_param("learning_rate", learning_rate)
_run.info["train model"] = str(datetime.now())
model.compile(loss='mean_absolute_error', optimizer=Adam(learning_rate))
history = model.fit(
x = convert_to_tensor(x_train, np.float32),
y = y_train,
verbose=0, epochs=99)
_run.info["train model"] = str(datetime.now())
loss = history.history['loss'][-1]
_run.info["Loss"] = str(loss)
model.save('model_movies.h5')
history = model.fit(
x = convert_to_tensor(x_train, np.float32),
y = y_train,
verbose=0, epochs=99)
loss = history.history['loss'][-1]
_run.info["Loss"] = str(loss)
mlflow.log_metric("Loss", loss)
model.save('model_movies.h5')
@ex.main

46
ium_zadanie8.py Normal file
View File

@ -0,0 +1,46 @@
import sys
from tensorflow.keras import layers, Sequential
# from keras.layers import Flatten,Dense,Dropout, GlobalAveragePooling2D
from tensorflow.keras.optimizers import Adam
from tensorflow import convert_to_tensor
import numpy as np
import pandas as pd
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
import mlflow
with mlflow.start_run():
learning_rate = float(sys.argv[1])
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))
mlflow.log_param("learning_rate", learning_rate)
model.compile(loss='mean_absolute_error', optimizer=Adam(learning_rate))
history = model.fit(
x = convert_to_tensor(x_train, np.float32),
y = y_train,
verbose=0, epochs=99)
loss = history.history['loss'][-1]
mlflow.log_metric("Loss", loss)
model.save('model_movies.h5')