|
1 | | -# Model comparisons (bone marrow dataset) |
2 | | - |
3 | | -Systematic comparison of regularizedvi vs standard scVI on the NeurIPS 2021 bone marrow multiome dataset (46,534 cells, 5 batches, 4 sites, 8 donors). |
4 | | - |
5 | | -## Key findings |
6 | | - |
7 | | -- **Large scVI overfits at 2000 epochs**: Standard scVI with large architecture (512/128/1) shows double descent and overfitting when trained for 2000 epochs. The same model with default training settings (~400 epochs, batch_size=128) performs better. |
8 | | -- **regularizedvi works across model sizes**: GammaPoisson mode produces good integration at all tested architectures (128/10, 256/30, 512/128) without hyperparameter tuning. |
9 | | -- **All regularizedvi models still improving at 2000 epochs**: Training curves suggest regularizedvi benefits from longer training, motivating the early stopping experiment. |
10 | | -- **Dispersion (theta)**: Unconstrained scVI learns theta ~1-2 (high overdispersion), while regularizedvi GammaPoisson learns theta ~53 (closer to Poisson). The prior prevents NB collapse during training. |
11 | | -- **Batch-free decoder**: Separating constrained additive (ambient RNA per batch) from flexible multiplicative (categorical covariates for donor/protocol) correction is the key architectural benefit. |
12 | | - |
13 | | -## Notebook inventory |
14 | | - |
15 | | -| Notebook | Model | Architecture | Epochs | Likelihood | Notes | |
16 | | -|----------|-------|-------------|--------|------------|-------| |
17 | | -| `bone_marrow_regularizedvi_nb.ipynb` | regularizedvi | 512/128/1 | 2000 | NB | Original NB default | |
18 | | -| `bone_marrow_gamma_poisson.ipynb` | regularizedvi | 512/128/1 | 2000 | GammaPoisson | Now the default | |
19 | | -| `bone_marrow_gamma_poisson_1375ep.ipynb` | regularizedvi | 512/128/1 | 1375 | GammaPoisson | Lueken-adjusted epochs | |
20 | | -| `bone_marrow_gamma_poisson_early_stopping.ipynb` | regularizedvi | 512/128/1 | ≤4000 | GammaPoisson | Early stopping + checkpoints | |
21 | | -| `bone_marrow_gamma_poisson_small.ipynb` | regularizedvi | 128/10/1 | 2000 | GammaPoisson | Small architecture | |
22 | | -| `bone_marrow_gamma_poisson_medium.ipynb` | regularizedvi | 256/30/1 | 2000 | GammaPoisson | Medium architecture | |
23 | | -| `bone_marrow_gamma_poisson_small_default_train.ipynb` | regularizedvi | 128/10/1 | default | GammaPoisson | Small + default scVI training | |
24 | | -| `bone_marrow_scvi_default.ipynb` | scVI | 128/30/1 | default | ZINB | scVI defaults | |
25 | | -| `bone_marrow_scvi_custom.ipynb` | scVI | 512/128/1 | 2000 | NB | Large scVI, 2000 epochs | |
26 | | -| `bone_marrow_scvi_custom_zinb.ipynb` | scVI | 512/128/1 | 2000 | ZINB | Large scVI, ZINB | |
27 | | -| `bone_marrow_scvi_custom_default_train.ipynb` | scVI | 512/128/1 | default | NB | Large scVI, default training | |
28 | | -| `bone_marrow_scvi_lueken.ipynb` | scVI | 128/30/2 | 1375 | ZINB | Lueken lung atlas settings | |
29 | | -| `model_comparison_theta.ipynb` | — | — | — | — | Theta distribution analysis | |
30 | | -| `distribution_comparison.ipynb` | — | — | — | — | NB vs GammaPoisson comparison | |
31 | | - |
32 | | -Architecture notation: `n_hidden/n_latent/n_layers`. "default" training = scVI defaults (~400 epochs, batch_size=128). |
33 | | - |
34 | | -Epochs for Lueken-adjusted training: `round(400 * (20000/N) * (batch_size/128))` = 1375 for N=46534, batch_size=1024. |
35 | | - |
36 | | -## Ablation experiments (exp1–12+) |
37 | | - |
38 | | -Systematic ablation study investigating dispersion drift with longer training. All experiments use GammaPoisson likelihood with variational LogNormal dispersion posterior and early stopping. Executed via `_gpu_jobs.yaml` + papermill. Diagnostics in `parameter_diagnostics.ipynb`. |
39 | | - |
40 | | -### Single-modal RNA (exp1–4): regularise_background x centering |
41 | | - |
42 | | -| Exp | bg prior | centering | ES | theta_rna | Key finding | |
43 | | -|-----|----------|-----------|-----|-----------|-------------| |
44 | | -| exp1 | True | OFF | default | 70.7 | Uncentered: theta explosion | |
45 | | -| exp2 | False | OFF | default | 67.5 | bg prior has no effect without centering | |
46 | | -| exp3 | True | ON (1.0) | default | 11.5 | Centering fixes theta | |
47 | | -| exp4 | False | ON (1.0) | default | 11.7 | Best RNA baseline | |
48 | | - |
49 | | -**Conclusion**: Library centering (`library_log_means_centering_sensitivity=1.0`) is the key fix. Background prior (`regularise_background`) has minimal effect. |
50 | | - |
51 | | -### Multimodal RNA+ATAC (exp5–7): centering variations |
52 | | - |
53 | | -| Exp | centering | ES | theta_rna | Key finding | |
54 | | -|-----|-----------|-----|-----------|-------------| |
55 | | -| exp5 | OFF | default | 19.1 | MM uncentered baseline | |
56 | | -| exp6 | RNA only (1.0) | default | 16.7 | RNA centering helps | |
57 | | -| exp7 | RNA (1.0) + ATAC (0.2) | default | 11.3 | Best MM baseline | |
58 | | - |
59 | | -**Conclusion**: Centering both modalities (with lower ATAC sensitivity) gives best results. |
60 | | - |
61 | | -### Lower early stopping sensitivity (exp8–9): longer training |
62 | | - |
63 | | -| Exp | Model | centering | ES | theta_rna | Key finding | |
64 | | -|-----|-------|-----------|-----|-----------|-------------| |
65 | | -| exp8 | MM | RNA+ATAC | lowES (0.00003) | 20.4 | Longer training worsens theta | |
66 | | -| exp9 | RNA | ON (1.0) | lowES (0.00003) | 17.9 | Same — theta drifts up | |
67 | | - |
68 | | -**Conclusion**: With 10x lower ES sensitivity, models train longer but dispersion drifts upward. Default ES catches this at the right time. |
69 | | - |
70 | | -### Wider library prior variance (exp10a/b, exp12): hypothesis E |
71 | | - |
72 | | -Tests whether relaxing the tight library prior (`library_log_vars_weight=0.05` → 0.1 or 0.2) allows the encoder to capture more per-cell variation, reducing pressure on dispersion. |
73 | | - |
74 | | -| Exp | Model | lib var weight | ES | Purpose | |
75 | | -|-----|-------|---------------|-----|---------| |
76 | | -| exp10a | MM | 0.1 (2x wider) | default | Moderate relaxation | |
77 | | -| exp10b | MM | 0.2 (4x wider) | default | Aggressive relaxation | |
78 | | -| exp12 | RNA | 0.2 (4x wider) | default | Same test for single-modal | |
79 | | - |
80 | | -### Learnable modality scaling (exp11): hypothesis D |
81 | | - |
82 | | -| Exp | Model | Feature | ES | Purpose | |
83 | | -|-----|-------|---------|-----|---------| |
84 | | -| exp11 | MM | learnable per-modality scaling | default | Per-modality scalar on px_rate, initialized from centering sensitivity (RNA=1.0, ATAC=0.2), Gamma(5, 5/init) prior | |
85 | | - |
86 | | -Tests whether a learnable per-modality scale factor prevents dispersion drift by allowing the model to adjust per-modality expected counts. |
87 | | - |
88 | | -### Stratified validation split (hypothesis C): default ES |
89 | | - |
90 | | -All stratified experiments use default ES (0.0003), making them directly comparable to exp7 (MM baseline) and exp4 (RNA baseline). The stratified split ensures proportional representation of cell types and batches in the validation set. |
91 | | - |
92 | | -| Exp | Base hyperparams | ES | Purpose | |
93 | | -|-----|-----------------|-----|---------| |
94 | | -| exp8stratified | exp8 (MM, ctr=both) | default (0.0003) | Stratified split, comparable to exp7 | |
95 | | -| exp9stratified | exp9 (RNA, ctr=ON) | default (0.0003) | Stratified split, comparable to exp4 | |
96 | | -| exp10bstratified | exp10b (MM, lib var 0.2) | default (0.0003) | Stratified + wider lib var | |
97 | | -| exp11stratified | exp11 (MM, learnable scale) | default (0.0003) | Stratified + learnable scaling | |
98 | | -| exp12stratified | exp12 (RNA, lib var 0.2) | default (0.0003) | Stratified + wider lib var | |
99 | | - |
100 | | -Tests whether stratified validation split (by `l1_cell_type+batch`) produces more stable metrics than random splitting. |
101 | | - |
102 | | -### Hypotheses for dispersion drift |
103 | | - |
104 | | -- **(A)** Pearson correlation is misleading; reconstruction loss is the correct metric |
105 | | -- **(B)** Both RNA and ATAC overfit by early stopping — default ES catches this just in time |
106 | | -- **(C)** Random validation cell selection gives variable metrics → stratified experiments test this |
107 | | -- **(D)** Modalities need learnable scaling factors → exp11 tests this |
108 | | -- **(E)** Library prior variance too tight → exp10a/b, exp12 test this |
| 1 | +# Bone Marrow Model Comparisons |
| 2 | + |
| 3 | +Systematic experiments on the NeurIPS 2021 adult bone marrow multiome dataset (~35k cells, RNA+ATAC, 5 batches, 4 sites, 8 donors). All regularizedvi models use n_hidden=512, n_latent=128, GammaPoisson likelihood with variational LogNormal dispersion. Experiments progress from basic feature toggles (Era 1) through training refinements (Era 2) to decoder initialization sweeps (Era 3) and a full factorial design (Era 4). |
| 4 | + |
| 5 | +## Templates |
| 6 | + |
| 7 | +- `bone_marrow_multimodal_tutorial_early_stopping.ipynb` — multimodal (RNA+ATAC) template |
| 8 | +- `bone_marrow_gamma_poisson_early_stopping.ipynb` — RNA-only template |
| 9 | + |
| 10 | +## Era 1: Early Experiments |
| 11 | + |
| 12 | +Initial exploration of background correction, library centering, library variance, and learnable modality scaling. All use default early stopping. |
| 13 | + |
| 14 | +| Name | Type | Key Changes | Notebook | |
| 15 | +|------|------|-------------|----------| |
| 16 | +| exp1_rna_bg_noctr | RNA | bg=T, centering=OFF | `bone_marrow_gp_es_exp1_out.ipynb` | |
| 17 | +| exp2_rna_nobg_noctr | RNA | bg=F, centering=OFF | `bone_marrow_gp_es_exp2_out.ipynb` | |
| 18 | +| exp3_rna_bg_ctr | RNA | bg=T, centering=ON (1.0) | `bone_marrow_gp_es_exp3_out.ipynb` | |
| 19 | +| exp4_rna_nobg_ctr | RNA | bg=F, centering=ON (1.0) | `bone_marrow_gp_es_exp4_out.ipynb` | |
| 20 | +| exp5_mm_noctr | MM | centering=OFF | `bone_marrow_mm_es_exp5_out.ipynb` | |
| 21 | +| exp6_mm_ctr_rna | MM | centering=RNA only (1.0) | `bone_marrow_mm_es_exp6_out.ipynb` | |
| 22 | +| exp7_mm_ctr_both | MM | centering=RNA(1.0)+ATAC(0.2) | `bone_marrow_mm_es_exp7_out.ipynb` | |
| 23 | +| exp8_mm_ctr_both_lowes | MM | centering=both, ES=3e-5 | `bone_marrow_mm_es_exp8_out.ipynb` | |
| 24 | +| exp9_rna_nobg_ctr_lowes | RNA | centering=ON, ES=3e-5 | `bone_marrow_gp_es_exp9_out.ipynb` | |
| 25 | +| exp10a_mm_libvar_0.1 | MM | centering=both, libvar=0.1 | `bone_marrow_mm_es_exp10a_out.ipynb` | |
| 26 | +| exp10b_mm_libvar_0.2 | MM | centering=both, libvar=0.2 | `bone_marrow_mm_es_exp10b_out.ipynb` | |
| 27 | +| exp11_mm_learnable_scale | MM | centering=both, learnable modality scaling | `bone_marrow_mm_es_exp11_out.ipynb` | |
| 28 | +| exp12_rna_libvar_0.2 | RNA | centering=ON, libvar=0.2 | `bone_marrow_gp_es_exp12_out.ipynb` | |
| 29 | + |
| 30 | +## Era 2: Stratified + Filtered |
| 31 | + |
| 32 | +Added stratified validation splits (`l1_cell_type+batch`), ATAC feature filtering (>2k), and swept library variance (0.2, 0.5, 1.0), early stopping thresholds, per-modality library variance, and background prior strength. |
| 33 | + |
| 34 | +| Name | Type | Key Changes | Notebook | |
| 35 | +|------|------|-------------|----------| |
| 36 | +| exp8stratified | MM | centering=both, stratified | `bone_marrow_mm_es_exp8stratified_out.ipynb` | |
| 37 | +| exp9stratified | RNA | centering=ON, stratified | `bone_marrow_gp_es_exp9stratified_out.ipynb` | |
| 38 | +| exp10bstratified | MM | libvar=0.2, stratified | `bone_marrow_mm_es_exp10bstratified_out.ipynb` | |
| 39 | +| exp11stratified | MM | learnable scale, stratified | `bone_marrow_mm_es_exp11stratified_out.ipynb` | |
| 40 | +| exp12stratified | RNA | libvar=0.2, stratified | `bone_marrow_gp_es_exp12stratified_out.ipynb` | |
| 41 | +| exp10bstratified_filtered | MM | libvar=0.2, stratified, ATAC>2k | `bone_marrow_mm_es_exp10bstratified_filtered_out.ipynb` | |
| 42 | +| exp10bstratified_lowes | MM | libvar=0.2, stratified, ES=1e-4 | `bone_marrow_mm_es_exp10bstratified_lowes_out.ipynb` | |
| 43 | +| exp11stratified_lowes | MM | learnable scale, stratified, ES=1e-4 | `bone_marrow_mm_es_exp11stratified_lowes_out.ipynb` | |
| 44 | +| exp10bstratified_filtered_lowes | MM | libvar=0.2, ATAC>2k, ES=1e-4 | `bone_marrow_mm_es_exp10bstratified_filtered_lowes_out.ipynb` | |
| 45 | +| exp10bstratified_filtered_lowes_libvar05 | MM | libvar=0.5, ATAC>2k, ES=1e-4 | `bone_marrow_mm_es_exp10bstratified_filtered_lowes_libvar05_out.ipynb` | |
| 46 | +| exp10bstratified_filtered_lowes2_libvar05 | MM | libvar=0.5, ATAC>2k, ES=2e-4 | `bone_marrow_mm_es_exp10bstratified_filtered_lowes2_libvar05_out.ipynb` | |
| 47 | +| exp10bstratified_filtered_lowes_ataclr2 | MM | ATAC LR 2x, ES=1e-4 | `bone_marrow_mm_es_exp10bstratified_filtered_lowes_ataclr2_out.ipynb` | |
| 48 | +| exp10bstratified_filtered_lowes2_libvar10 | MM | libvar=1.0, ES=2e-4 | `bone_marrow_mm_es_exp10bstratified_filtered_lowes2_libvar10_out.ipynb` | |
| 49 | +| exp12stratified_filtered_lowes2_libvar10 | RNA | libvar=1.0, ES=2e-4 | `bone_marrow_gp_es_exp12stratified_filtered_lowes2_libvar10_out.ipynb` | |
| 50 | +| exp10bstratified_filtered_lowes2_libvar05_repeat2 | MM | libvar=0.5, ES=2e-4, repeat run | `bone_marrow_mm_es_exp10bstratified_filtered_lowes2_libvar05_repeat2_out.ipynb` | |
| 51 | +| exp10bstratified_filtered_lowes2_libvar02_ataclibvar15 | MM | RNA-lv=0.2, ATAC-lv=1.5, ES=2e-4 | `bone_marrow_mm_es_exp10bstratified_filtered_lowes2_libvar02_ataclibvar15_out.ipynb` | |
| 52 | +| exp10bstratified_filtered_lowes2_libvar05_bgprior1 | MM | libvar=0.5, bg prior G(1,1), ES=2e-4 | `bone_marrow_mm_es_exp10bstratified_filtered_lowes2_libvar05_bgprior1_out.ipynb` | |
| 53 | +| exp12stratified_filtered_lowes2_libvar05 | RNA | libvar=0.5, ES=2e-4 | `bone_marrow_gp_es_exp12stratified_filtered_lowes2_libvar05_out.ipynb` | |
| 54 | +| exp12stratified_filtered_lowes2_libvar05_bgprior1 | RNA | libvar=0.5, bg G(1,1) — FAILED (wandb) | `bone_marrow_gp_es_exp12stratified_filtered_lowes2_libvar05_bgprior1_out.ipynb` | |
| 55 | +| exp12stratified_filtered_lowes2_libvar02_bgprior1 | RNA | libvar=0.2, bg G(1,1) | `bone_marrow_gp_es_exp12stratified_filtered_lowes2_libvar02_bgprior1_out.ipynb` | |
| 56 | +| exp12stratified_filtered_lowes2_libvar02_bgprior033 | RNA | libvar=0.2, bg G(1,3) | `bone_marrow_gp_es_exp12stratified_filtered_lowes2_libvar02_bgprior033_out.ipynb` | |
| 57 | +| exp12stratified_filtered_lowes2_libvar05_bgprior033 | RNA | libvar=0.5, bg G(1,3) | `bone_marrow_gp_es_exp12stratified_filtered_lowes2_libvar05_bgprior033_out.ipynb` | |
| 58 | + |
| 59 | +## Era 3: Decoder Init Sweep (libvar05 era) |
| 60 | + |
| 61 | +All experiments share: `regularise_background=0`, `centering_rna=1.0`, `centering_atac=0.2`, `libvar=0.5`, stratified validation, `ES=2e-4`. |
| 62 | + |
| 63 | +| Name | decoder_weight_l2 | init_decoder_bias | bg_init_gene_fraction | Notebook | |
| 64 | +|------|--------------------|-------------------|-----------------------|----------| |
| 65 | +| mm_es_libvar05_dwl2_00001 | 1e-4 | — | — | `bone_marrow_mm_es_libvar05_dwl2_00001_out.ipynb` | |
| 66 | +| mm_es_libvar05_dwl2_0001 | 1e-3 | — | — | `bone_marrow_mm_es_libvar05_dwl2_0001_out.ipynb` | |
| 67 | +| mm_es_libvar05_dwl2_001 | 0.01 | — | — | `bone_marrow_mm_es_libvar05_dwl2_001_out.ipynb` | |
| 68 | +| mm_es_libvar05_dwl2_01 | 0.1 | — | — | `bone_marrow_mm_es_libvar05_dwl2_01_out.ipynb` | |
| 69 | +| mm_es_libvar05_dwl2_1 | 1.0 | — | — | `bone_marrow_mm_es_libvar05_dwl2_1_out.ipynb` | |
| 70 | +| mm_es_libvar05_bias_mean | 0.0 | mean | — | `bone_marrow_mm_es_libvar05_bias_mean_out.ipynb` | |
| 71 | +| mm_es_libvar05_bias_mean_bg02 | 0.0 | mean | 0.2 | `bone_marrow_mm_es_libvar05_bias_mean_bg02_out.ipynb` | |
| 72 | +| mm_es_libvar05_bg_gene02 | 0.0 | — | 0.2 | `bone_marrow_mm_es_libvar05_bg_gene02_out.ipynb` | |
| 73 | +| mm_es_libvar05_bias_topN_bg02 | 0.0 | topN | 0.2 | `bone_marrow_mm_es_libvar05_bias_topN_bg02_out.ipynb` | |
| 74 | +| mm_es_libvar05_dwl2_001_bias_mean_bg02 | 0.01 | mean | 0.2 | `bone_marrow_mm_es_libvar05_dwl2_001_bias_mean_bg02_out.ipynb` | |
| 75 | +| mm_es_libvar05_dwl2_01_bias_mean_bg02 | 0.1 | mean | 0.2 | `bone_marrow_mm_es_libvar05_dwl2_01_bias_mean_bg02_out.ipynb` | |
| 76 | +| mm_es_libvar05_dwl2_001_bias_mean_bg02_repeat2 | 0.01 | mean | 0.2 | `bone_marrow_mm_es_libvar05_dwl2_001_bias_mean_bg02_repeat2_out.ipynb` | |
| 77 | +| mm_es_libvar05_dwl2_01_bias_mean_bg02_repeat2 | 0.1 | mean | 0.2 | `bone_marrow_mm_es_libvar05_dwl2_01_bias_mean_bg02_repeat2_out.ipynb` | |
| 78 | +| **mm_es_libvar05_dwl2_01_bias_mean_batchbg02** | **0.1** | **mean** | **0.2** | `bone_marrow_mm_es_libvar05_dwl2_01_bias_mean_batchbg02_out.ipynb` | |
| 79 | + |
| 80 | +Best experiment: **mm_es_libvar05_dwl2_01_bias_mean_batchbg02** (dwl2=0.1, bias=mean, bg_init=0.2 per batch). |
| 81 | + |
| 82 | +## Era 4: V2 Factorial Sweep |
| 83 | + |
| 84 | +Built on the Era 3 best config. New features: dispersion prior mean sweep (1.0/2.0/3.0), ATAC centering sensitivity (0.2/1.0), decoder L2 (0.1/1.0), residual library encoder (on/off). All pending. |
| 85 | + |
| 86 | +| Name | Type | disp_mean | dwl2 | atac_sens | residual_lib | Notebook | |
| 87 | +|------|------|-----------|------|-----------|--------------|----------| |
| 88 | +| mm_v2_disp3_dwl2_01_atacsens02 | MM | 3.0 | 0.1 | 0.2 | True | `bone_marrow_mm_v2_disp3_dwl2_01_atacsens02_out.ipynb` | |
| 89 | +| mm_v2_disp3_dwl2_01_atacsens10 | MM | 3.0 | 0.1 | 1.0 | True | `bone_marrow_mm_v2_disp3_dwl2_01_atacsens10_out.ipynb` | |
| 90 | +| mm_v2_disp3_dwl2_1_atacsens02 | MM | 3.0 | 1.0 | 0.2 | True | `bone_marrow_mm_v2_disp3_dwl2_1_atacsens02_out.ipynb` | |
| 91 | +| mm_v2_disp3_dwl2_1_atacsens10 | MM | 3.0 | 1.0 | 1.0 | True | `bone_marrow_mm_v2_disp3_dwl2_1_atacsens10_out.ipynb` | |
| 92 | +| mm_v2_disp2_dwl2_01_atacsens02 | MM | 2.0 | 0.1 | 0.2 | True | `bone_marrow_mm_v2_disp2_dwl2_01_atacsens02_out.ipynb` | |
| 93 | +| mm_v2_disp2_dwl2_01_atacsens10 | MM | 2.0 | 0.1 | 1.0 | True | `bone_marrow_mm_v2_disp2_dwl2_01_atacsens10_out.ipynb` | |
| 94 | +| mm_v2_disp2_dwl2_1_atacsens02 | MM | 2.0 | 1.0 | 0.2 | True | `bone_marrow_mm_v2_disp2_dwl2_1_atacsens02_out.ipynb` | |
| 95 | +| mm_v2_disp2_dwl2_1_atacsens10 | MM | 2.0 | 1.0 | 1.0 | True | `bone_marrow_mm_v2_disp2_dwl2_1_atacsens10_out.ipynb` | |
| 96 | +| mm_v2_disp1_dwl2_01_atacsens02 | MM | 1.0 | 0.1 | 0.2 | True | `bone_marrow_mm_v2_disp1_dwl2_01_atacsens02_out.ipynb` | |
| 97 | +| mm_v2_disp1_dwl2_01_atacsens10 | MM | 1.0 | 0.1 | 1.0 | True | `bone_marrow_mm_v2_disp1_dwl2_01_atacsens10_out.ipynb` | |
| 98 | +| mm_v2_disp1_dwl2_1_atacsens02 | MM | 1.0 | 1.0 | 0.2 | True | `bone_marrow_mm_v2_disp1_dwl2_1_atacsens02_out.ipynb` | |
| 99 | +| mm_v2_disp1_dwl2_1_atacsens10 | MM | 1.0 | 1.0 | 1.0 | True | `bone_marrow_mm_v2_disp1_dwl2_1_atacsens10_out.ipynb` | |
| 100 | +| mm_v2_disp3_dwl2_01_atacsens02_noreslib | MM | 3.0 | 0.1 | 0.2 | False | `bone_marrow_mm_v2_disp3_dwl2_01_atacsens02_noreslib_out.ipynb` | |
| 101 | +| rna_v2_disp3_dwl2_01 | RNA | 3.0 | 0.1 | — | True | `bone_marrow_rna_v2_disp3_dwl2_01_out.ipynb` | |
| 102 | +| rna_v2_disp3_dwl2_1 | RNA | 3.0 | 1.0 | — | True | `bone_marrow_rna_v2_disp3_dwl2_1_out.ipynb` | |
| 103 | +| rna_v2_disp2_dwl2_01 | RNA | 2.0 | 0.1 | — | True | `bone_marrow_rna_v2_disp2_dwl2_01_out.ipynb` | |
| 104 | +| rna_v2_disp2_dwl2_1 | RNA | 2.0 | 1.0 | — | True | `bone_marrow_rna_v2_disp2_dwl2_1_out.ipynb` | |
| 105 | +| rna_v2_disp1_dwl2_01 | RNA | 1.0 | 0.1 | — | True | `bone_marrow_rna_v2_disp1_dwl2_01_out.ipynb` | |
| 106 | +| rna_v2_disp1_dwl2_1 | RNA | 1.0 | 1.0 | — | True | `bone_marrow_rna_v2_disp1_dwl2_1_out.ipynb` | |
| 107 | +| rna_v2_disp3_dwl2_01_noreslib | RNA | 3.0 | 0.1 | — | False | `bone_marrow_rna_v2_disp3_dwl2_01_noreslib_out.ipynb` | |
| 108 | + |
| 109 | +## Links |
| 110 | + |
| 111 | +- [`experiments.tsv`](experiments.tsv) — complete experiment tracking table with all hyperparameters |
| 112 | +- [`experiment_report.html`](experiment_report.html) — visual report with plots |
| 113 | +- [`parameter_diagnostics.ipynb`](parameter_diagnostics.ipynb) — interactive comparison notebook |
0 commit comments