예제 #1
0
 def test_smiles_to_vec_regression(self):
     dataset, metric = self.get_dataset(mode="regression",
                                        featurizer="smiles2seq")
     model = Smiles2Vec(char_to_idx=self.char_to_idx,
                        max_seq_len=self.max_seq_len,
                        use_conv=True,
                        n_tasks=self.n_tasks,
                        model_dir=None,
                        mode="regression")
     model.fit(dataset, nb_epoch=500)
     scores = model.evaluate(dataset, [metric], [])
     assert all(s < 0.1 for s in scores['mean_absolute_error'])
예제 #2
0
 def test_smiles_to_vec_classification(self):
     dataset, metric = self.get_dataset(mode="classification",
                                        featurizer="smiles2seq")
     model = Smiles2Vec(char_to_idx=self.char_to_idx,
                        max_seq_len=self.max_seq_len,
                        use_conv=True,
                        n_tasks=self.n_tasks,
                        model_dir=None,
                        mode="classification")
     model.fit(dataset, nb_epoch=500)
     scores = model.evaluate(dataset, [metric], [])
     assert scores['mean-roc_auc_score'] >= 0.9
예제 #3
0
def test_smiles_to_vec_regression():
    n_tasks = 5
    max_seq_len = 20
    dataset, metric, char_to_idx = get_dataset(mode="regression",
                                               featurizer="smiles2seq",
                                               n_tasks=n_tasks,
                                               max_seq_len=max_seq_len)
    model = Smiles2Vec(char_to_idx=char_to_idx,
                       max_seq_len=max_seq_len,
                       use_conv=True,
                       n_tasks=n_tasks,
                       model_dir=None,
                       mode="regression")
    model.fit(dataset, nb_epoch=500)
    scores = model.evaluate(dataset, [metric], [])
    assert scores['mean_absolute_error'] < 0.1