Inspiration
I wanted to test whether Perforated AI’s Dendritic Optimization could improve a real computer vision model without changing the dataset or switching to a larger architecture. CIFAR-10 with ResNet18 is a strong baseline, so it was a good benchmark to validate accuracy improvement using dendrites.
What I built
I built a CIFAR-10 image classifier using ResNet18 in PyTorch and created two versions:
- A baseline ResNet18 training pipeline (no dendrites)
- The same ResNet18 architecture initialized and trained with PerforatedAI dendrites
How I built it
- Dataset: CIFAR-10 with standard augmentation (random crop + horizontal flip)
- Model: ResNet18 modified for CIFAR-10 (3x3 conv, removed maxpool, 10-class final layer)
- Baseline training: standard Adam optimizer + CrossEntropyLoss
- Dendritic training: initialized the same model using PerforatedAI's
initialize_pai()and trained it using the same setup - I also generated the required PerforatedAI output graph (PAI.png) to verify dendrites were applied correctly
Results
Baseline ResNet18 test accuracy: 85.71%
Dendritic ResNet18 test accuracy: 86.97%
Remaining Error Reduction:
Baseline error = 100 - 85.71 = 14.29
Dendritic error = 100 - 86.97 = 13.03
$$ \text{Remaining Error Reduction} = \frac{14.29 - 13.03}{14.29} \times 100 = 8.81\% $$
This shows dendritic optimization reduced the remaining error by 8.81%.
Challenges I faced
- PerforatedAI initialization produced warnings related to BatchNorm layers not being wrapped, which I learned is expected behavior.
- Training took longer than the baseline due to dendritic optimization overhead.
- Locating and organizing the correct PerforatedAI output graph for submission required careful checking of generated artifacts.
What I learned
This project helped me understand how dendritic optimization can improve accuracy while keeping the model architecture mostly the same. I also learned how to structure a clean hackathon submission with reproducible code, results, and required output visualizations.
Log in or sign up for Devpost to join the conversation.