🚀 densenet121-res224-chex
DenseNet是一種卷積神經網絡,它通過密集塊(Dense Blocks)在各層之間建立密集連接,在這種結構中,所有層(特徵圖尺寸匹配)都直接相互連接。為保持前饋特性,每一層會從前面所有層獲取額外輸入,並將自身的特徵圖傳遞給後面所有層。該模型可用於X光圖像分類,具有重要的醫學應用價值。
🚀 快速開始
DenseNet是一種卷積神經網絡,它通過密集塊(Dense Blocks)在各層之間建立密集連接,在這種結構中,所有層(特徵圖尺寸匹配)都直接相互連接。為保持前饋特性,每一層會從前面所有層獲取額外輸入,並將自身的特徵圖傳遞給後面所有層。
✨ 主要特性
- 利用密集連接:通過Dense Blocks在各層之間建立密集連接,增強特徵傳播。
- 前饋特性:每一層從前面所有層獲取額外輸入,並將自身特徵圖傳遞給後續層。
- 多輸出:每個預訓練模型有18個輸出。
📦 安裝指南
文檔未提供具體安裝步驟,故跳過此章節。
💻 使用示例
基礎用法
以下是如何使用此模型對X光圖像進行分類的示例:
注意:每個預訓練模型有18個輸出。all
模型的每個輸出都經過訓練。然而,對於其他權重,某些目標未經過訓練,會隨機預測,因為它們不存在於訓練數據集中。唯一有效的輸出列在對應權重的數據集的{dataset}.pathologies
字段中。
模型的基準測試信息請參考:BENCHMARKS.md
import urllib.request
import skimage
import torch
import torch.nn.functional as F
import torchvision
import torchvision.transforms
import torchxrayvision as xrv
model_name = "densenet121-res224-chex"
img_url = "https://huggingface.co/spaces/torchxrayvision/torchxrayvision-classifier/resolve/main/16747_3_1.jpg"
img_path = "xray.jpg"
urllib.request.urlretrieve(img_url, img_path)
model = xrv.models.get_model(model_name, from_hf_hub=True)
img = skimage.io.imread(img_path)
img = xrv.datasets.normalize(img, 255)
if len(img.shape) > 2:
img = img[:, :, 0]
if len(img.shape) < 2:
print("error, dimension lower than 2 for image")
img = img[None, :, :]
transform = torchvision.transforms.Compose([xrv.datasets.XRayCenterCrop()])
img = transform(img)
with torch.no_grad():
img = torch.from_numpy(img).unsqueeze(0)
preds = model(img).cpu()
output = {
k: float(v)
for k, v in zip(xrv.datasets.default_pathologies, preds[0].detach().numpy())
}
print(output)
更多代碼示例請參考:example scripts。
📚 詳細文檔
模型輸出說明
每個預訓練模型有18個輸出。all
模型的每個輸出都經過訓練。然而,對於其他權重,某些目標未經過訓練,會隨機預測,因為它們不存在於訓練數據集中。唯一有效的輸出列在對應權重的數據集的{dataset}.pathologies
字段中。
基準測試
模型的基準測試信息請參考:BENCHMARKS.md
📄 許可證
本項目採用Apache-2.0許可證。
📚 引用
主要的TorchXRayVision論文
- 標題:TorchXRayVision: A library of chest X-ray datasets and models
- 作者:Joseph Paul Cohen, Joseph D. Viviano, Paul Bertin, Paul Morrison, Parsa Torabian, Matteo Guarrera, Matthew P Lungren, Akshay Chaudhari, Rupert Brooks, Mohammad Hashir, Hadrien Bertrand
- BibTeX引用:
@article{Cohen2020xrv,
author = {Cohen, Joseph Paul and Viviano, Joseph D. and Bertin, Paul and Morrison, Paul and Torabian, Parsa and Guarrera, Matteo and Lungren, Matthew P and Chaudhari, Akshay and Brooks, Rupert and Hashir, Mohammad and Bertrand, Hadrien},
journal = {https://github.com/mlmed/torchxrayvision},
title = {{TorchXRayVision: A library of chest X-ray datasets and models}},
url = {https://github.com/mlmed/torchxrayvision},
year = {2020}
arxivId = {2111.00595},
}
發起庫開發的論文
@inproceedings{cohen2020limits,
title={On the limits of cross-domain generalization in automated X-ray prediction},
author={Cohen, Joseph Paul and Hashir, Mohammad and Brooks, Rupert and Bertrand, Hadrien},
booktitle={Medical Imaging with Deep Learning},
year={2020},
url={https://arxiv.org/abs/2002.02497}
}