Example #1
0
    train_start = '2015-01-01 01:30:00'
    train_end = '2019-03-01 15:00:00'

    cv_start = '2019-03-02 01:30:00'
    cv_end = '2019-12-01 15:00:00'

    test_start = '2019-12-02 01:30:00'
    test_end = '2021-04-20 15:00:00'

    data_processor = DataProcessor()
    train_loader = data_processor.get_data(train_start, train_end)
    cv_loader = data_processor.get_data(cv_start, cv_end)
    test_loader = data_processor.get_data(test_start, test_end)

    model = CNN(transform='GAF')
    model = model.double()
    loss_fn = torch.nn.CrossEntropyLoss()
    optimizer = torch.optim.Adam(model.parameters(), lr=1e-3)

    max_epochs = 100
    accuracy_list = []
    for t in range(max_epochs):
        print(f"Epoch {t+1}\n-------------------------------")
        train_loop(train_loader, model, loss_fn, optimizer)
        acc = test_loop(cv_loader, model, loss_fn)
        accuracy_list.append(acc)

        if len(accuracy_list) > 8:
            print(accuracy_list[-8:])

        if len(accuracy_list) > 8 and max(
Example #2
0
if __name__ == "__main__":
    ip = IndexProcessor()
    data, y = ip.get_data()

    images = ip.apply_gaf(data)
    print(images.shape)
    print(y.shape)

    train_loader, cv_loader, test_loader = ip.split_data(images, y)

    use_gpu = torch.cuda.is_available()
    print('gpu:', use_gpu)

    if use_gpu:
        model = CNN(transform='GAF')
        model = model.double().cuda()
        loss_fn = torch.nn.CrossEntropyLoss().cuda()
        optimizer = torch.optim.Adam(model.parameters(), lr=1e-3)

        max_epochs = 100
        accuracy_list = []
        for t in range(max_epochs):
            print(f"Epoch {t+1}\n-------------------------------")
            train_loop(train_loader, model, loss_fn, optimizer)
            acc = test_loop(cv_loader, model, loss_fn)
            accuracy_list.append(acc)

            if len(accuracy_list) > 10:
                print(accuracy_list[-10:])

            if len(accuracy_list) > 10 and max(