format
This commit is contained in:
@@ -0,0 +1,28 @@
|
|||||||
|
"""
|
||||||
|
Base configuration dictionary for the project.
|
||||||
|
Contains default values for common hyperparameters and settings.
|
||||||
|
"""
|
||||||
|
|
||||||
|
base_config = {
|
||||||
|
# --- Data --- #
|
||||||
|
"data_root": "data/PennFudanPed", # Default dataset path
|
||||||
|
"output_dir": "outputs", # Base directory for logs, checkpoints, etc.
|
||||||
|
# --- Hardware --- #
|
||||||
|
"device": "cuda", # 'cuda' or 'cpu'
|
||||||
|
# --- Model --- #
|
||||||
|
"num_classes": 2, # Number of classes (including background)
|
||||||
|
# --- Training --- #
|
||||||
|
"batch_size": 2, # Training batch size
|
||||||
|
"num_epochs": 10, # Total number of training epochs
|
||||||
|
"seed": 42, # Random seed for reproducibility
|
||||||
|
# --- Optimizer --- #
|
||||||
|
"lr": 0.005, # Initial learning rate
|
||||||
|
"momentum": 0.9,
|
||||||
|
"weight_decay": 0.0005,
|
||||||
|
# --- LR Scheduler --- #
|
||||||
|
"lr_step_size": 3, # Step size for StepLR scheduler
|
||||||
|
"lr_gamma": 0.1, # Multiplicative factor for StepLR scheduler
|
||||||
|
# --- Logging & Checkpointing --- #
|
||||||
|
"log_freq": 10, # Log training progress every N batches
|
||||||
|
"checkpoint_freq": 1, # Save checkpoint every N epochs
|
||||||
|
}
|
||||||
|
|||||||
23
configs/pennfudan_maskrcnn_config.py
Normal file
23
configs/pennfudan_maskrcnn_config.py
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
"""
|
||||||
|
Configuration for training Mask R-CNN on the Penn-Fudan dataset.
|
||||||
|
"""
|
||||||
|
|
||||||
|
from .base_config import base_config
|
||||||
|
|
||||||
|
config = base_config.copy()
|
||||||
|
|
||||||
|
# Override necessary settings from base_config
|
||||||
|
config.update(
|
||||||
|
{
|
||||||
|
"config_name": "pennfudan_maskrcnn_v1", # Unique name for this experiment run
|
||||||
|
"data_root": "data/PennFudanPed", # Explicitly set dataset root
|
||||||
|
"num_classes": 2, # Penn-Fudan has 1 class (pedestrian) + background
|
||||||
|
# Adjust other parameters as needed for this specific experiment, e.g.:
|
||||||
|
# 'batch_size': 4,
|
||||||
|
# 'num_epochs': 15,
|
||||||
|
# 'lr': 0.001,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
# Ensure derived paths or settings are consistent if needed
|
||||||
|
# (Not strictly necessary with this simple structure)
|
||||||
7
todo.md
7
todo.md
@@ -16,10 +16,7 @@ This list outlines the steps required to complete the Torchvision Finetuning pro
|
|||||||
- [x] Install pre-commit hooks
|
- [x] Install pre-commit hooks
|
||||||
- [x] Verify PyTorch GPU integration (`scripts/check_gpu.py`)
|
- [x] Verify PyTorch GPU integration (`scripts/check_gpu.py`)
|
||||||
- [x] Create data download script (`scripts/download_data.sh`)
|
- [x] Create data download script (`scripts/download_data.sh`)
|
||||||
- [ ] Implement PennFudanDataset class (`utils/data_utils.py`)
|
- [x] Implement configuration system (`configs/base_config.py`, `configs/pennfudan_maskrcnn_config.py`)
|
||||||
- [ ] Implement model finetuning logic (`models/detection.py`)
|
|
||||||
- [ ] Implement training script (`train.py`)
|
|
||||||
- [ ] Implement evaluation script (`test.py`)
|
|
||||||
|
|
||||||
## Phase 2: Data Handling & Model
|
## Phase 2: Data Handling & Model
|
||||||
|
|
||||||
@@ -125,4 +122,4 @@ This list outlines the steps required to complete the Torchvision Finetuning pro
|
|||||||
- [ ] Dependencies list
|
- [ ] Dependencies list
|
||||||
- [ ] (Optional) Results section
|
- [ ] (Optional) Results section
|
||||||
- [ ] Perform final code quality checks (`ruff format .`, `ruff check . --fix`).
|
- [ ] Perform final code quality checks (`ruff format .`, `ruff check . --fix`).
|
||||||
- [ ] Ensure all pre-commit hooks pass.
|
- [ ] Ensure all pre-commit hooks pass.
|
||||||
Reference in New Issue
Block a user