From 9483ab5a3ed8e635f70189a5765dad3ead737ffb Mon Sep 17 00:00:00 2001 From: ehddnr301 Date: Fri, 10 Sep 2021 15:43:04 +0900 Subject: [PATCH] Fix argument MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit argument를 받는 부분에서 오류가 있어 수정하였습니다. --- app/utils.py | 7 +++---- experiments/insurance/trial.py | 26 +++++++++++++++----------- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/app/utils.py b/app/utils.py index 460b24e..45d2ced 100644 --- a/app/utils.py +++ b/app/utils.py @@ -11,8 +11,8 @@ base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) -physical_devices = tf.config.list_physical_devices('GPU') -tf.config.experimental.set_memory_growth(physical_devices[0], enable=True) +# physical_devices = tf.config.list_physical_devices('GPU') +# tf.config.experimental.set_memory_growth(physical_devices[0], enable=True) class MyModel: @@ -61,7 +61,6 @@ def write_yml( model_name, version ): - print(type(version)) with open('{}/{}.yml'.format(path, model_name), 'w') as yml_config_file: yaml.dump({ 'authorName': f'{experimenter}', @@ -78,7 +77,7 @@ def write_yml( 'optimize_mode': 'minimize' }}, 'trial': { - 'command': 'python -e %s -en %s -mn %s -v %f trial.py' % ( + 'command': 'python trial.py -e {} -n {} -m {} -v {}'.format( experimenter, experiment_name, model_name, diff --git a/experiments/insurance/trial.py b/experiments/insurance/trial.py index b027a3d..029c64c 100644 --- a/experiments/insurance/trial.py +++ b/experiments/insurance/trial.py @@ -56,14 +56,11 @@ def main(params, df, engine, experiment_info, connection): connection: connection used to communicate with DB """ - path = experiment_info['path'] experimenter = experiment_info['experimenter'] experiment_name = experiment_info['experiment_name'] model_name = experiment_info['model_name'] version = experiment_info['version'] - global best_model, best_mae - label_col = ['sex', 'smoker', 'region'] y = df.charges.to_frame() @@ -78,7 +75,8 @@ def main(params, df, engine, experiment_info, connection): cv_mae = [] tr_mse = [] tr_mae = [] - + fold_mae = 1e10 + fold_model = None for trn_idx, val_idx in kf.split(x, y): x_train, y_train = x.iloc[trn_idx], y.iloc[trn_idx] x_valid, y_valid = x.iloc[val_idx], y.iloc[val_idx] @@ -106,6 +104,10 @@ def main(params, df, engine, experiment_info, connection): tr_mse.append(train_mse) tr_mae.append(train_mae) + new_mae = min(fold_mae, valid_mae) + if new_mae != fold_mae: + fold_model = model + cv_mse_mean = np.mean(cv_mse) cv_mae_mean = np.mean(cv_mae) tr_mse_mean = np.mean(tr_mse) @@ -135,7 +137,7 @@ def main(params, df, engine, experiment_info, connection): if saved_score > valid_mae: pickled_model = codecs.encode( - pickle.dumps(model), "base64").decode() + pickle.dumps(fold_model), "base64").decode() connection.execute(UPDATE_MODEL_CORE % (pickled_model, model_name)) connection.execute(UPDATE_MODEL_METADATA % ( @@ -174,20 +176,22 @@ def main(params, df, engine, experiment_info, connection): try: opts, etc_args = getopt.getopt( argv[1:], - "e:en:mn:v:", + "e:n:m:v:", [ "experimenter=", "experiment_name=", "model_name=", "version" ]) + print(opts) for opt, arg in opts: + print(opt, arg) if opt in ('-e', "--experimenter"): - experiment_info['experimenter'] = arg - elif opt in ("-en", "--experiment_name"): - experiment_info['experiment_name'] = arg - elif opt in ("-mn", "--model_name"): - experiment_info['model_name'] = arg + experiment_info['experimenter'] = f"'{arg}'" + elif opt in ("-n", "--experiment_name"): + experiment_info['experiment_name'] = f"'{arg}'" + elif opt in ("-m", "--model_name"): + experiment_info['model_name'] = f"'{arg}'" elif opt in ("-v", "--version"): experiment_info['version'] = arg