File size: 1,899 Bytes
30e5a24 | 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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | {
"format_version": 1,
"architecture": "SimpleP2G",
"setting": "single-patch",
"dataset": "brain",
"panel": "hmhvg",
"fold": 0,
"seed": 42,
"model_config": {
"decoder_depth": 12,
"num_genes": 200,
"hidden_size": 384,
"cond_size": 2560,
"num_cond_tokens": 4,
"num_heads": 6,
"loss_name": "gaussian_nll",
"dropout": 0.05
},
"input": {
"representation": "frozen Virchow2 CLS token concatenated with mean patch tokens",
"embedding_dimension": 2560,
"image_encoder_weights_included": false
},
"output": {
"num_genes": 200,
"gene_order": "genes.json",
"expression_scale": "log2(raw_count + 1)",
"returns": [
"expression_mean",
"log_variance"
]
},
"checkpoint": {
"epoch": 12,
"weights": "ema",
"selection": "highest validation-slide PCC-200; earliest epoch breaks ties"
},
"training": {
"epochs": 100,
"batch_size": 256,
"optimizer": {
"name": "adamw",
"lr": 5e-05,
"weight_decay": 0.05,
"betas": [
0.9,
0.999
]
},
"loss": "gaussian_nll",
"precision": "fp16",
"ema_decay": 0.999,
"sampling": "pooled spots"
},
"split": {
"training_slides": [
"NCBI658",
"NCBI659",
"NCBI660",
"NCBI661",
"NCBI662",
"NCBI663",
"NCBI664",
"NCBI665",
"NCBI666",
"NCBI668",
"NCBI669",
"NCBI670"
],
"validation_slide": "NCBI671",
"test_slide": "NCBI667"
},
"validation_metrics": {
"PCC10": 0.6837345136688756,
"PCC50": 0.5748279101783605,
"PCC200": 0.4576825647353083,
"MSE": 0.7553753852844238,
"MAE": 0.6992919445037842
},
"test_metrics": {
"PCC10": 0.5845393964585056,
"PCC50": 0.5154498406392661,
"PCC200": 0.3803240847090443,
"MSE": 0.9970911145210266,
"MAE": 0.7918735146522522
}
}
|