def test():
    aa_list = 'ACDEFGHIKLMNPQRSTVWY'
    para_dict = {
        'seq_len': 18,
        'batch_size': 100,
        'model_name': 'Seq_32x2_16_regres',
        'epoch': 20,
        'num_samples': 1000,
        'learning_rate': 0.001,
        'step_size': 5,
        'n_filter1': 32,
        'n_filter2': 64,
        'filter_size1': 5,
        'filter_size2': 5,
        'fc_hidden_dim': 16,
        'dropout_rate': 0.5,
        'stride': 1
    }

    data, out = loader.synthetic_data(num_samples=para_dict['num_samples'],
                                      seq_len=para_dict['seq_len'],
                                      aa_list=aa_list,
                                      type='regressor')
    data = loader.encode_data(data)
    train_loader, test_loader = loader.train_test_loader(
        data, out, test_size=0.3, batch_size=para_dict['batch_size'])

    model = CNNx2_regressor(para_dict)
    model.fit(train_loader)
    output = model.predict(test_loader)
    labels = np.vstack([i for _, i in test_loader])
    r2 = model.evaluate(output, labels)
Example #2
0
def test():
    aa_list = 'ACDEFGHIKLMNPQRSTVWY'

    para_dict = {
        'batch_size': 100,
        'seq_len': 18,
        'num_samples': 1000,
        'model_name': 'DNN_2Layer_class',
        'epoch': 20,
        'learning_rate': 0.001,
        'fc_hidden_dim': 32,
        'dropout_rate': 0.5,
        'model_type': 'classification'
    }

    data, out = loader.synthetic_data(num_samples=para_dict['num_samples'],
                                      seq_len=para_dict['seq_len'],
                                      aa_list=aa_list)
    data = loader.encode_data(data)
    train_loader, test_loader = loader.train_test_loader(
        data, out, test_size=0.3, batch_size=para_dict['batch_size'])

    model = DNN_classifier(para_dict)
    model.fit(train_loader)
    output = model.predict(test_loader)
    labels = np.vstack([i for _, i in test_loader])
    mat, acc, mcc = model.evaluate(output, labels)
Example #3
0
def test():
    aa_list = 'ACDEFGHIKLMNPQRSTVWY'

    para_dict = {
        'num_samples': 1000,
        'batch_size': 100,
        'seq_len': 18,
        'model_name': 'Seq_32x1_16',
        'optim_name': 'Adam',
        'epoch': 20,
        'learning_rate': 0.001,
        'step_size': 5,
        'n_filter': 32,
        'filter_size': 5,
        'fc_hidden_dim': 16,
        'dropout_rate': 0.5
    }

    data, out = loader.synthetic_data(num_samples=para_dict['num_samples'],
                                      seq_len=para_dict['seq_len'],
                                      aa_list=aa_list)
    data = loader.encode_data(data)
    train_loader, test_loader = loader.train_test_loader(
        data, out, test_size=0.3, batch_size=para_dict['batch_size'])

    model = CNN_classifier(para_dict)
    model.fit(train_loader)
    output = model.predict(test_loader)
    labels = np.concatenate([i for _, i in test_loader])
    mat, acc, mcc = model.evaluate(output, labels)

    # demo for optimization
    para_json = os.path.join(model.model_path, 'train_parameters.json')
    print(para_json)
    para_dict = json.load(open(para_json, 'r'))
    prev_model = CNN_classifier(para_dict)
    prev_model.net_init()
    prev_model.load_model()
    seed_seqs, labels = next(iter(train_loader))
    new_seqs = prev_model.optimization(seed_seqs, step_size=0.001, interval=10)
    # check sequence identity
    new_seqs.permute(0, 2, 1).argmax(dim=1).unsqueeze(dim=1)[0, :, :]
    seed_seqs.permute(0, 2, 1).argmax(dim=1).unsqueeze(dim=1)[0, :, :]