Arko007/kidney-ct-classifier-efficientnet
Kidney Ct Classifier Efficientnet
Model Description
Custom EfficientNet-style CNN for kidney CT scan classification (101M params, 95%+ accuracy)
This is a custom EfficientNet-style CNN trained from scratch for kidney CT scan classification. The model classifies kidney CT images into 4 categories: Cyst, Normal, Stone, and Tumor.
Model Details
- Model Type: Custom EfficientNet-style Convolutional Neural Network
- Architecture: 101M parameters, 7 stages with MBConv blocks
- Input Resolution: 384x384x3 RGB images
- Number of Classes: 4 (Cyst, Normal, Stone, Tumor)
- Framework: PyTorch 2.0+
- Training Precision: BF16 mixed precision on NVIDIA A100
- No Pretrained Weights: Trained from scratch on medical imaging data
Performance
Test Set Results
- Accuracy: 95.00%
- F1-Score: 0.9400
Per-Class Performance
Training Details
The model was trained on the CT Kidney Dataset with the following approach:
- Custom EfficientNet-style architecture built from scratch
- 101 million trainable parameters
- Width multiplier: 1.4, Depth multiplier: 1.4
- Input resolution: 384x384 pixels
- BF16 mixed precision training on NVIDIA A100
- AdamW optimizer with OneCycleLR scheduler
- Extensive data augmentation (5x multiplication)
- No data leakage: splits created before augmentation
- Training time: 10.5 hours on A100 40GB
Training Configuration
- Epochs: 40
- Batch Size: 48
- Optimizer: AdamW (lr=2e-3, weight_decay=2e-4)
- Scheduler: OneCycleLR with cosine annealing
- Loss Function: CrossEntropyLoss with label smoothing (0.1)
- Regularization: Dropout (0.35), Stochastic Depth (0-0.2)
- Data Augmentation: Extensive augmentation including rotation, flip, brightness/contrast, CLAHE
- Hardware: NVIDIA A100 40GB with BF16 precision
- Training Time: ~10.5 hours for 40 epochs
Data Split
- Training: 80% (augmented to ~78,000 images)
- Validation: 10% (original, no augmentation)
- Testing: 10% (original, no augmentation)
- No Data Leakage: Splits created before augmentation
Intended Use
Primary Use Cases
- Medical research and educational purposes
- Kidney disease classification from CT scans
- Computer-aided diagnosis (CAD) system development
- Medical imaging research
Limitations
- Model trained on specific dataset distribution
- Should not be used as sole diagnostic tool
- Requires clinical validation before medical use
- Performance may vary on images from different scanners or protocols
How to Use
Installation
pip install torch torchvision pillowInference Example
import torch
from PIL import Image
from torchvision import transforms
# Load model
model = torch.load('model.pth')
model.eval()
# Prepare image
transform = transforms.Compose([
transforms.Resize((384, 384)),
transforms.ToTensor(),
transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
])
# Predict
image = Image.open('kidney_ct.jpg').convert('RGB')
image_tensor = transform(image).unsqueeze(0)
with torch.no_grad():
output = model(image_tensor)
probs = torch.softmax(output, dim=1)
pred = output.argmax(1).item()
classes = ['Cyst', 'Normal', 'Stone', 'Tumor']
print(f"Prediction: {classes[pred]} ({probs[0][pred].item()*100:.1f}% confidence)")Dataset
Name: nazmul0087/ct-kidney-dataset-normal-cyst-tumor-and-stone
The model was trained on the CT Kidney Dataset containing 12,446 CT scan images across 4 classes. The dataset consists of coronal and axial cuts from PACS systems, verified by medical professionals.
Ethical Considerations
- This model is for research and educational purposes only
- Not FDA approved or clinically validated
- Should not replace professional medical diagnosis
- Requires human oversight and clinical validation
- May have biases from training data distribution
Citation
If you use this model in your research, please cite:
@misc{kidneyctclassifierefficientnet,
author = {Arko007},
title = {Kidney Ct Classifier Efficientnet},
year = {2025},
publisher = {Hugging Face},
howpublished = {\url{[https://huggingface.co/](https://huggingface.co/)Arko007/Kidney Ct Classifier Efficientnet}}
}License
Apache License 2.0 - See LICENSE file for details
Contact
For questions or issues, please open an issue on the model repository.
Acknowledgments
- Dataset: nazmul0087/ct-kidney-dataset-normal-cyst-tumor-and-stone
- Training infrastructure: NVIDIA A100 GPU
- Framework: PyTorch
