From 53496d261f53cf375fa59cba2a0952499c56bf42 Mon Sep 17 00:00:00 2001 From: Alex Rubinsteyn <alex.rubinsteyn@gmail.com> Date: Thu, 2 Jun 2016 12:54:11 -0400 Subject: [PATCH] pass dropout to Embedding instead of creating Dropout layer --- mhcflurry/dataset.py | 10 +++++++++- mhcflurry/feedforward.py | 9 ++++----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/mhcflurry/dataset.py b/mhcflurry/dataset.py index 63d892c9..a59d825b 100644 --- a/mhcflurry/dataset.py +++ b/mhcflurry/dataset.py @@ -33,6 +33,7 @@ from .imputation_helpers import ( check_dense_pMHC_array, prune_dense_matrix_and_labels, dense_pMHC_matrix_to_nested_dict, + imputer_from_name ) @@ -649,7 +650,8 @@ class Dataset(object): self, test_allele=None, n_folds=3, - shuffle=True): + shuffle=True, + stratify_fn=None): """ Yields a sequence of training/test splits of this dataset. @@ -657,6 +659,9 @@ class Dataset(object): only split the measurements of the specified allele (other alleles will then always be included in the training datasets). """ + if stratify_fn is not None: + raise ValueError("StratifiedKFold not yet implemented!") + if test_allele is None: candidate_test_indices = np.arange(len(self)) @@ -809,6 +814,9 @@ class Dataset(object): Returns Dataset with original pMHC affinities and additional synthetic samples. """ + if isinstance(imputation_method, string_types): + imputation_method = imputer_from_name(imputation_method) + X_incomplete, peptide_list, allele_list = self.to_dense_pMHC_affinity_matrix( min_observations_per_peptide=min_observations_per_peptide, min_observations_per_allele=min_observations_per_allele) diff --git a/mhcflurry/feedforward.py b/mhcflurry/feedforward.py index eae30497..47ba4218 100644 --- a/mhcflurry/feedforward.py +++ b/mhcflurry/feedforward.py @@ -65,18 +65,17 @@ def make_network( input_dim=embedding_input_dim, output_dim=embedding_output_dim, input_length=input_size, - weights=[initial_embedding_weights])) + weights=[initial_embedding_weights], + dropout=dropout_probability)) else: model.add(Embedding( input_dim=embedding_input_dim, output_dim=embedding_output_dim, input_length=input_size, - init=embedding_init_method)) + init=embedding_init_method, + dropout=dropout_probability)) model.add(Flatten()) - if dropout_probability > 0: - model.add(Dropout(dropout_probability)) - input_size = input_size * embedding_output_dim layer_sizes = (input_size,) + tuple(layer_sizes) -- GitLab