def main(argv):
    parser = argparse.ArgumentParser()
    parser.add_argument(
        "--model",
        default="lstm",
        help="Model to train.")
    args = parser.parse_args()

    lag = 12
    config = {"batch": 256, "epochs": 600}
    file1 = 'data/train.csv'
    file2 = 'data/test.csv'
    X_train, y_train, _, _, _ = process_data(file1, file2, lag)

    if args.model == 'lstm':
        X_train = np.reshape(X_train, (X_train.shape[0], X_train.shape[1], 1))
        m = model.get_lstm([12, 64, 64, 1])
        train_model(m, X_train, y_train, args.model, config)
    if args.model == 'gru':
        X_train = np.reshape(X_train, (X_train.shape[0], X_train.shape[1], 1))
        m = model.get_gru([12, 64, 64, 1])
        train_model(m, X_train, y_train, args.model, config)
    if args.model == 'saes':
        X_train = np.reshape(X_train, (X_train.shape[0], X_train.shape[1]))
        m = model.get_saes([12, 400, 400, 400, 1])
        train_seas(m, X_train, y_train, args.model, config)
Example #2
0
def main(argv):
    parser = argparse.ArgumentParser()
    parser.add_argument("--model", default="ann", help="Model to train.")
    args = parser.parse_args()

    lag = 6
    config = {"batch": 256, "epochs": 200}
    file1 = 'data/compareData/train_data_compare(after6am).csv'
    file2 = 'data/compareData/test_data_cluster0_compare(after6am).csv'
    X_train, y_train, X_test, y_test, scaler = process_data(file1, file2, lag)

    if args.model == 'lstm':
        X_train = np.reshape(X_train, (X_train.shape[0], X_train.shape[1], 1))
        m = model.get_lstm([6, 100, 100, 1])
        train_model(m, X_train, y_train, args.model, config)
    if args.model == 'ann':
        X_train = np.reshape(X_train, (X_train.shape[0], X_train.shape[1]))
        m = model.get_ann([6, 20, 1])
        train_model(m, X_train, y_train, args.model, config)
    if args.model == 'gru':
        X_train = np.reshape(X_train, (X_train.shape[0], X_train.shape[1], 1))
        m = model.get_gru([6, 64, 64, 1])
        train_model(m, X_train, y_train, args.model, config)
    if args.model == 'saes':
        X_train = np.reshape(X_train, (X_train.shape[0], X_train.shape[1]))
        m = model.get_saes([6, 100, 100, 100, 1])
        train_seas(m, X_train, y_train, args.model, config)
def main(argv):
    parser = argparse.ArgumentParser()
    parser.add_argument("--model", default="lstm", help="Model to train.")
    parser.add_argument("--lag", default="12", help="specify number of lags")
    parser.add_argument("--file_name",
                        default="970_1_data.csv",
                        help="Csv file name")
    args = parser.parse_args()

    lag = int(args.lag)
    config = {"batch": 256, "epochs": 600}  # training config
    file = args.file_name
    model_name = os.path.splitext(file)[0]
    X_train, y_train, _, _, _ = process_data(file, lag)

    if args.model == 'lstm':
        m = model.get_lstm(
            [[3, lag], 64, 64,
             1])  # changing the input to 3, lags for rain data model
        train_model(m, X_train, y_train, "{}_lstm".format(model_name), config)
    if args.model == 'gru':
        m = model.get_gru([[3, lag], 64, 64, 1])
        train_model(
            m, X_train, y_train, "{}_gru".format(model_name),
            config)  # changing the input to 3, lags for rain data model
Example #4
0
def main(argv):
    parser = argparse.ArgumentParser()
    parser.add_argument(
        "--model",
        default="saes",
        help="Model to train.")
    args = parser.parse_args()

    lag = 12
    config = {"batch": 256, "epochs": 50}
    file1 = '/home/VICOMTECH/icejudo/PROYECTOS/MiRepoGithub/MLflow-dvc-data/data/train.csv'
    file2 = '/home/VICOMTECH/icejudo/PROYECTOS/MiRepoGithub/MLflow-dvc-data/data/test.csv'
    X_train, y_train, _, _, _ = process_data(file1, file2, lag)

    if args.model == 'lstm':
        X_train = np.reshape(X_train, (X_train.shape[0], X_train.shape[1], 1))
        m = model.get_lstm([12, 64, 64, 1])
        train_model(m, X_train, y_train, args.model, config)
    if args.model == 'gru':
        X_train = np.reshape(X_train, (X_train.shape[0], X_train.shape[1], 1))
        m = model.get_gru([12, 64, 64, 1])
        train_model(m, X_train, y_train, args.model, config)
    if args.model == 'saes':
        X_train = np.reshape(X_train, (X_train.shape[0], X_train.shape[1]))
        m = model.get_saes([12, 400, 400, 400, 1])
        train_seas(m, X_train, y_train, args.model, config)
Example #5
0
def main(argv):
    parser = argparse.ArgumentParser()
    parser.add_argument("--model", default="lstm",
                        help="Model to train.")  #model name
    parser.add_argument("--lag", default="12", help="lags")  # number of lags
    parser.add_argument("--file_name",
                        default="970_1_data.csv",
                        help="Csv file name")  # file name of the csv
    args = parser.parse_args()

    lag = int(args.lag)
    config = {"batch": 256, "epochs": 600}
    file = args.file_name
    X_train, y_train, _, _, _ = process_data(file, lag)

    if args.model == 'lstm':  # training lstm model
        X_train = np.reshape(X_train, (X_train.shape[0], X_train.shape[1], 1))
        m = model.get_lstm([lag, 64, 64, 1])
        train_model(m, X_train, y_train, args.model, config)
    if args.model == 'gru':  # training gru model
        X_train = np.reshape(X_train, (X_train.shape[0], X_train.shape[1], 1))
        m = model.get_gru([lag, 64, 64, 1])
        train_model(m, X_train, y_train, args.model, config)
    if args.model == 'saes':  # training saes model
        X_train = np.reshape(X_train, (X_train.shape[0], X_train.shape[1]))
        m = model.get_saes([lag, 400, 400, 400, 1])
        train_seas(m, X_train, y_train, args.model, config)
Example #6
0
def main(argv):
    parser = argparse.ArgumentParser()
    parser.add_argument(
        "--model",
        default="lstm",
        help="Model to train.")
    args = parser.parse_args()

    config = {"batch": 64, "epochs": 150}
    X_train, y_train, _, _, _ = data_process(12)

    if args.model == 'lstm':
        X_train = np.reshape(X_train, (X_train.shape[0], X_train.shape[1], 1))
        m = model.get_lstm([12, 64, 64, 1])
        train_model(m, X_train, y_train, args.model, config)
    if args.model == 'gru':
        X_train = np.reshape(X_train, (X_train.shape[0], X_train.shape[1], 1))
        m = model.get_gru([12, 64, 64, 1])
        train_model(m, X_train, y_train, args.model, config)
    if args.model == 'saes':
        X_train = np.reshape(X_train, (X_train.shape[0], X_train.shape[1]))
        m = model.get_saes([12, 400, 400, 400, 1])
        train_seas(m, X_train, y_train, args.model, config)
    if args.model == 'bilstm':
        X_train = np.reshape(X_train, (X_train.shape[0], X_train.shape[1], 1))
        m = model.get_bilstm([12, 64, 1])
        train_model(m, X_train, y_train, args.model, config)
Example #7
0
def start_train():
    config = {"batch": 256, "epochs": 10}
    file_path1=fileStr1.get()
    file_path2='data/100211data/100211_all_test.csv'
    if file_path1=="" or file_path2=="":
        tkinter.messagebox.askokcancel(title='请选择文件~', message='请选择两个文件')
        return
    print("start_train")

    callBack = keras.callbacks.LambdaCallback(
        on_epoch_end=lambda epoch, logs: print("epoch",epoch)
    )

    needLstm =modelName.get()=="lstm" or modelName.get()=="all"
    needAllDense = modelName.get()=="allDense" or modelName.get()=="all"
    # _thread.start_new_thread(show_progress,())
    if needLstm:
        for i in range(lagIntStart.get(),lagIntEnd.get(),2):
            lag = i
            X_train, y_train, _, _, _ = process_data(file_path1, file_path2, lag)
            X_train = np.reshape(X_train, (X_train.shape[0], X_train.shape[1], 1))
            m = model.get_lstm([lag, 64, 64, 1])
            train_model(m, X_train, y_train, "lstm", config,lag,callBack)

    if needAllDense:
        for i in range(lagIntStart.get(), lagIntEnd.get(), 2):
            lag=i
            X_train, y_train, _, _, _ = process_data(file_path1, file_path2, lag)
            m = model.get_AllDense([lag, 64, 64, 1])
            train_allDense_model(m, X_train, y_train, "AllDense", config, lag,callBack)

    tkinter.messagebox.askokcancel(title='ok~', message='训练完成,结果保存在model文件夹下')
    return
Example #8
0
def main(argv):
    parser = argparse.ArgumentParser()
    parser.add_argument(
        "--model",
        default="bidirectional",
        help="Model to train.")
    args = parser.parse_args()

    lag = 4 # how far to look back
    config = {"batch": 256, "epochs": 15  }
    file1 = './data/train1.csv'
    file2 = './data/test1.csv'
    X_train, y_train, _, _, _ = process_data(file1, file2, lag)

    
    if args.model == 'lstm':
        X_train = np.reshape(X_train, (X_train.shape[0], X_train.shape[1], 1))
        m = model.get_lstm([4, 64, 64, 1]) 
        train_model(m, X_train, y_train, args.model, config)
    if args.model == 'bidirectional':
        X_train = np.reshape(X_train, (X_train.shape[0], X_train.shape[1], 1))
        m = model.get_bidirectional([4, 64, 64, 1]) 
        train_model(m, X_train, y_train, args.model, config)
    if args.model == 'simplernn':
        X_train = np.reshape(X_train, (X_train.shape[0], X_train.shape[1], 1))
        m = model.get_simplernn([4, 64, 64, 1]) 
        train_model(m, X_train, y_train, args.model, config)
    if args.model == 'gru':
        X_train = np.reshape(X_train, (X_train.shape[0], X_train.shape[1], 1))
        m = model.get_gru([4, 64, 64, 1])
        train_model(m, X_train, y_train, args.model, config)
    if args.model == 'saes':
        X_train = np.reshape(X_train, (X_train.shape[0], X_train.shape[1]))
        m = model.get_saes([4, 400, 400, 400, 1])
        train_seas(m, X_train, y_train, args.model, config)
Example #9
0
def run_thread(X_train, y_train, batchs, epochs, number_input):
    config = {"batch": batchs, "epochs": epochs}
    m1 = model.get_lstm(
        [X_train.shape[1], number_input, number_input, 1, X_train.shape[2]])
    train_model(
        m1, X_train, y_train,
        'lstm' + str(number_input) + '_' + str(batchs) + '_' + str(epochs),
        config)
Example #10
0
def generate_new_model(model_to_train, input_shape):
    if model_to_train == 'seas':
        m = model.get_saes(input_shape, [400, 400, 400, 1])
    elif model_to_train == 'lstm':
        m = model.get_lstm(input_shape, [64, 64, 1])
    if model_to_train == 'gru':
        m = model.get_gru(input_shape, [64, 64, 1])
    if model_to_train == "feedfwd":
        m = model.get_feed_fwd(input_shape, [64, 1])
    if model_to_train == "deepfeedfwd":
        m = model.get_deep_feed_fwd(input_shape, [64, 128, 64, 1])
    return m
Example #11
0
def main(target_model):

    config = {"batch": 10, "epochs": 25000}
    train = 'data/train/'
    test = 'data/test/'
    X_train, y_train, _, _ = process_data(train, test)

    if target_model == 'lstm':
        m = model.get_lstm([58, 64, 64, 2])
        train_model(m, X_train, y_train, target_model, config)
    if target_model == 'gru':
        m = model.get_gru([58, 64, 64, 2])
        train_model(m, X_train, y_train, target_model, config)
    if target_model == 'saes':
        X_train = np.reshape(X_train, (X_train.shape[0], -1))
        m = model.get_saes([4800, 400, 400, 400, 2])
        train_seas(m, X_train, y_train, target_model, config)
Example #12
0
def main(argv):
    parser=argparse.ArgumentParser()
    parser.add_argument(
        '--model',
        default='lstm',
        help='Model to train')
    args=parser.parse_args()
    lag=12
    config={"batch": 256,"epochs":500}
    path=r'D:\data\2018_data\process_data\M30f.csv'
    if args.model in ['lstm','gru','saes']:
        X_train,y_train,_,_,_=process_data(path,lag)

    if args.model == 'merge_lstm':
        lag = [12, 96, 672]
        X_train, y_train, _, _, _ =min_day_week_data(path,lag)
        # X_train = np.reshape(X_train,[X_train.shape[0], X_train.shape[1], 1])
        m = model.merge_lstm([12,24,7,1])
        train_merge_lstm(m, X_train, y_train, args.model, config)

    if args.model=='lstm':
        X_train=np.reshape(X_train,[X_train.shape[0],X_train.shape[1],1])
        m=model.get_lstm([12,64,128,1])
        train_model(m,X_train,y_train,args.model,config)

    if args.model=='gru':
        X_train=np.reshape(X_train,[X_train.shape[0],X_train.shape[1],1])
        m=model.get_gru([12,64,128,1])
        train_model(m,X_train,y_train,args.model,config)

    if args.model=='saes':
        X_train=np.reshape(X_train,[X_train.shape[0],X_train.shape[1]])
        m=model.get_saes([12,400,400,400,1])
        train_seas(m,X_train,y_train,args.model,config)
    if args.model=='cnn':
        lag=96
        X_train,y_train,_,_,_=cnn_data(path,lag)
        X_train=np.reshape(X_train,[X_train.shape[0],X_train.shape[1],X_train.shape[2],1])
        # y_train=np.reshape(y_train,[y_train.shape[0],y_train.shape[1],1])

        m=model.get_cnn([68,96,16,32,64])
        train_model(m,X_train,y_train,args.model,config)
Example #13
0
 def training(self):
     gru_model = get_gru(self.units)
     train_model(gru_model, self.X_train, self.y_train, 'GRU', self.config)
     lstm_model = get_lstm(self.units)
     train_model(lstm_model, self.X_train, self.y_train, 'LSTM',
                 self.config)