Biowulf High Performance Computing at the NIH
DeepHit: A Deep Learning Approach to Survival Analysis with Competing Risks

The DeepHit application uses a deep neural network to learn the distribution of survival times directly. DeepHit makes no assumptions about the underlying stochastic process and allows for the possibility that the relationship between covariates and risk(s) changes over time. Most importantly, DeepHit smoothly handles competing risks; i.e. settings in which there is more than one possible event of interest.

References:

Documentation
Important Notes

Interactive job
Interactive jobs should be used for debugging, graphics, or applications that cannot be run as batch jobs.

Allocate an interactive session and run the program. Sample session:

[user@biowulf]$ sinteractive --mem=120g  --gres=gpu:p100:1,lscratch:20 -c14 
[user@cn3104 ~]$ module load DeepHiC
[+] Loading CUDA Toolkit  10.0.130  ...
[+] Loading cuDNN/7.6.5/CUDA-10.0 libraries...
[+] Loading DeepHiC  20201001
Copy the code and sample data to your current folder and run one of the DeepHiC scripts:
[user@cn3104 ~]$ cp -rP $DEEPHIT_SRC/* .
[user@cn3104 ~]$ ./main_RandomSearch.py
OUTER_ITERATION: 0
Random search... itr: 0
{'mb_size': 128, 'iteration': 50000, 'keep_prob': 0.6, 'lr_train': 0.0001, 'h_dim_shared': 200, 'h_dim_CS': 300, 'num_layers_shared': 2, 'num_layers_CS': 1, 'active_fn': 'elu', 'alpha': 1.0, 'beta': 0.5, 'gamma': 0, 'out_path': 'METABRIC/results/'}
METABRIC/results//itr_0 (a:1.0 b:0.5 c:0)
...
MAIN TRAINING ...
EVALUATION TIMES: [144, 288, 432]
2021-01-03 16:05:21.313719: I tensorflow/stream_executor/dso_loader.cc:152] successfully opened CUDA library libcublas.so.10.0 locally
|| ITR: 1000 | Loss: 17.9985
updated.... average c-index = 0.9112
|| ITR: 2000 | Loss: 4.6727
|| ITR: 3000 | Loss: 1.9298
|| ITR: 4000 | Loss: 1.3959
|| ITR: 5000 | Loss: 1.1500
|| ITR: 6000 | Loss: 1.0215
|| ITR: 7000 | Loss: 0.9462
Current best: 0.9111576547421829
OUTER_ITERATION: 0
Random search... itr: 1
...
MAIN TRAINING ...
EVALUATION TIMES: [144, 288, 432]
|| ITR: 1000 | Loss: 19.3164
updated.... average c-index = 0.7934
|| ITR: 2000 | Loss: 14.8694
updated.... average c-index = 0.8450
|| ITR: 3000 | Loss: 12.4110
|| ITR: 4000 | Loss: 10.9616
updated.... average c-index = 0.8552
|| ITR: 5000 | Loss: 9.8467
updated.... average c-index = 0.8895
|| ITR: 6000 | Loss: 9.1791
|| ITR: 7000 | Loss: 8.3936
|| ITR: 8000 | Loss: 7.8764
|| ITR: 9000 | Loss: 7.2805
|| ITR: 10000 | Loss: 6.9141
|| ITR: 11000 | Loss: 6.4342
Current best: 0.9111576547421829
OUTER_ITERATION: 0
Random search... itr: 2
...
When the command execution is completred, run the command:
[user@cn3104 ~]$  ./summarize_results.py
...
========================================================
ITR: 1 DATA MODE: METABRIC (a:1.0 b:5.0 c:0)
SharedNet Parameters: h_dim_shared = 200 num_layers_shared = 3Non-Linearity: <function tanh at 0x2aab27bce440>
CSNet Parameters: h_dim_CS = 100 num_layers_CS = 3Non-Linearity: <function tanh at 0x2aab27bce440>
--------------------------------------------------------
- C-INDEX:
         144yr c_index  288yr c_index  432yr c_index
Event_1           -1.0       0.448187       0.668499
--------------------------------------------------------
- BRIER-SCORE:
         144yr B_score  288yr B_score  432yr B_score
Event_1       0.016202       0.041196       0.064726
========================================================
ITR: 2 DATA MODE: METABRIC (a:1.0 b:1.0 c:0)
...
========================================================
ITR: 2 DATA MODE: METABRIC (a:1.0 b:1.0 c:0)
SharedNet Parameters: h_dim_shared = 200 num_layers_shared = 2Non-Linearity: <function elu at 0x2aab27d304d0>
CSNet Parameters: h_dim_CS = 50 num_layers_CS = 1Non-Linearity: <function elu at 0x2aab27d304d0>
--------------------------------------------------------
- C-INDEX:
         144yr c_index  288yr c_index  432yr c_index
Event_1           -1.0       0.759067       0.729557
--------------------------------------------------------
- BRIER-SCORE:
         144yr B_score  288yr B_score  432yr B_score
Event_1       0.012219       0.030824       0.050591
========================================================
ITR: 3 DATA MODE: METABRIC (a:1.0 b:5.0 c:0)
...
CSNet Parameters: h_dim_CS = 50 num_layers_CS = 1Non-Linearity: <function relu at 0x2aab27d438c0>
--------------------------------------------------------
- C-INDEX:
         144yr c_index  288yr c_index  432yr c_index
Event_1           -1.0       0.746114        0.75038
--------------------------------------------------------
- BRIER-SCORE:
         144yr B_score  288yr B_score  432yr B_score
Event_1       0.013274       0.035341       0.056874
========================================================
========================================================
- FINAL C-INDEX:
         144yr c_index  288yr c_index  432yr c_index
Event_1           -1.0       0.696373       0.725916
--------------------------------------------------------
- FINAL BRIER-SCORE:
         144yr B_score  288yr B_score  432yr B_score
Event_1       0.015946       0.038733       0.060843
========================================================
Exit the application:
[user@cn3104 ~]$ exit
salloc.exe: Relinquishing job allocation 46116226
[user@biowulf ~]$