File size: 1,740 Bytes
7718235
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/bin/bash
# $1 is the name of the scripts folder
# $2 are the tasks to run, seperated by comma
# $3 is the gpu ids that used for training, seperated by comma
# $4 is an optional argument that, if present, skips the check for finished tasks
IFS=',' read -ra arr <<< $3
CUDA_VISIBLE_DEVICES=$4
for gene in ${arr[@]}
do
  echo "Begin "$gene
  for subset in 1 2 4 6
  do
    for seed in {0..4}
    do
      logdir=$(cat $1/$gene.subset.$subset.5fold/$gene.subset.$subset.fold.$seed.yaml | grep log_dir | sed 's/.*: //')
      num_epochs=$(cat $1/$gene.subset.$subset.5fold/$gene.subset.$subset.fold.$seed.yaml | grep num_epochs | sed 's/.*: //')
      data_file_train=$(cat $1/$gene.subset.$subset.5fold/$gene.subset.$subset.fold.$seed.yaml | grep data_file_train: | sed 's/.*: //')
      # check if task has finished, unless the skip argument is present
      if [ -f $logdir/FOLD.3/model.epoch.$num_epochs.pt ]; then
      if [ ! -f $2/$gene/testing.subset.$subset.fold.$seed.4fold.csv ]; then
	      python -W ignore::UserWarning:torch_geometric.data.collate:147 train.py \
          --conf $1/$gene.subset.$subset.5fold/$gene.subset.$subset.fold.$seed.yaml \
		      --mode interpret_4_fold --interpret-by both --out-dir $2/$gene/testing.subset.$subset.fold.$seed.4fold.csv
      fi
      if [ ! -f $2/$gene/training.subset.$subset.fold.$seed.4fold.csv ]; then
        python -W ignore::UserWarning:torch_geometric.data.collate:147 train.py \
            --conf $1/$gene.subset.$subset.5fold/$gene.subset.$subset.fold.$seed.yaml \
            --data-file-test $data_file_train \
            --mode interpret_4_fold --interpret-by both --out-dir $2/$gene/training.subset.$subset.fold.$seed.4fold.csv
      fi
      fi
    done
  done
done