Пример #1
0
            self._input_data = self._input_data.dropna(axis='columns')

        else:
            self._input_data = self._input_data.apply(lambda x:
                                                      (x - x.mean()) / x.std())

    # ================================================================================================

    def _assign_dummy(self, x):

        x[x[0] + 1:] = 1000

        return x

    # ================================================================================================

    def report_card(self):
        pass


# ================================================================================================
# ================================================================================================

if __name__ == '__main__':
    from Input import cMAPSS as ci

    ci.get_data(2)
    pp1 = cMAPSS()
    pp1.preprocess(ci.Train_input)
#    pp1.preprocess(ci.Test_input, False)
Пример #2
0
# -*- coding: utf-8 -*-
"""
Created on Wed Oct 23 12:46:15 2019

@author: Tejas
"""

import Testing as test

import Config

from Preprocess import cMAPSS as C
from Input import cMAPSS as i

model = test.read_model('../KerasModels/17_Nov_19__03_08_4826_6100')

print(model.summary())

#i.set_datapath('C:/Users/Tejas/Desktop/Tejas/engine-dataset/')

i.get_data(1)

c = C(**Config.prepros_params)

c.preprocess(i.Test_input, isTrain=False)

test.cMAPSS.get_score(model, c.test_in, i.RUL_input)
Пример #3
0
def cMAPPS(experiment_name,
           prepros_params,
           train_params,
           dataset_no,
           tracking=True,
           path=None):
    from Input import cMAPSS as ci
    from Preprocess import cMAPSS as CP
    from Testing import cMAPSS as ct
    import Training as tr

    if tracking == True:

        mlflow.set_tracking_uri('sqlite:///mlflow.db')

        mlflow.set_experiment(experiment_name)

        with mlflow.start_run():

            if path is not None:
                ci.set_datapath(path)

            if dataset_no in range(1, 5):
                ci.get_data(dataset_no)
                mlflow.log_param("DataSet Number", dataset_no)
            else:
                raise Exception('Please choose a number between 1 and 4')

            cp = CP(**prepros_params)
            cp.preprocess(ci.Train_input)

            run_id = mlflow.active_run().info.run_id

            tmpdir = tempfile.TemporaryDirectory()

            rnn_ff = tr.RNN_to_FF(cp.features,
                                  **train_params,
                                  model_dir=tmpdir.name,
                                  run_id=run_id)
            rnn_ff.create_model(cp.no_splits)

            rnn_ff.train_model(cp.splits_in, cp.splits_out, cp.no_splits)

            mlflow.log_param('Features', cp.features)
            mlflow.log_params(prepros_params)

            mlflow.log_params(train_params)
            mlflow.log_params({
                'MSE_Train': rnn_ff.loss.tolist,
                'MSE_Validation': rnn_ff.val_loss.tolist,
                'Delta_MSE': rnn_ff.del_loss.tolist
            })

            mlflow.log_artifacts(tmpdir.name)

            tmpdir.cleanup()
            # Tags

            mlflow.set_tags({
                'RMSE_Train': (rnn_ff.loss**0.5).tolist,
                'RMSE_Validation': (rnn_ff.val_loss**0.5).tolist
            })

            cp.preprocess(ci.Test_input, isTrain=False)
            ct.get_score(rnn_ff.model, cp.test_in, ci.RUL_input)

            mlflow.log_params({
                'Score': ct.score.tolist,
                'Test_MSE': ct.mse.tolist,
                'Combined Score': ct.cm_score,
                'Combined MSE': ct.cm_mse
            })

            mlflow.set_tags({
                'Test RMSE': (ct.mse**0.5).tolist,
                'Combined RMSE': ct.cm_mse**0.5
            })

    else:
        if path is not None:
            ci.set_datapath(path)
        if dataset_no in range(1, 5):
            ci.get_data(dataset_no)
        else:
            raise Exception('Please choose a number between 1 and 4')
        cp = CP(**prepros_params)
        cp.preprocess(ci.Train_input)
        rnn_ff = tr.RNN_to_FF(cp.features, **train_params)
        rnn_ff.create_model(cp.no_splits)
        rnn_ff.train_model(cp.splits_in, cp.splits_out, cp.no_splits)
        cp.preprocess(ci.Test_input, isTrain=False)
        ct.get_score(rnn_ff.models, cp.test_in, ci.RUL_input)

        return ci, cp, rnn_ff, ct

    clear_session()
Пример #4
0
# -*- coding: utf-8 -*-
"""
Created on Sat Oct 19 01:29:45 2019

@author: tejas
"""

from Input import cMAPSS as ci
from Preprocess import cMAPSS as CP
import os
import numpy as np

ci.get_data(1)

cp = CP()
cp.train_preprocess(ci.Train_input)

a = cp.train_in

train_id = np.arange(200)
np.random.shuffle(train_id)

tv_s = int(np.ceil(0.4 * 200))
val_id = train_id[:tv_s]
train_id = train_id[tv_s:]

tin_npy = './np_cache/tin_data.npy'
tout_npy = './np_cache/tout_data.npy'

if os.path.isfile(tin_npy):
    os.remove(tin_npy)