CoolFace
Modelpublic

TurkishCodeMan/vit-lung-cancer

sourceHugging Faceapache-2.0updated 7mo agoView on Hugging Face
1likes14downloads
Model Card

๐Ÿซ ViT Lung Cancer Classifier

Fine-tuned Vision Transformer (ViT-Base/16) for lung cancer CT image classification into 3 classes: normal, malignant, and benign.

๐Ÿ“Š Model Details

PropertyValue
Base Modelgoogle/vit-base-patch16-224
TaskImage Classification (3 classes)
Input Size224 ร— 224 px
Precisionfp16
TrainingFull fine-tuning + early stopping

๐Ÿท๏ธ Label Mapping

IDLabelDescription
0normalNormal lung tissue
1malignantMalignant (cancerous) tissue
2benignBenign (non-cancerous) tissue

๐Ÿ“… Dataset

The model was trained on a comprehensive lung cancer dataset containing global clinical and risk factor data.

PropertyDetails
Total Records1,500 patient records
Features41 variables (Clinical, Demographic, Genetic, Risk Factors)
Period2015 โ€“ 2025
Scope60 countries across 6 WHO Regions
Key FactorsSmoking status, BMI, Air Pollution, Genetic Mutations, Tumor Stage

๐Ÿš€ Usage

Install

bash
pip install transformers torch pillow

Inference

python
from transformers import ViTForImageClassification, ViTImageProcessor
from PIL import Image
import torch

model_id = "TurkishCodeMan/vit-lung-cancer"

processor = ViTImageProcessor.from_pretrained(model_id)
model     = ViTForImageClassification.from_pretrained(model_id)

device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.eval().to(device)

def predict(image_path: str) -> dict:
    img    = Image.open(image_path).convert("RGB")
    inputs = processor(images=img, return_tensors="pt").to(device)

    with torch.no_grad():
        logits = model(**inputs).logits

    pred_id = logits.argmax(-1).item()
    probs   = torch.softmax(logits.float(), dim=-1)[0]

    return {
        "prediction": model.config.id2label[pred_id],
        "probabilities": {
            label: round(probs[i].item(), 4)
            for i, label in model.config.id2label.items()
        }
    }

result = predict("lung_scan.jpg")
print(result)

๐Ÿ› ๏ธ Training Config

ParameterValue
OptimizerAdamW
Learning Rate2e-5
Batch Size16
Max Epochs30
Early Stopping5 epochs patience
Mixed Precisionfp16
Best MetricF1-Macro