π©Ί Breast Cancer Classification Using Swin Transformer (Hugging Face)
This repository contains a fine-tuned Swin Transformer Tiny model from Hugging Face trained on a colorized CT and X-ray breast cancer dataset for binary classification. The model classifies images into:
- Malignant (1)
- Benign / Normal (0)
The dataset includes colorized medical images enhanced with advanced colorization techniques to aid diagnostic AI models and medical professionals.
π Dataset Information
- Dataset Name: Medical Imaging (CT-Xray) Colorization New Dataset
- Author: Shuvo Kumar Basak (2025)
- Hosted on: Kaggle Dataset
- DOI: 10.34740/KAGGLE/DSV/11072909
Note: This dataset focuses on CT and X-ray images colorized with various methods to improve visual interpretation and enhance model training. The model does not include the dataset itself.
π§ Model Architecture
- Model Type: Swin Transformer Tiny (pretrained on ImageNet)
- Framework: PyTorch + Hugging Face Transformers
- Base Model:
microsoft/swin-tiny-patch4-window7-224
- Model Source:
microsoft/swin-tiny-patch4-window7-224
- Input Size: 224x224 RGB
- Loss Function: CrossEntropyLoss
- Optimizer: Adam
- Fine-tuning: Final classification head modified for 2 classes
π Training Pipeline Summary
Image Preprocessing:
- Using Hugging Face
AutoImageProcessor
for normalization and resizing - Data augmentations via
torchvision.transforms
(horizontal/vertical flips, rotations, etc.)
- Using Hugging Face
Data Loading:
- Dataset split into train, validation, and test sets
- Loaded with
torchvision.datasets.ImageFolder
and wrapped inDataLoader
Model:
- Loaded pretrained Swin Transformer Tiny from Hugging Face
- Classification head adapted for binary classification (
num_labels=2
)
Training:
- Optimizer: Adam
- Loss: CrossEntropyLoss
- Training on GPU
Saving:
- Model weights saved as
pytorch_model.bin
- Hugging Face processor saved as needed
- Model weights saved as
π Results
Metric | Value |
---|---|
Train Accuracy | 99.05% |
Val Accuracy | 82.25% |
Test Accuracy | 79.00% |
Test Loss | 0.9054 |
π Intended Use
This model is intended for:
- Educational and research purposes in medical image analysis
- Building AI tools for breast cancer detection using colorized CT and X-ray images
- Demonstrating transfer learning with Hugging Face Swin Transformer models on medical datasets
β οΈ Not for clinical diagnosis or deployment without further validation and regulatory approval.
π Inference Example (Python)
from transformers import AutoImageProcessor, SwinForImageClassification
from PIL import Image
import torch
# Load model and processor
model_path = "Koushim/breast-cancer-swin-classifier" # Your HF repo
processor = AutoImageProcessor.from_pretrained(model_path)
model = SwinForImageClassification.from_pretrained(model_path).eval()
# Load and preprocess image
image = Image.open("your_image.jpg").convert("RGB")
inputs = processor(images=image, return_tensors="pt")
# Predict
with torch.no_grad():
outputs = model(**inputs)
predicted_class = outputs.logits.argmax(-1).item()
labels = ["benign", "malignant"]
print("Predicted class:", labels[predicted_class])
- Downloads last month
- 19
Inference Providers
NEW
This model isn't deployed by any Inference Provider.
π
Ask for provider support