This commit is contained in:
Dominik Strzako 2021-05-15 20:26:44 +02:00
parent 1425365d68
commit 61f3ba7549

View File

@ -7,50 +7,69 @@ import numpy as np
import sys
from sklearn.preprocessing import StandardScaler, LabelEncoder
from tensorflow.keras.optimizers import Adam
from sacred.observers import FileStorageObserver
from sacred.observers import FileStorageObserver, MongoObserver
from sacred import Experiment
from datetime import datetime
import os
import pymongo
ex = Experiment("434788-mongo", 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'))
wine=pd.read_csv('train.csv')
@ex.config
def my_config():
batch_param = int(sys.argv[1])
epoch_param = int(sys.argv[2])
y = wine['quality']
x = wine.drop('quality', axis=1)
@ex.capture
def prepare_model(epoch_param, batch_param, _run):
_run.info["prepare_model_ts"] = str(datetime.now())
citricacid = x['fixed acidity'] * x['citric acid']
citric_acidity = pd.DataFrame(citricacid, columns=['citric_accidity'])
wine=pd.read_csv('train.csv')
density_acidity = x['fixed acidity'] * x['density']
density_acidity = pd.DataFrame(density_acidity, columns=['density_acidity'])
y = wine['quality']
x = wine.drop('quality', axis=1)
citricacid = x['fixed acidity'] * x['citric acid']
citric_acidity = pd.DataFrame(citricacid, columns=['citric_accidity'])
density_acidity = x['fixed acidity'] * x['density']
density_acidity = pd.DataFrame(density_acidity, columns=['density_acidity'])
x = wine.join(citric_acidity).join(density_acidity)
x = wine.join(citric_acidity).join(density_acidity)
bins = (2, 5, 8)
gnames = ['bad', 'nice']
y = pd.cut(y, bins = bins, labels = gnames)
bins = (2, 5, 8)
gnames = ['bad', 'nice']
y = pd.cut(y, bins = bins, labels = gnames)
enc = LabelEncoder()
yenc = enc.fit_transform(y)
enc = LabelEncoder()
yenc = enc.fit_transform(y)
scale = StandardScaler()
scaled_x = scale.fit_transform(x)
scale = StandardScaler()
scaled_x = scale.fit_transform(x)
NeuralModel = Sequential([
Dense(128, activation='relu', input_shape=(14,)),
Dense(32, activation='relu'),
Dense(64, activation='relu'),
Dense(64, activation='relu'),
Dense(64, activation='relu'),
Dense(1, activation='sigmoid')
])
NeuralModel = Sequential([
Dense(128, activation='relu', input_shape=(14,)),
Dense(32, activation='relu'),
Dense(64, activation='relu'),
Dense(64, activation='relu'),
Dense(64, activation='relu'),
Dense(1, activation='sigmoid')
])
rms = Adam(lr=0.0003)
rms = Adam(lr=0.0003)
NeuralModel.compile(optimizer=rms, loss='binary_crossentropy', metrics=['accuracy'])
NeuralModel.compile(optimizer=rms, loss='binary_crossentropy', metrics=['accuracy'])
NeuralModel.fit(scaled_x, yenc, batch_size=int(sys.argv[1]), epochs = int(sys.argv[2])) #verbose = 1
NeuralModel.fit(scaled_x, yenc, batch_size= batch_param, epochs = epoch_param) #verbose = 1
NeuralModel.save('wine_model.h5')
NeuralModel.save('wine_model.h5')
@ex.main
def my_main(train_size_param, test_size_param):
print(prepare_model())
r = ex.run()
ex.add_artifact("saved_model/saved_model.pb")