Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
Upload 154 files
Browse filesThis view is limited to 50 files because it contains too many changes.
See raw diff
- configs/callbacks/csv_prediction_writer.yaml +4 -0
- configs/callbacks/default.yaml +5 -0
- configs/callbacks/early_stopping.yaml +17 -0
- configs/callbacks/inference.yaml +6 -0
- configs/callbacks/model_checkpoint.yaml +19 -0
- configs/callbacks/model_summary.yaml +7 -0
- configs/callbacks/none.yaml +0 -0
- configs/callbacks/rich_progress_bar.yaml +6 -0
- configs/callbacks/tqdm_progress_bar.yaml +2 -0
- configs/data/collator/default.yaml +5 -0
- configs/data/collator/none.yaml +2 -0
- configs/data/drug_featurizer/ecfp.yaml +6 -0
- configs/data/drug_featurizer/fcs.yaml +4 -0
- configs/data/drug_featurizer/graph.yaml +2 -0
- configs/data/drug_featurizer/label.yaml +15 -0
- configs/data/drug_featurizer/mol_features.yaml +4 -0
- configs/data/drug_featurizer/none.yaml +2 -0
- configs/data/drug_featurizer/onehot.yaml +15 -0
- configs/data/drug_featurizer/tokenizer.yaml +6 -0
- configs/data/dti.yaml.bak +21 -0
- configs/data/dti_data.yaml +20 -0
- configs/data/protein_featurizer/fcs.yaml +4 -0
- configs/data/protein_featurizer/label.yaml +12 -0
- configs/data/protein_featurizer/none.yaml +2 -0
- configs/data/protein_featurizer/onehot.yaml +12 -0
- configs/data/protein_featurizer/tokenizer.yaml +6 -0
- configs/data/protein_featurizer/word2vec.yaml +6 -0
- configs/data/split/cold_drug.yaml +4 -0
- configs/data/split/cold_protein.yaml +4 -0
- configs/data/split/none.yaml +0 -0
- configs/data/split/random.yaml +10 -0
- configs/data/transform/minmax.yaml +5 -0
- configs/data/transform/none.yaml +2 -0
- configs/debug/advanced.yaml +25 -0
- configs/debug/default.yaml +35 -0
- configs/debug/fdr.yaml +11 -0
- configs/debug/fdr_advanced.yaml +11 -0
- configs/debug/limit.yaml +12 -0
- configs/debug/overfit.yaml +13 -0
- configs/debug/profiler.yaml +12 -0
- configs/experiment/bindingdb.yaml +9 -0
- configs/experiment/chembl_random.yaml +9 -0
- configs/experiment/chembl_rmfh_random.yaml +9 -0
- configs/experiment/davis.yaml +9 -0
- configs/experiment/demo_bindingdb.yaml +9 -0
- configs/experiment/dti_experiment.yaml +19 -0
- configs/experiment/example.yaml +35 -0
- configs/experiment/ion_channels.yaml +9 -0
- configs/experiment/kiba.yaml +9 -0
- configs/experiment/kinase.yaml +13 -0
configs/callbacks/csv_prediction_writer.yaml
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
csv_prediction_writer:
|
2 |
+
_target_: deepscreen.utils.lightning.CSVPredictionWriter
|
3 |
+
output_dir: ${paths.output_dir}
|
4 |
+
write_interval: batch
|
configs/callbacks/default.yaml
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
defaults:
|
2 |
+
- model_checkpoint
|
3 |
+
- early_stopping
|
4 |
+
- model_summary
|
5 |
+
- rich_progress_bar
|
configs/callbacks/early_stopping.yaml
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# https://pytorch-lightning.readthedocs.io/en/latest/api/pytorch_lightning.callbacks.EarlyStopping.html
|
2 |
+
|
3 |
+
# Monitor a metric and stop training when it stops improving.
|
4 |
+
# Look at the above link for more detailed information.
|
5 |
+
early_stopping:
|
6 |
+
_target_: lightning.pytorch.callbacks.EarlyStopping
|
7 |
+
monitor: ${oc.select:callbacks.model_checkpoint.monitor,"val/loss"} # quantity to be monitored, must be specified!!!
|
8 |
+
min_delta: 0. # minimum change in the monitored quantity to qualify as an improvement
|
9 |
+
patience: 50 # number of checks with no improvement after which training will be stopped
|
10 |
+
verbose: False # verbosity mode
|
11 |
+
mode: ${callbacks.model_checkpoint.mode} # "max" means higher metric value is better, can be also "min"
|
12 |
+
strict: True # whether to crash the training if monitor is not found in the validation metrics
|
13 |
+
check_finite: True # when set True, stops training when the monitor becomes NaN or infinite
|
14 |
+
stopping_threshold: null # stop training immediately once the monitored quantity reaches this threshold
|
15 |
+
divergence_threshold: null # stop training as soon as the monitored quantity becomes worse than this threshold
|
16 |
+
check_on_train_epoch_end: False # whether to run early stopping at the end of the training epoch
|
17 |
+
log_rank_zero_only: False # logs the status of the early stopping callback only for rank 0 process
|
configs/callbacks/inference.yaml
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
defaults:
|
2 |
+
- model_summary
|
3 |
+
- rich_progress_bar
|
4 |
+
|
5 |
+
model_summary:
|
6 |
+
max_depth: 2
|
configs/callbacks/model_checkpoint.yaml
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# https://pytorch-lightning.readthedocs.io/en/latest/api/pytorch_lightning.callbacks.ModelCheckpoint.html
|
2 |
+
|
3 |
+
# Save the model periodically by monitoring a quantity.
|
4 |
+
# Look at the above link for more detailed information.
|
5 |
+
model_checkpoint:
|
6 |
+
_target_: lightning.pytorch.callbacks.ModelCheckpoint
|
7 |
+
dirpath: ${paths.output_dir} # directory to save the model file
|
8 |
+
filename: "checkpoints/epoch_{epoch:03d}" # checkpoint filename
|
9 |
+
monitor: ${eval:'"val/loss" if ${data.train_val_test_split}[1] else "train/loss"'} # name of the logged metric which determines when model is improving
|
10 |
+
verbose: False # verbosity mode
|
11 |
+
save_last: True # additionally always save an exact copy of the last checkpoint to a file last.ckpt
|
12 |
+
save_top_k: 1 # save k best models (determined by above metric)
|
13 |
+
mode: "min" # "max" means higher metric value is better, can be also "min"
|
14 |
+
auto_insert_metric_name: False # when True, the checkpoints filenames will contain the metric name
|
15 |
+
save_weights_only: False # if True, then only the model’s weights will be saved
|
16 |
+
every_n_train_steps: null # number of training steps between checkpoints
|
17 |
+
train_time_interval: null # checkpoints are monitored at the specified time interval
|
18 |
+
every_n_epochs: null # number of epochs between checkpoints
|
19 |
+
save_on_train_epoch_end: null # whether to run checkpointing at the end of the training epoch or the end of validation
|
configs/callbacks/model_summary.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# https://pytorch-lightning.readthedocs.io/en/latest/api/pytorch_lightning.callbacks.RichModelSummary.html
|
2 |
+
|
3 |
+
# Generates a summary of all layers in a LightningModule with rich text formatting.
|
4 |
+
# Look at the above link for more detailed information.
|
5 |
+
model_summary:
|
6 |
+
_target_: lightning.pytorch.callbacks.RichModelSummary
|
7 |
+
max_depth: 2 # The maximum depth of layer nesting that the summary will include. `-1` for all modules `0` for none.
|
configs/callbacks/none.yaml
ADDED
File without changes
|
configs/callbacks/rich_progress_bar.yaml
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# https://pytorch-lightning.readthedocs.io/en/latest/api/pytorch_lightning.callbacks.RichProgressBar.html
|
2 |
+
|
3 |
+
# Create a progress bar with rich text formatting.
|
4 |
+
# Look at the above link for more detailed information.
|
5 |
+
rich_progress_bar:
|
6 |
+
_target_: lightning.pytorch.callbacks.RichProgressBar
|
configs/callbacks/tqdm_progress_bar.yaml
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
1 |
+
tqdm_progress_bar:
|
2 |
+
_target_: lightning.pytorch.callbacks.TQDMProgressBar
|
configs/data/collator/default.yaml
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
_target_: deepscreen.data.utils.collator.collate_fn
|
2 |
+
_partial_: true
|
3 |
+
|
4 |
+
automatic_padding: false
|
5 |
+
padding_value: 0.0
|
configs/data/collator/none.yaml
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
1 |
+
_target_: deepscreen.utils.passthrough
|
2 |
+
_partial_: true
|
configs/data/drug_featurizer/ecfp.yaml
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
_target_: deepscreen.data.featurizers.fingerprint.smiles_to_fingerprint
|
2 |
+
_partial_: true
|
3 |
+
|
4 |
+
fingerprint: MorganFP
|
5 |
+
nBits: 1024
|
6 |
+
radius: 2
|
configs/data/drug_featurizer/fcs.yaml
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
_target_: deepscreen.data.featurizers.fcs.drug_to_embedding
|
2 |
+
_partial_: true
|
3 |
+
|
4 |
+
max_sequence_length: 205
|
configs/data/drug_featurizer/graph.yaml
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
1 |
+
_target_: deepscreen.data.featurizers.graph.smiles_to_graph
|
2 |
+
_partial_: true
|
configs/data/drug_featurizer/label.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#_target_: deepscreen.data.featurizers.categorical.smiles_to_label
|
2 |
+
#_partial_: true
|
3 |
+
#
|
4 |
+
#max_sequence_length: 100
|
5 |
+
##in_channels: 63
|
6 |
+
|
7 |
+
_target_: deepscreen.data.featurizers.categorical.sequence_to_label
|
8 |
+
_partial_: true
|
9 |
+
charset: ['#', '%', ')', '(', '+', '-', '.', '1', '0', '3', '2', '5', '4',
|
10 |
+
'7', '6', '9', '8', '=', 'A', 'C', 'B', 'E', 'D', 'G', 'F', 'I',
|
11 |
+
'H', 'K', 'M', 'L', 'O', 'N', 'P', 'S', 'R', 'U', 'T', 'W', 'V',
|
12 |
+
'Y', '[', 'Z', ']', '_', 'a', 'c', 'b', 'e', 'd', 'g', 'f', 'i',
|
13 |
+
'h', 'm', 'l', 'o', 'n', 's', 'r', 'u', 't', 'y']
|
14 |
+
|
15 |
+
max_sequence_length: 100
|
configs/data/drug_featurizer/mol_features.yaml
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
_target_: deepscreen.data.featurizers.graph.smiles_to_mol_features
|
2 |
+
_partial_: true
|
3 |
+
|
4 |
+
num_atom_feat: 34
|
configs/data/drug_featurizer/none.yaml
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
1 |
+
_target_: deepscreen.utils.passthrough
|
2 |
+
_partial_: true
|
configs/data/drug_featurizer/onehot.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#_target_: deepscreen.data.featurizers.categorical.smiles_to_onehot
|
2 |
+
#_partial_: true
|
3 |
+
#
|
4 |
+
#max_sequence_length: 100
|
5 |
+
##in_channels: 63
|
6 |
+
|
7 |
+
_target_: deepscreen.data.featurizers.categorical.sequence_to_onehot
|
8 |
+
_partial_: true
|
9 |
+
charset: ['#', '%', ')', '(', '+', '-', '.', '1', '0', '3', '2', '5', '4',
|
10 |
+
'7', '6', '9', '8', '=', 'A', 'C', 'B', 'E', 'D', 'G', 'F', 'I',
|
11 |
+
'H', 'K', 'M', 'L', 'O', 'N', 'P', 'S', 'R', 'U', 'T', 'W', 'V',
|
12 |
+
'Y', '[', 'Z', ']', '_', 'a', 'c', 'b', 'e', 'd', 'g', 'f', 'i',
|
13 |
+
'h', 'm', 'l', 'o', 'n', 's', 'r', 'u', 't', 'y']
|
14 |
+
|
15 |
+
max_sequence_length: 100
|
configs/data/drug_featurizer/tokenizer.yaml
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
_target_: deepscreen.data.featurizers.token.sequence_to_token_ids
|
2 |
+
_partial_: true
|
3 |
+
|
4 |
+
tokenizer:
|
5 |
+
_target_: deepscreen.data.featurizers.token.SmilesTokenizer
|
6 |
+
vocab_file: resources/vocabs/smiles.txt
|
configs/data/dti.yaml.bak
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
_target_: deepscreen.data.dti_datamodule.DTIdatamodule
|
2 |
+
|
3 |
+
defaults:
|
4 |
+
- _self_
|
5 |
+
- split: null
|
6 |
+
- drug_featurizer: null
|
7 |
+
- protein_featurizer: null
|
8 |
+
|
9 |
+
task: ${task.task}
|
10 |
+
n_class: ${oc.select:task.task.n_class,null}
|
11 |
+
|
12 |
+
data_dir: ${paths.data_dir}
|
13 |
+
dataset_name: null
|
14 |
+
|
15 |
+
batch_size: 16
|
16 |
+
train_val_test_split: [0.7, 0.1, 0.2]
|
17 |
+
|
18 |
+
num_workers: 0
|
19 |
+
pin_memory: false
|
20 |
+
|
21 |
+
train: ${train}
|
configs/data/dti_data.yaml
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
_target_: deepscreen.data.dti.DTIDataModule
|
2 |
+
|
3 |
+
defaults:
|
4 |
+
- split: null
|
5 |
+
- drug_featurizer: none # ???
|
6 |
+
- protein_featurizer: none # ???
|
7 |
+
- collator: default
|
8 |
+
|
9 |
+
task: ${task.task}
|
10 |
+
num_classes: ${task.num_classes}
|
11 |
+
|
12 |
+
data_dir: ${paths.data_dir}
|
13 |
+
data_file: null
|
14 |
+
train_val_test_split: null
|
15 |
+
|
16 |
+
batch_size: ???
|
17 |
+
num_workers: 0
|
18 |
+
pin_memory: false
|
19 |
+
|
20 |
+
#train: ${train}
|
configs/data/protein_featurizer/fcs.yaml
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
_target_: deepscreen.data.featurizers.fcs.protein_to_embedding
|
2 |
+
_partial_: true
|
3 |
+
|
4 |
+
max_sequence_length: 545
|
configs/data/protein_featurizer/label.yaml
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#_target_: deepscreen.data.featurizers.categorical.fasta_to_label
|
2 |
+
#_partial_: true
|
3 |
+
#
|
4 |
+
#max_sequence_length: 1000
|
5 |
+
##in_channels: 26
|
6 |
+
|
7 |
+
_target_: deepscreen.data.featurizers.categorical.sequence_to_label
|
8 |
+
_partial_: true
|
9 |
+
charset: ['A', 'C', 'B', 'E', 'D', 'G', 'F', 'I', 'H', 'K', 'M', 'L', 'O',
|
10 |
+
'N', 'Q', 'P', 'S', 'R', 'U', 'T', 'W', 'V', 'Y', 'X', 'Z']
|
11 |
+
|
12 |
+
max_sequence_length: 1000
|
configs/data/protein_featurizer/none.yaml
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
1 |
+
_target_: deepscreen.utils.passthrough
|
2 |
+
_partial_: true
|
configs/data/protein_featurizer/onehot.yaml
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#_target_: deepscreen.data.featurizers.categorical.fasta_to_onehot
|
2 |
+
#_partial_: true
|
3 |
+
#
|
4 |
+
#max_sequence_length: 1000
|
5 |
+
##in_channels: 26
|
6 |
+
|
7 |
+
_target_: deepscreen.data.featurizers.categorical.sequence_to_onehot
|
8 |
+
_partial_: true
|
9 |
+
charset: ['A', 'C', 'B', 'E', 'D', 'G', 'F', 'I', 'H', 'K', 'M', 'L', 'O',
|
10 |
+
'N', 'Q', 'P', 'S', 'R', 'U', 'T', 'W', 'V', 'Y', 'X', 'Z']
|
11 |
+
|
12 |
+
max_sequence_length: 1000
|
configs/data/protein_featurizer/tokenizer.yaml
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
_target_: deepscreen.data.featurizers.token.sequence_to_token_ids
|
2 |
+
_partial_: true
|
3 |
+
|
4 |
+
tokenizer:
|
5 |
+
_target_: tape.TAPETokenizer.from_pretrained
|
6 |
+
vocab: iupac
|
configs/data/protein_featurizer/word2vec.yaml
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
_target_: deepscreen.data.featurizers.word.protein_to_word_embedding
|
2 |
+
_partial_: true
|
3 |
+
|
4 |
+
model:
|
5 |
+
_target_: gensim.models.Word2Vec.load
|
6 |
+
fname: ${paths.resource_dir}/models/word2vec_30.model
|
configs/data/split/cold_drug.yaml
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
_target_: deepscreen.data.utils.split.cold_start
|
2 |
+
_partial_: true
|
3 |
+
|
4 |
+
entity: drug
|
configs/data/split/cold_protein.yaml
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
_target_: deepscreen.data.utils.split.cold_start
|
2 |
+
_partial_: true
|
3 |
+
|
4 |
+
entity: protein
|
configs/data/split/none.yaml
ADDED
File without changes
|
configs/data/split/random.yaml
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#_target_: torch.utils.data.random_split
|
2 |
+
#_partial_: true
|
3 |
+
|
4 |
+
#generator:
|
5 |
+
# _target_: torch.Generator # will use global seed set by lightning.seed_everything or torch.manual_seed automatically
|
6 |
+
|
7 |
+
_target_: deepscreen.data.utils.split.random_split
|
8 |
+
_partial_: true
|
9 |
+
|
10 |
+
seed: ${seed}
|
configs/data/transform/minmax.yaml
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
_target_: deepscreen.data.utils.transform
|
2 |
+
_partial_: true
|
3 |
+
|
4 |
+
scaler:
|
5 |
+
_target_: sklearn.preprocessing.MinMaxScaler
|
configs/data/transform/none.yaml
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
|
|
1 |
+
_target_: deepscreen.utils.passthrough
|
2 |
+
_partial_: true
|
configs/debug/advanced.yaml
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# @package _global_
|
2 |
+
|
3 |
+
# advanced debug mode that enables callbacks, loggers and gpu during debugging
|
4 |
+
job_name: "debug"
|
5 |
+
|
6 |
+
extras:
|
7 |
+
ignore_warnings: False
|
8 |
+
enforce_tags: False
|
9 |
+
|
10 |
+
hydra:
|
11 |
+
job_logging:
|
12 |
+
root:
|
13 |
+
level: DEBUG
|
14 |
+
verbose: True
|
15 |
+
|
16 |
+
trainer:
|
17 |
+
max_epochs: 1
|
18 |
+
accelerator: gpu
|
19 |
+
devices: 1
|
20 |
+
detect_anomaly: true
|
21 |
+
deterministic: false
|
22 |
+
|
23 |
+
data:
|
24 |
+
num_workers: 0
|
25 |
+
pin_memory: False
|
configs/debug/default.yaml
ADDED
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# @package _global_
|
2 |
+
|
3 |
+
# default debugging setup, runs 1 full epoch
|
4 |
+
# other debugging configs can inherit from this one
|
5 |
+
|
6 |
+
# overwrite job name so debugging logs are stored in separate folder
|
7 |
+
job_name: "debug"
|
8 |
+
|
9 |
+
# disable callbacks and loggers during debugging
|
10 |
+
callbacks: null
|
11 |
+
logger: null
|
12 |
+
|
13 |
+
extras:
|
14 |
+
ignore_warnings: False
|
15 |
+
enforce_tags: False
|
16 |
+
|
17 |
+
# sets level of all command line loggers to 'DEBUG'
|
18 |
+
# https://hydra.cc/docs/tutorials/basic/running_your_app/logging/
|
19 |
+
hydra:
|
20 |
+
job_logging:
|
21 |
+
root:
|
22 |
+
level: DEBUG
|
23 |
+
# use this to also set hydra loggers to 'DEBUG'
|
24 |
+
verbose: True
|
25 |
+
|
26 |
+
trainer:
|
27 |
+
max_epochs: 1
|
28 |
+
accelerator: cpu # debuggers don't like gpus
|
29 |
+
devices: 1 # debuggers don't like multiprocessing
|
30 |
+
detect_anomaly: true # raise exception if NaN or +/-inf is detected in any tensor
|
31 |
+
deterministic: false
|
32 |
+
|
33 |
+
data:
|
34 |
+
num_workers: 0 # debuggers don't like multiprocessing
|
35 |
+
pin_memory: False # disable gpu memory pin
|
configs/debug/fdr.yaml
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# @package _global_
|
2 |
+
|
3 |
+
# runs 1 train, 1 validation and 1 test step
|
4 |
+
|
5 |
+
defaults:
|
6 |
+
- default
|
7 |
+
|
8 |
+
trainer:
|
9 |
+
accelerator: gpu
|
10 |
+
fast_dev_run: true
|
11 |
+
detect_anomaly: true
|
configs/debug/fdr_advanced.yaml
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# @package _global_
|
2 |
+
|
3 |
+
# runs 1 train, 1 validation and 1 test step
|
4 |
+
|
5 |
+
defaults:
|
6 |
+
- advanced
|
7 |
+
|
8 |
+
trainer:
|
9 |
+
accelerator: gpu
|
10 |
+
fast_dev_run: true
|
11 |
+
detect_anomaly: true
|
configs/debug/limit.yaml
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# @package _global_
|
2 |
+
|
3 |
+
# uses only 1% of the training data and 5% of validation/test data
|
4 |
+
|
5 |
+
defaults:
|
6 |
+
- default
|
7 |
+
|
8 |
+
trainer:
|
9 |
+
max_epochs: 3
|
10 |
+
limit_train_batches: 0.01
|
11 |
+
limit_val_batches: 0.05
|
12 |
+
limit_test_batches: 0.05
|
configs/debug/overfit.yaml
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# @package _global_
|
2 |
+
|
3 |
+
# overfits to 3 batches
|
4 |
+
|
5 |
+
defaults:
|
6 |
+
- default
|
7 |
+
|
8 |
+
trainer:
|
9 |
+
max_epochs: 20
|
10 |
+
overfit_batches: 3
|
11 |
+
|
12 |
+
# model ckpt and early stopping need to be disabled during overfitting
|
13 |
+
callbacks: null
|
configs/debug/profiler.yaml
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# @package _global_
|
2 |
+
|
3 |
+
# runs with execution time profiling
|
4 |
+
|
5 |
+
defaults:
|
6 |
+
- default
|
7 |
+
|
8 |
+
trainer:
|
9 |
+
max_epochs: 1
|
10 |
+
profiler: "simple"
|
11 |
+
# profiler: "advanced"
|
12 |
+
# profiler: "pytorch"
|
configs/experiment/bindingdb.yaml
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# @package _global_
|
2 |
+
defaults:
|
3 |
+
- dti_experiment
|
4 |
+
- override /task: binary
|
5 |
+
|
6 |
+
data:
|
7 |
+
train_val_test_split: [dti_benchmark/random_split_update/bindingdb_train.csv,
|
8 |
+
dti_benchmark/random_split_update/bindingdb_valid.csv,
|
9 |
+
dti_benchmark/random_split_update/bindingdb_test.csv]
|
configs/experiment/chembl_random.yaml
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# @package _global_
|
2 |
+
defaults:
|
3 |
+
- dti_experiment
|
4 |
+
- override /task: binary
|
5 |
+
|
6 |
+
data:
|
7 |
+
train_val_test_split: [chembl_random_global_balance_1_train.csv,
|
8 |
+
chembl_random_global_balance_1_valid.csv,
|
9 |
+
chembl_random_global_balance_1_test.csv]
|
configs/experiment/chembl_rmfh_random.yaml
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# @package _global_
|
2 |
+
defaults:
|
3 |
+
- dti_experiment
|
4 |
+
- override /task: binary
|
5 |
+
|
6 |
+
data:
|
7 |
+
train_val_test_split: [chembl_rmFH_random_global_balance_1_train.csv,
|
8 |
+
chembl_rmFH_random_global_balance_1_valid.csv,
|
9 |
+
chembl_rmFH_random_global_balance_1_test.csv]
|
configs/experiment/davis.yaml
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# @package _global_
|
2 |
+
defaults:
|
3 |
+
- dti_experiment
|
4 |
+
- override /task: binary
|
5 |
+
|
6 |
+
data:
|
7 |
+
train_val_test_split: [dti_benchmark/random_split_update/davis_train.csv,
|
8 |
+
dti_benchmark/random_split_update/davis_valid.csv,
|
9 |
+
dti_benchmark/random_split_update/davis_test.csv]
|
configs/experiment/demo_bindingdb.yaml
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# @package _global_
|
2 |
+
defaults:
|
3 |
+
- dti_experiment
|
4 |
+
- override /task: binary
|
5 |
+
- override /data/split: random
|
6 |
+
|
7 |
+
data:
|
8 |
+
data_file: demo/binddb_ic50_demo.csv
|
9 |
+
train_val_test_split: [0.7, 0.1, 0.2]
|
configs/experiment/dti_experiment.yaml
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# @package _global_
|
2 |
+
defaults:
|
3 |
+
- override /data: dti_data
|
4 |
+
- override /model: dti_model
|
5 |
+
- override /trainer: gpu
|
6 |
+
|
7 |
+
seed: 12345
|
8 |
+
|
9 |
+
trainer:
|
10 |
+
min_epochs: 1
|
11 |
+
max_epochs: 500
|
12 |
+
precision: 16-mixed
|
13 |
+
|
14 |
+
callbacks:
|
15 |
+
early_stopping:
|
16 |
+
patience: 50
|
17 |
+
|
18 |
+
data:
|
19 |
+
num_workers: 8
|
configs/experiment/example.yaml
ADDED
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# @package _global_
|
2 |
+
|
3 |
+
# to execute this experiment run:
|
4 |
+
# python train.py experiment=example
|
5 |
+
|
6 |
+
defaults:
|
7 |
+
- override /data: dti_data
|
8 |
+
- override /data/drug_featurizer: onehot
|
9 |
+
- override /data/protein_featurizer: onehot
|
10 |
+
- override /model: dti_model
|
11 |
+
- override /model/protein_encoder: cnn
|
12 |
+
- override /model/drug_encoder: cnn
|
13 |
+
- override /model/decoder: concat_mlp
|
14 |
+
- override /callbacks: default
|
15 |
+
- override /trainer: default
|
16 |
+
|
17 |
+
# all parameters below will be merged with parameters from default configurations set above
|
18 |
+
# this allows you to overwrite only specified parameters
|
19 |
+
|
20 |
+
tags: ["dti"]
|
21 |
+
|
22 |
+
seed: 12345
|
23 |
+
|
24 |
+
data:
|
25 |
+
data_file: davis.csv
|
26 |
+
batch_size: 64
|
27 |
+
|
28 |
+
model:
|
29 |
+
optimizer:
|
30 |
+
lr: 0.0001
|
31 |
+
|
32 |
+
trainer:
|
33 |
+
min_epochs: 1
|
34 |
+
max_epochs: 100
|
35 |
+
accelerator: gpu
|
configs/experiment/ion_channels.yaml
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# @package _global_
|
2 |
+
defaults:
|
3 |
+
- dti_experiment
|
4 |
+
- override /task: binary
|
5 |
+
|
6 |
+
data:
|
7 |
+
train_val_test_split: [dti_benchmark/ChEMBL33/train/Ion_channels_train_data.csv,
|
8 |
+
dti_benchmark/ChEMBL33/valid/Ion_channels_valid_data.csv,
|
9 |
+
dti_benchmark/ChEMBL33/test/Ion_channels_both_unseen_test_data.csv]
|
configs/experiment/kiba.yaml
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# @package _global_
|
2 |
+
defaults:
|
3 |
+
- dti_experiment
|
4 |
+
- /task: binary
|
5 |
+
|
6 |
+
data:
|
7 |
+
train_val_test_split: [dti_benchmark/random_split_update/kiba_train.csv,
|
8 |
+
dti_benchmark/random_split_update/kiba_valid.csv,
|
9 |
+
dti_benchmark/random_split_update/kiba_test.csv]
|
configs/experiment/kinase.yaml
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# @package _global_
|
2 |
+
defaults:
|
3 |
+
- dti_experiment
|
4 |
+
- override /task: binary
|
5 |
+
|
6 |
+
data:
|
7 |
+
train_val_test_split:
|
8 |
+
- dti_benchmark/ChEMBL33/train/kinase_train_data.csv
|
9 |
+
- null
|
10 |
+
- null
|
11 |
+
# dti_benchmark/ChEMBL33/valid/kinase_valid_data.csv,
|
12 |
+
# dti_benchmark/ChEMBL33/test/kinase_both_unseen_test_data.csv
|
13 |
+
|