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)
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)
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, :, :]