Skip to content

Feat: Merged Deepnet Implementation#1

Merged
Guhan-SenSam merged 9 commits intomainfrom
deepnet
Feb 26, 2026
Merged

Feat: Merged Deepnet Implementation#1
Guhan-SenSam merged 9 commits intomainfrom
deepnet

Conversation

@Guhan-SenSam
Copy link
Copy Markdown
Contributor

No description provided.

- Implement preprocess.py to convert audio files to mel spectrograms
- Add dataset.py with BirdCallDataset class for training/validation/test splits
- Create label_map.json with 18 bird species mappings
- Add soundfile dependency for audio loading without FFmpeg requirement
- Add StemBlock for initial feature extraction with 2 conv layers
- Implement DualPathBlock with asymmetric frequency (5,1) and temporal (1,5) kernels
- Create DeepNet combining stem, dual-path blocks, and classifier head
- Support 18 bird species classification with 525K parameters
- Verify architecture with shape test: (2,1,128,216) → (2,18)
- Implement LabelSmoothingCE, FocalLoss, and WeightedCE loss functions
- Create Trainer class with AdamW optimizer and CosineAnnealingLR scheduler
- Add early stopping with configurable patience
- Implement TensorBoard logging for metrics tracking
- Add checkpoint saving and loading with full state preservation
- Create baseline configuration for initial experiments
- Add utility functions for device selection, seeding, and config management
- Create train.py as CLI entry point for running experiments
- Support command-line arguments for config and checkpoint resumption
- Add automatic loss function selection based on config
- Update package __init__.py with proper exports
- Add project path constants and logging setup to utils
- Complete Day 5: ready for first training run
- Update train.py to unpack label_map and class_weights from build_dataloaders
- Flatten config properly for data loading
- Add num_classes logging for verification
- Implement metrics.py with top-k accuracy, F1 scores, and confusion matrix
- Create MetricsTracker for batch-wise metric aggregation
- Add evaluate.py CLI for comprehensive model evaluation on test set
- Generate confusion matrix visualizations with normalization options
- Identify hardest/easiest classes and most confused pairs
- Support JSON export of evaluation metrics
- Add seaborn dependency for visualization
- Complete Week 1: baseline pipeline with full evaluation suite
@Guhan-SenSam Guhan-SenSam merged commit f0507be into main Feb 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant