Views
No views yet
| Disease | AUC | F1 (optimal threshold) |
|---|---|---|
| Atelectasis | 0.8255 | 0.4323 |
| Cardiomegaly | 0.9067 | 0.3931 |
| Effusion | 0.8906 | 0.5815 |
| Infiltration | 0.7191 | 0.4156 |
| Mass | 0.8659 | 0.4295 |
| Nodule | 0.7784 | 0.3342 |
| Pneumonia | 0.7812 | 0.1053 |
| Pleural Thickening | 0.8256 | 0.2381 |
| Pneumothorax | 0.8687 | 0.3591 |
| Consolidation | 0.8065 | 0.2417 |
| Edema | 0.8870 | 0.2691 |
| Emphysema | 0.9218 | 0.4953 |
| Fibrosis | 0.8201 | 0.1787 |
| Hernia | 0.9127 | 0.6207 |
| Mean | 0.8539 | — |
| Architecture | Mean AUC |
|---|---|
| ConvNeXt-Tiny | 0.8449 |
| DenseNet121 | 0.8435 |
| DenseNet169 | 0.8414 |
| ResNet50 | 0.8368 |
| EfficientNet-B0 | 0.8291 |
| 3-model ensemble | 0.8539 |
| CheXNet (2017) | 0.841 |
1DISEASES = [
2 'Atelectasis', 'Cardiomegaly', 'Effusion', 'Infiltration',
3 'Mass', 'Nodule', 'Pneumonia', 'Pleural_Thickening',
4 'Pneumothorax', 'Consolidation', 'Edema', 'Emphysema',
5 'Fibrosis', 'Hernia'
6]1from safetensors.torch import load_file
2from huggingface_hub import hf_hub_download
3import torch
4import torchvision.models as models
5
6REPO_ID = "mjrq/cura-chest-xray"
7
8def load_model(architecture, device):
9 path = hf_hub_download(repo_id=REPO_ID,
10 filename=f"{architecture}_best.safetensors")
11
12 if architecture == 'densenet121':
13 model = models.densenet121(weights=None)
14 model.classifier = torch.nn.Sequential(
15 torch.nn.Dropout(0.2),
16 torch.nn.Linear(model.classifier.in_features, 14)
17 )
18 elif architecture == 'densenet169':
19 model = models.densenet169(weights=None)
20 model.classifier = torch.nn.Sequential(
21 torch.nn.Dropout(0.2),
22 torch.nn.Linear(model.classifier.in_features, 14)
23 )
24 elif architecture == 'convnext_tiny':
25 model = models.convnext_tiny(weights=None)
26 model.classifier[2] = torch.nn.Sequential(
27 torch.nn.Dropout(0.2),
28 torch.nn.Linear(model.classifier[2].in_features, 14)
29 )
30
31 state_dict = load_file(path, device=str(device))
32 model.load_state_dict(state_dict)
33 model.eval()
34 return model.to(device)1@software{cura2026,
2 author = {mjrq},
3 title = {Cura: An AI-Powered Application for Chest X-Ray Analysis},
4 year = {2026},
5 url = {https://github.com/mjrq/Cura}
6}