Beispiel #1
0
        last = i + T
        ts.append(x[i:last])
    return np.array(ts)


def gen_multi_feature(x, T):
    ret = []
    for i in range(x.shape[0]):
        ts = slide_window(x[i], T)
        ret.append(ts)
    return np.array(ret)


if __name__ == '__main__':
    path = './data/train-test-0.4.npz'
    train_data, test_data, train_label, test_label = load_train_test(path)

    T = 10
    train_data = gen_multi_feature(train_data, T)
    test_data = gen_multi_feature(test_data, T)

    TEST = False
    model_save_path = './models/cnn_lstm.model'
    tmp_save_path = './models/cnn_lstm_%s.model'
    batch_size = 512
    time_step = train_data.shape[1]
    input_size = train_data.shape[2]
    n_filters = 64
    hidden_size = 64
    EPOCH = 100
    lr = 1e-2
Beispiel #2
0
    print('anomaly size, ratio:', anomaly_size, anomaly_ratio)

    split_ratio = 0.4
    save_path = './data/train-test-%s' % split_ratio
    if not os.path.exists(save_path + '.npz'):
        print('split train test...')
        train_data, test_data, train_label, test_label = split_train_test(
            data, label, split_ratio)
        np.savez(save_path,
                 train_data=train_data,
                 test_data=test_data,
                 train_label=train_label,
                 test_label=test_label)
    else:
        print('read train test...')
        train_data, test_data, train_label, test_label = load_train_test(
            save_path + '.npz')
    print(train_data.shape, test_data.shape, sum(train_label), sum(test_label))

    batch_size = 512
    EPOCH = 500
    lr = 0.001
    model_save_path = './models/nn.model'
    TEST = True
    x = torch.from_numpy(train_data).float()
    y = torch.from_numpy(train_label).long()
    model = NN().to(DEVICE)
    optimizer = torch.optim.Adam(model.parameters(), lr=lr)
    loss_func = torch.nn.CrossEntropyLoss()

    if not TEST:
        for epoch in range(EPOCH):