<feed xmlns='http://www.w3.org/2005/Atom'>
<title>eel4759_classification/main.py, branch master</title>
<subtitle>Comparison of different ImageNet-based CNN models for classifying diabetic retinopathy images</subtitle>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/eel4759_classification/'/>
<entry>
<title>main: increase batch size</title>
<updated>2026-04-22T02:54:46+00:00</updated>
<author>
<name>Vineet Kumar</name>
<email>git@vineetk.net</email>
</author>
<published>2026-04-22T02:54:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/eel4759_classification/commit/?id=88375c7767dbea45e9a1158f0aa180043a59ffae'/>
<id>88375c7767dbea45e9a1158f0aa180043a59ffae</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>increase resolution to 384px and soften oversampler weights</title>
<updated>2026-04-20T14:28:06+00:00</updated>
<author>
<name>Vineet Kumar</name>
<email>git@vineetk.net</email>
</author>
<published>2026-04-20T14:28:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/eel4759_classification/commit/?id=3d5c9e1658ea8c8b06d9acaeff847647b58fa63a'/>
<id>3d5c9e1658ea8c8b06d9acaeff847647b58fa63a</id>
<content type='text'>
- Default img_size changed from 224 to 384 (already plumbed through
  build_transforms/build_dataloaders, just needed passing from main.py)
- WeightedRandomSampler now uses sqrt(1/count) instead of 1/count to
  reduce over-prediction of minority classes against visually similar
  majority class (Healthy vs Mild NPDR)
- Default batch size reduced 64-&gt;32 to accommodate larger images
- 4-epoch warmup-only test: macro F1 0.45, weighted F1 0.74, kappa 0.62
  already exceeding previous 22-epoch best on all metrics
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Default img_size changed from 224 to 384 (already plumbed through
  build_transforms/build_dataloaders, just needed passing from main.py)
- WeightedRandomSampler now uses sqrt(1/count) instead of 1/count to
  reduce over-prediction of minority classes against visually similar
  majority class (Healthy vs Mild NPDR)
- Default batch size reduced 64-&gt;32 to accommodate larger images
- 4-epoch warmup-only test: macro F1 0.45, weighted F1 0.74, kappa 0.62
  already exceeding previous 22-epoch best on all metrics
</pre>
</div>
</content>
</entry>
<entry>
<title>improve training for class-imbalanced DR classification</title>
<updated>2026-04-20T14:03:17+00:00</updated>
<author>
<name>Vineet Kumar</name>
<email>git@vineetk.net</email>
</author>
<published>2026-04-20T14:03:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/eel4759_classification/commit/?id=9dd8b3007e79f0634f868d405f5e7c48917305fd'/>
<id>9dd8b3007e79f0634f868d405f5e7c48917305fd</id>
<content type='text'>
- WeightedRandomSampler for balanced class sampling during training
- FocalLoss (gamma=2) for hard-example mining, no alpha (sampler handles balance)
- Stronger augmentation: RandomResizedCrop, ColorJitter, GaussianBlur, 30deg rotation
- Discriminative LR: backbone at 0.1x, head at 1x
- 3-epoch linear warmup + cosine decay scheduler
- Early stopping on macro F1 instead of weighted F1
- Updated defaults: batch_size=64, epochs=50, patience=10
- Comparison chart now shows both macro and weighted F1
- DataParallel checkpoint handling (strip module. prefix)
- Enable cudnn.benchmark for training speed
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- WeightedRandomSampler for balanced class sampling during training
- FocalLoss (gamma=2) for hard-example mining, no alpha (sampler handles balance)
- Stronger augmentation: RandomResizedCrop, ColorJitter, GaussianBlur, 30deg rotation
- Discriminative LR: backbone at 0.1x, head at 1x
- 3-epoch linear warmup + cosine decay scheduler
- Early stopping on macro F1 instead of weighted F1
- Updated defaults: batch_size=64, epochs=50, patience=10
- Comparison chart now shows both macro and weighted F1
- DataParallel checkpoint handling (strip module. prefix)
- Enable cudnn.benchmark for training speed
</pre>
</div>
</content>
</entry>
<entry>
<title>initial commit</title>
<updated>2026-04-19T01:34:11+00:00</updated>
<author>
<name>Vineet Kumar</name>
<email>git@vineetk.net</email>
</author>
<published>2026-04-19T01:34:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/eel4759_classification/commit/?id=8f571ee51854540d186aafc01d25908bba5ea09e'/>
<id>8f571ee51854540d186aafc01d25908bba5ea09e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
