@@ -156,11 +156,16 @@ connectomics/ # Main Python package (77 files, ~23K lines)
156156│ ├── build.py # Optimizer/scheduler factory
157157│ └── lr_scheduler.py # Custom LR schedulers
158158│
159- ├── lightning/ # PyTorch Lightning integration (PRIMARY)
160- │ ├── lit_data.py # LightningDataModule (Volume/Tile/Cloud datasets)
161- │ ├── lit_model.py # LightningModule (1.8K lines - deep supervision, TTA)
162- │ ├── lit_trainer.py # Trainer creation utilities
163- │ └── callbacks.py # Custom Lightning callbacks
159+ ├── training/ # Training utilities
160+ │ ├── lit/ # PyTorch Lightning integration (PRIMARY)
161+ │ │ ├── data.py # LightningDataModule (Volume/Tile/Cloud datasets)
162+ │ │ ├── model.py # LightningModule (deep supervision, TTA)
163+ │ │ ├── trainer.py # Trainer creation utilities
164+ │ │ ├── callbacks.py # Custom Lightning callbacks
165+ │ │ ├── config.py # Factory functions for training setup
166+ │ │ └── utils.py # CLI/config helpers
167+ │ ├── deep_supervision.py # Deep supervision utilities
168+ │ └── debugging.py # NaN detection and debugging utilities
164169│
165170├── data/ # Data loading and preprocessing
166171│ ├── dataset/ # Dataset classes (HDF5, TIFF, Zarr, Cloud)
@@ -399,7 +404,7 @@ Multiple losses can be combined with weights in the config.
399404
400405# # PyTorch Lightning Integration
401406
402- # ## LightningModule (`lightning/lit_model .py`)
407+ # ## LightningModule (`training/lit/model .py`)
403408Wraps models with automatic training features :
404409- Distributed training (DDP)
405410- Mixed precision training (AMP)
@@ -410,7 +415,7 @@ Wraps models with automatic training features:
410415- **Deep supervision**: Multi-scale loss computation with automatic target resizing
411416
412417` ` ` python
413- from connectomics.lightning import ConnectomicsModule
418+ from connectomics.training.lit import ConnectomicsModule
414419
415420# Create Lightning module
416421lit_model = ConnectomicsModule(cfg)
@@ -419,23 +424,23 @@ lit_model = ConnectomicsModule(cfg)
419424lit_model = ConnectomicsModule(cfg, model=custom_model)
420425` ` `
421426
422- # ## LightningDataModule (`lightning/lit_data .py`)
427+ # ## LightningDataModule (`training/lit/data .py`)
423428Handles data loading with MONAI transforms :
424429- Train/val/test splits
425430- MONAI CacheDataset for fast loading
426431- Automatic augmentation pipeline
427432- Persistent workers for efficiency
428433
429434` ` ` python
430- from connectomics.lightning import ConnectomicsDataModule
435+ from connectomics.training.lit import ConnectomicsDataModule
431436
432437datamodule = ConnectomicsDataModule(cfg)
433438` ` `
434439
435- # ## Trainer (`lightning/lit_trainer .py`)
440+ # ## Trainer (`training/lit/trainer .py`)
436441Convenience function for creating Lightning Trainer :
437442` ` ` python
438- from connectomics.lightning import create_trainer
443+ from connectomics.training.lit import create_trainer
439444
440445trainer = create_trainer(cfg)
441446trainer.fit(lit_model, datamodule=datamodule)
@@ -475,15 +480,15 @@ from pytorch_lightning import seed_everything
475480seed_everything(cfg.system.seed)
476481
477482# 3. Create data module
478- from connectomics.lightning import ConnectomicsDataModule
483+ from connectomics.training.lit import ConnectomicsDataModule
479484datamodule = ConnectomicsDataModule(cfg)
480485
481486# 4. Create model
482- from connectomics.lightning import ConnectomicsModule
487+ from connectomics.training.lit import ConnectomicsModule
483488model = ConnectomicsModule(cfg)
484489
485490# 5. Create trainer
486- from connectomics.lightning import create_trainer
491+ from connectomics.training.lit import create_trainer
487492trainer = create_trainer(cfg)
488493
489494# 6. Train
@@ -555,9 +560,9 @@ scheduler:
555560- `connectomics/models/solver/build.py` : Optimizer/scheduler factory
556561
557562# ## Lightning
558- - `connectomics/lightning/lit_model .py` : Lightning module wrapper
559- - `connectomics/lightning/lit_data .py` : Data module
560- - `connectomics/lightning/lit_trainer .py` : Trainer utilities
563+ - `connectomics/training/lit/model .py` : Lightning module wrapper
564+ - `connectomics/training/lit/data .py` : Data module
565+ - `connectomics/training/lit/trainer .py` : Trainer utilities
561566
562567# ## Entry Points
563568- `scripts/main.py` : Primary training script (Lightning + Hydra)
@@ -635,7 +640,7 @@ The codebase has **fully migrated** from legacy systems:
635640
636641**Current development stack:**
637642- Hydra/OmegaConf configs (`tutorials/*.yaml`)
638- - PyTorch Lightning modules (`connectomics/lightning /`)
643+ - PyTorch Lightning modules (`connectomics/training/lit /`)
639644- ` scripts/main.py` entry point
640645- MONAI models and transforms
641646- Type-safe dataclass configurations
@@ -687,7 +692,7 @@ Install via `pip install -e .[extra_name]` where `extra_name` is:
687692
688693# ### `[wandb]` - Weights & Biases Integration
689694- **wandb** (>=0.13.0): Experiment tracking and monitoring
690- - Used in : ` connectomics.lightning.lit_trainer ` (optional logger)
695+ - Used in : ` connectomics.training.lit.trainer ` (optional logger)
691696
692697# ### `[tiff]` - TIFF File Support
693698- **tifffile** (>=2021.11.2): Advanced TIFF reading/writing
@@ -817,4 +822,4 @@ python -c "from connectomics.models.arch import list_architectures; print(list_a
817822- [MONAI Docs](https://docs.monai.io/en/stable/) - Medical imaging toolkit
818823- [Hydra Docs](https://hydra.cc/) - Configuration management
819824- [Project Documentation](https://zudi-lin.github.io/pytorch_connectomics/build/html/index.html) - Full docs
820- - [Slack Community](https://join.slack.com/t/pytorchconnectomics/shared_invite/zt-obufj5d1-v5_NndNS5yog8vhxy4L12w) - Get help
825+ - [Slack Community](https://join.slack.com/t/pytorchconnectomics/shared_invite/zt-obufj5d1-v5_NndNS5yog8vhxy4L12w) - Get help
0 commit comments