Skip to content

Commit 7057059

Browse files
committed
name upd
1 parent afbd39a commit 7057059

File tree

1 file changed

+61
-61
lines changed

1 file changed

+61
-61
lines changed

index.html

Lines changed: 61 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<head>
44
<meta charset="utf-8" />
55
<meta name="viewport" content="width=device-width, initial-scale=1" />
6-
<title>PerturbDiff-Refactor Interactive Explorer</title>
6+
<title>PerturbDiff Interactive Explorer</title>
77
<link rel="preconnect" href="https://fonts.googleapis.com" />
88
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
99
<link href="https://fonts.googleapis.com/css2?family=Manrope:wght@400;600;700;800&family=JetBrains+Mono:wght@400;600&display=swap" rel="stylesheet" />
@@ -334,8 +334,8 @@
334334
<div class="app">
335335
<header class="topbar">
336336
<div>
337-
<div class="title">PerturbDiff-Refactor Interactive Explorer</div>
338-
<div class="sub">A clickable code map for `new_configs` + `new_src`</div>
337+
<div class="title">PerturbDiff Interactive Explorer</div>
338+
<div class="sub">A clickable code map for `configs` + `src`</div>
339339
</div>
340340
<div class="badge">Keyboard: `f` focus search, `[`/`]` flow step</div>
341341
</header>
@@ -384,120 +384,120 @@ <h2>Architecture Graph</h2>
384384
<div class="tags" id="detail-tags"></div>
385385
<div class="desc" id="detail-desc">This area shows the module's role in the repository.</div>
386386
<div class="code"><pre id="detail-code">// waiting for selection...</pre></div>
387-
<div class="footnote" id="detail-footnote">Tip: start with `new_src/apps/rawdata/rawdata_diffusion_training.py`.</div>
387+
<div class="footnote" id="detail-footnote">Tip: start with `src/apps/rawdata/rawdata_diffusion_training.py`.</div>
388388
</aside>
389389
</main>
390390
</div>
391391

392392
<script>
393393
const FILES = [
394394
{
395-
path: "new_configs/rawdata_diffusion_training.yaml",
396-
group: "new_configs",
395+
path: "configs/rawdata_diffusion_training.yaml",
396+
group: "configs",
397397
title: "Training Top Config",
398398
tags: ["hydra", "entry", "training"],
399399
desc: "Top-level training config that composes trainer/lightning/data/model/optimization/path/cov_encoding.",
400400
code: `defaults:\n - trainer: base\n - lightning: base\n - data: pbmc\n - optimization: base\n - path: trixie_path\n - model: base\n - cov_encoding: trixie_onehot\nrun_name: pbmc_from_scratch`
401401
},
402402
{
403-
path: "new_configs/rawdata_diffusion_sampling.yaml",
404-
group: "new_configs",
403+
path: "configs/rawdata_diffusion_sampling.yaml",
404+
group: "configs",
405405
title: "Sampling Top Config",
406406
tags: ["hydra", "entry", "sampling"],
407407
desc: "Top-level sampling config defining checkpoint/device/DDIM-DDPM and output format.",
408408
code: `model_checkpoint_path: null\ndevice: auto\nsampling:\n use_ddim: true\n num_sampled_batches: 4\n batch_size: ${"${..optimization.micro_batch_size}"}\n output_format: npz`
409409
},
410410
{
411-
path: "new_configs/model/base.yaml",
412-
group: "new_configs",
411+
path: "configs/model/base.yaml",
412+
group: "configs",
413413
title: "Model Base",
414414
tags: ["cross_dit", "diffusion", "hyperparams"],
415415
desc: "Base Cross-DiT parameters and diffusion process hyperparameters.",
416416
code: `model_type: Cross_DiT\ninput_dim: 2000\ndit_depth: 8\ndit_num_heads: 8\nsteps: 1000\nnoise_schedule: linear\np_drop_cond: 0.5\np_drop_control: 0.5`
417417
},
418418
{
419-
path: "new_src/apps/rawdata/rawdata_diffusion_training.py",
420-
group: "new_src/apps",
419+
path: "src/apps/rawdata/rawdata_diffusion_training.py",
420+
group: "src/apps",
421421
title: "Training Entrypoint",
422422
tags: ["hydra.main", "trainer.fit", "pipeline"],
423423
desc: "Training entrypoint: resolve cfg -> setup trainer/datamodule/model -> run_pipeline.",
424424
code: `@hydra.main(..., config_name=\"rawdata_diffusion_training\")\ndef main(cfg):\n trainer = setup_trainer(cfg)\n datamodule = build_datamodule(cfg, logger)\n populate_covariate_cfg(cfg, datamodule)\n model = build_model(cfg, logger, datamodule)\n run_pipeline(trainer, model, datamodule, cfg, logger)`
425425
},
426426
{
427-
path: "new_src/apps/training/training_runtime.py",
428-
group: "new_src/apps/training",
427+
path: "src/apps/training/training_runtime.py",
428+
group: "src/apps/training",
429429
title: "Trainer Runtime",
430430
tags: ["pytorch_lightning", "callbacks", "strategy"],
431431
desc: "Builds the Lightning Trainer from config with callbacks/logger/profiler/strategy.",
432432
code: `def setup_trainer(cfg):\n trainer_logger = hydra.utils.instantiate(cfg.lightning.logger)\n strategy = resolve_trainer_strategy(cfg)\n callbacks = build_callbacks(cfg, trainer_logger)\n return pl.Trainer(**cfg.trainer, callbacks=callbacks, strategy=strategy, logger=trainer_logger)`
433433
},
434434
{
435-
path: "new_src/apps/training/training_datamodule_builder.py",
436-
group: "new_src/apps/training",
435+
path: "src/apps/training/training_datamodule_builder.py",
436+
group: "src/apps/training",
437437
title: "Datamodule Builder",
438438
tags: ["dataset selection", "cov dicts"],
439439
desc: "Selects DataModule subclass by data_name and writes pert/celltype/batch dictionaries back to cfg.cov_encoding.",
440440
code: `if cfg.data.data_name == \"PBMCFinetune\":\n datamodule = PBMCPerturbationDataModule(...)\n...\ncfg.cov_encoding.num_pert = len(datamodule.pert_dict)\ncfg.model.dataset_dict = datamodule.original_dataset_name_list`
441441
},
442442
{
443-
path: "new_src/apps/training/training_pipeline.py",
444-
group: "new_src/apps/training",
443+
path: "src/apps/training/training_pipeline.py",
444+
group: "src/apps/training",
445445
title: "Training Pipeline",
446446
tags: ["fit", "validate", "checkpoint"],
447447
desc: "Controls fit/validate execution order, including final checkpoint saving.",
448448
code: `if not validate_only:\n trainer.fit(...)\n trainer.save_checkpoint(cfg.save_dir_path, weights_only=True)\n trainer.validate(..., ckpt_path=\"best\")\nelse:\n trainer.validate(..., ckpt_path=cfg.model.ckpt_path)`
449449
},
450450
{
451-
path: "new_src/apps/rawdata/rawdata_diffusion_sampling.py",
452-
group: "new_src/apps",
451+
path: "src/apps/rawdata/rawdata_diffusion_sampling.py",
452+
group: "src/apps",
453453
title: "Sampling Entrypoint",
454454
tags: ["sampling", "checkpoint", "generation"],
455455
desc: "Sampling entrypoint: build datamodule, load_from_checkpoint, and run generate_samples.",
456456
code: `@hydra.main(..., config_name=\"rawdata_diffusion_sampling\")\ndef main(cfg):\n datamodule = build_sampling_datamodule(cfg, logger)\n model = load_sampling_model(cfg, logger, datamodule)\n truths, samples, trajectories, decoded = generate_samples(...)`
457457
},
458458
{
459-
path: "new_src/apps/sampling/sampling_generation.py",
460-
group: "new_src/apps/sampling",
459+
path: "src/apps/sampling/sampling_generation.py",
460+
group: "src/apps/sampling",
461461
title: "Sampling Generation Core",
462462
tags: ["DDIM", "DDPM", "h5ad"],
463463
desc: "Core sampling loop: read dataloader -> build self_condition -> run DDIM/DDPM -> aggregate and evaluate.",
464464
code: `sample_fn, kwargs = resolve_sampling_runner(cfg, diffusion, use_ddim)\nsample, traj = sample_fn(model.model, shape, self_condition=self_condition, **kwargs)\nr2_metric = r2_score(truth_np.mean(0), sample_np.mean(0))\nsave_adata(pred_adata, true_adata, cfg, logger)`
465465
},
466466
{
467-
path: "new_src/data/data_module/data_module.py",
468-
group: "new_src/data",
467+
path: "src/data/data_module/data_module.py",
468+
group: "src/data",
469469
title: "DataModule Hierarchy",
470470
tags: ["dataloader", "split", "sampler"],
471471
desc: "DataModule inheritance chain and dataloader construction; switches split_pbmc/split_tahoe100m/split_cellxgene by scenario.",
472472
code: `class PretrainingDataModule(pl.LightningDataModule): ...\nclass PBMCPerturbationDataModule(PretrainingDataModule): ...\nclass Tahoe100mPerturbationDataModule(PBMCPerturbationDataModule): ...\nclass PerturbationPretrainingDataModule(CellxGeneDataModule): ...`
473473
},
474474
{
475-
path: "new_src/models/lightning/lightning_module.py",
476-
group: "new_src/models/lightning",
475+
path: "src/models/lightning/lightning_module.py",
476+
group: "src/models/lightning",
477477
title: "PlModel",
478478
tags: ["training_step", "validation_step", "optimizers"],
479479
desc: "Training model wrapper: covariate encoding, loss computation, logging, and optimizer/scheduler config.",
480480
code: `loss_dict = self._compute_loss(batch)\nloss = (loss_dict[\"loss\"] * loss_dict[\"weights\"]).mean()\nself.log_data(...)\n...\nreturn [opt_main], [{\"scheduler\": sched_main, \"interval\": \"step\"}]`
481481
},
482482
{
483-
path: "new_src/models/lightning/lightning_factories.py",
484-
group: "new_src/models/lightning",
483+
path: "src/models/lightning/lightning_factories.py",
484+
group: "src/models/lightning",
485485
title: "Factories",
486486
tags: ["create_diffusion", "model_init", "sampler"],
487487
desc: "Model and diffusion factories: Cross_DiT initialization, beta schedule, and schedule sampler.",
488488
code: `def model_init_fn(model_cfg):\n if model_type == \"cross_dit\": return Cross_DiT(model_cfg)\n\ndef create_diffusion(model_cfg):\n betas = get_named_beta_schedule(...)\n return GaussianDiffusion(...)`
489489
},
490490
{
491-
path: "new_src/models/diffusion/diffusion_core.py",
492-
group: "new_src/models/diffusion",
491+
path: "src/models/diffusion/diffusion_core.py",
492+
group: "src/models/diffusion",
493493
title: "GaussianDiffusion Core",
494494
tags: ["q_sample", "posterior", "math"],
495495
desc: "Core diffusion math object defining key transforms like q_sample and q_posterior.",
496496
code: `class GaussianDiffusion(...):\n def q_sample(self, x_start, t, noise=None):\n return sqrt(alpha_bar)*x_start + sqrt(1-alpha_bar)*noise`
497497
},
498498
{
499-
path: "new_src/models/diffusion/diffusion_training.py",
500-
group: "new_src/models/diffusion",
499+
path: "src/models/diffusion/diffusion_training.py",
500+
group: "src/models/diffusion",
501501
title: "Diffusion Training Mixin",
502502
tags: ["training_losses", "MMD", "self-conditioning"],
503503
desc: "Training loss composition: Cross-DiT dual-branch outputs + MSE/MMD + condition dropping + self-conditioning.",
@@ -524,7 +524,7 @@ <h2>Architecture Graph</h2>
524524

525525
const GRAPH = {
526526
nodes: [
527-
{id: "cfg", x: 36, y: 24, w: 140, h: 40, label: "new_configs"},
527+
{id: "cfg", x: 36, y: 24, w: 140, h: 40, label: "configs"},
528528
{id: "apps", x: 222, y: 24, w: 170, h: 40, label: "apps/rawdata"},
529529
{id: "runtime", x: 430, y: 24, w: 170, h: 40, label: "training_runtime"},
530530
{id: "data", x: 222, y: 126, w: 170, h: 40, label: "data_module"},
@@ -551,11 +551,11 @@ <h2>Architecture Graph</h2>
551551
]
552552
},
553553
baseMapping: {
554-
runtime: "new_src/apps/training/training_runtime.py",
555-
data: "new_src/data/data_module/data_module.py",
556-
lightning: "new_src/models/lightning/lightning_module.py",
557-
diff: "new_src/models/diffusion/diffusion_training.py",
558-
sampling: "new_src/apps/sampling/sampling_generation.py"
554+
runtime: "src/apps/training/training_runtime.py",
555+
data: "src/data/data_module/data_module.py",
556+
lightning: "src/models/lightning/lightning_module.py",
557+
diff: "src/models/diffusion/diffusion_training.py",
558+
sampling: "src/apps/sampling/sampling_generation.py"
559559
}
560560
};
561561

@@ -807,21 +807,21 @@ <h2>Architecture Graph</h2>
807807

808808
function relatedPaths(path) {
809809
const map = {
810-
"new_src/apps/rawdata/rawdata_diffusion_training.py": [
811-
"new_src/apps/training/training_runtime.py",
812-
"new_src/apps/training/training_datamodule_builder.py",
813-
"new_src/apps/training/training_pipeline.py"
810+
"src/apps/rawdata/rawdata_diffusion_training.py": [
811+
"src/apps/training/training_runtime.py",
812+
"src/apps/training/training_datamodule_builder.py",
813+
"src/apps/training/training_pipeline.py"
814814
],
815-
"new_src/models/lightning/lightning_module.py": [
816-
"new_src/models/lightning/lightning_factories.py",
817-
"new_src/models/diffusion/diffusion_training.py"
815+
"src/models/lightning/lightning_module.py": [
816+
"src/models/lightning/lightning_factories.py",
817+
"src/models/diffusion/diffusion_training.py"
818818
],
819-
"new_src/apps/sampling/sampling_generation.py": [
820-
"new_src/apps/rawdata/rawdata_diffusion_sampling.py",
821-
"new_src/apps/sampling/sampling_io.py"
819+
"src/apps/sampling/sampling_generation.py": [
820+
"src/apps/rawdata/rawdata_diffusion_sampling.py",
821+
"src/apps/sampling/sampling_io.py"
822822
]
823823
};
824-
return map[path] || ["new_configs/model/base.yaml", "new_configs/optimization/base.yaml"];
824+
return map[path] || ["configs/model/base.yaml", "configs/optimization/base.yaml"];
825825
}
826826

827827
function renderFlow() {
@@ -841,14 +841,14 @@ <h2>Architecture Graph</h2>
841841
const flow = FLOWS[state.flowType];
842842
const step = flow[state.flowStep];
843843
const hintMap = {
844-
"Resolve Hydra": "new_configs/rawdata_diffusion_training.yaml",
845-
"Setup Trainer": "new_src/apps/training/training_runtime.py",
846-
"Build Data": "new_src/data/data_module/data_module.py",
847-
"Build Model": "new_src/models/lightning/lightning_module.py",
848-
"Run Pipeline": "new_src/apps/training/training_pipeline.py",
849-
"Load CKPT": "new_src/apps/sampling/sampling_setup.py",
850-
"Generate": "new_src/apps/sampling/sampling_generation.py",
851-
"Save h5ad": "new_src/apps/sampling/sampling_io.py"
844+
"Resolve Hydra": "configs/rawdata_diffusion_training.yaml",
845+
"Setup Trainer": "src/apps/training/training_runtime.py",
846+
"Build Data": "src/data/data_module/data_module.py",
847+
"Build Model": "src/models/lightning/lightning_module.py",
848+
"Run Pipeline": "src/apps/training/training_pipeline.py",
849+
"Load CKPT": "src/apps/sampling/sampling_setup.py",
850+
"Generate": "src/apps/sampling/sampling_generation.py",
851+
"Save h5ad": "src/apps/sampling/sampling_io.py"
852852
};
853853
const target = hintMap[step.title];
854854
if (target && byPath(target)) {
@@ -865,12 +865,12 @@ <h2>Architecture Graph</h2>
865865
archEl.appendChild(defs);
866866
const nodePathByFlow = {
867867
training: {
868-
cfg: "new_configs/rawdata_diffusion_training.yaml",
869-
apps: "new_src/apps/rawdata/rawdata_diffusion_training.py"
868+
cfg: "configs/rawdata_diffusion_training.yaml",
869+
apps: "src/apps/rawdata/rawdata_diffusion_training.py"
870870
},
871871
sampling: {
872-
cfg: "new_configs/rawdata_diffusion_sampling.yaml",
873-
apps: "new_src/apps/rawdata/rawdata_diffusion_sampling.py"
872+
cfg: "configs/rawdata_diffusion_sampling.yaml",
873+
apps: "src/apps/rawdata/rawdata_diffusion_sampling.py"
874874
}
875875
};
876876
const activeEdges = GRAPH.edgesByFlow[state.flowType] || GRAPH.edgesByFlow.training;

0 commit comments

Comments
 (0)