Image Classification
densenet
vision
lucazhou2000 commited on
Commit
918164b
·
verified ·
1 Parent(s): 9254224

Upload folder using huggingface_hub

Browse files
Files changed (4) hide show
  1. .gitattributes +1 -9
  2. README.md +109 -0
  3. config.json +43 -0
  4. model.pt +3 -0
.gitattributes CHANGED
@@ -2,34 +2,26 @@
2
  *.arrow filter=lfs diff=lfs merge=lfs -text
3
  *.bin filter=lfs diff=lfs merge=lfs -text
4
  *.bz2 filter=lfs diff=lfs merge=lfs -text
5
- *.ckpt filter=lfs diff=lfs merge=lfs -text
6
  *.ftz filter=lfs diff=lfs merge=lfs -text
7
  *.gz filter=lfs diff=lfs merge=lfs -text
8
  *.h5 filter=lfs diff=lfs merge=lfs -text
9
  *.joblib filter=lfs diff=lfs merge=lfs -text
10
  *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
- *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
  *.model filter=lfs diff=lfs merge=lfs -text
13
  *.msgpack filter=lfs diff=lfs merge=lfs -text
14
- *.npy filter=lfs diff=lfs merge=lfs -text
15
- *.npz filter=lfs diff=lfs merge=lfs -text
16
  *.onnx filter=lfs diff=lfs merge=lfs -text
17
  *.ot filter=lfs diff=lfs merge=lfs -text
18
  *.parquet filter=lfs diff=lfs merge=lfs -text
19
  *.pb filter=lfs diff=lfs merge=lfs -text
20
- *.pickle filter=lfs diff=lfs merge=lfs -text
21
- *.pkl filter=lfs diff=lfs merge=lfs -text
22
  *.pt filter=lfs diff=lfs merge=lfs -text
23
  *.pth filter=lfs diff=lfs merge=lfs -text
24
  *.rar filter=lfs diff=lfs merge=lfs -text
25
- *.safetensors filter=lfs diff=lfs merge=lfs -text
26
  saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
  *.tar.* filter=lfs diff=lfs merge=lfs -text
28
- *.tar filter=lfs diff=lfs merge=lfs -text
29
  *.tflite filter=lfs diff=lfs merge=lfs -text
30
  *.tgz filter=lfs diff=lfs merge=lfs -text
31
  *.wasm filter=lfs diff=lfs merge=lfs -text
32
  *.xz filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
- *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
2
  *.arrow filter=lfs diff=lfs merge=lfs -text
3
  *.bin filter=lfs diff=lfs merge=lfs -text
4
  *.bz2 filter=lfs diff=lfs merge=lfs -text
 
5
  *.ftz filter=lfs diff=lfs merge=lfs -text
6
  *.gz filter=lfs diff=lfs merge=lfs -text
7
  *.h5 filter=lfs diff=lfs merge=lfs -text
8
  *.joblib filter=lfs diff=lfs merge=lfs -text
9
  *.lfs.* filter=lfs diff=lfs merge=lfs -text
 
10
  *.model filter=lfs diff=lfs merge=lfs -text
11
  *.msgpack filter=lfs diff=lfs merge=lfs -text
 
 
12
  *.onnx filter=lfs diff=lfs merge=lfs -text
13
  *.ot filter=lfs diff=lfs merge=lfs -text
14
  *.parquet filter=lfs diff=lfs merge=lfs -text
15
  *.pb filter=lfs diff=lfs merge=lfs -text
 
 
16
  *.pt filter=lfs diff=lfs merge=lfs -text
17
  *.pth filter=lfs diff=lfs merge=lfs -text
18
  *.rar filter=lfs diff=lfs merge=lfs -text
 
19
  saved_model/**/* filter=lfs diff=lfs merge=lfs -text
20
  *.tar.* filter=lfs diff=lfs merge=lfs -text
 
21
  *.tflite filter=lfs diff=lfs merge=lfs -text
22
  *.tgz filter=lfs diff=lfs merge=lfs -text
23
  *.wasm filter=lfs diff=lfs merge=lfs -text
24
  *.xz filter=lfs diff=lfs merge=lfs -text
25
  *.zip filter=lfs diff=lfs merge=lfs -text
26
+ *.zstandard filter=lfs diff=lfs merge=lfs -text
27
  *tfevents* filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,109 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ ---
3
+ license: apache-2.0
4
+ tags:
5
+ - vision
6
+ - image-classification
7
+ datasets:
8
+ - nih-pc-chex-mimic_ch-google-openi-rsna
9
+ ---
10
+
11
+
12
+ # densenet121-res224-chex
13
+
14
+ A DenseNet is a type of convolutional neural network that utilises dense connections between layers, through Dense Blocks, where we connect all layers (with matching feature-map sizes) directly with each other. To preserve the feed-forward nature, each layer obtains additional inputs from all preceding layers and passes on its own feature-maps to all subsequent layers.
15
+
16
+
17
+ ### How to use
18
+
19
+ Here is how to use this model to classify an image of xray:
20
+
21
+ Note: Each pretrained model has 18 outputs. The `all` model has every output trained. However, for the other weights some targets are not trained and will predict randomly becuase they do not exist in the training dataset. The only valid outputs are listed in the field `{dataset}.pathologies` on the dataset that corresponds to the weights.
22
+
23
+
24
+ Benchmarks of the modes are here: [BENCHMARKS.md](https://github.com/mlmed/torchxrayvision/blob/master/BENCHMARKS.md)
25
+ ```python
26
+
27
+ import urllib.request
28
+
29
+ import skimage
30
+ import torch
31
+ import torch.nn.functional as F
32
+ import torchvision
33
+ import torchvision.transforms
34
+
35
+ import torchxrayvision as xrv
36
+
37
+ model_name = "densenet121-res224-chex"
38
+
39
+ img_url = "https://huggingface.co/spaces/torchxrayvision/torchxrayvision-classifier/resolve/main/16747_3_1.jpg"
40
+ img_path = "xray.jpg"
41
+ urllib.request.urlretrieve(img_url, img_path)
42
+
43
+ model = xrv.models.get_model(model_name, from_hf_hub=True)
44
+
45
+ img = skimage.io.imread(img_path)
46
+ img = xrv.datasets.normalize(img, 255)
47
+
48
+ # Check that images are 2D arrays
49
+ if len(img.shape) > 2:
50
+ img = img[:, :, 0]
51
+ if len(img.shape) < 2:
52
+ print("error, dimension lower than 2 for image")
53
+
54
+ # Add color channel
55
+ img = img[None, :, :]
56
+
57
+ transform = torchvision.transforms.Compose([xrv.datasets.XRayCenterCrop()])
58
+
59
+ img = transform(img)
60
+
61
+ with torch.no_grad():
62
+ img = torch.from_numpy(img).unsqueeze(0)
63
+ preds = model(img).cpu()
64
+ output = {
65
+ k: float(v)
66
+ for k, v in zip(xrv.datasets.default_pathologies, preds[0].detach().numpy())
67
+ }
68
+ print(output)
69
+
70
+ ```
71
+ For more code examples, we refer to the [example scripts](https://github.com/kamalkraj/torchxrayvision/blob/master/scripts).
72
+
73
+
74
+ ### Citation
75
+
76
+ Primary TorchXRayVision paper: [https://arxiv.org/abs/2111.00595](https://arxiv.org/abs/2111.00595)
77
+
78
+ ```
79
+ 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
80
+ TorchXRayVision: A library of chest X-ray datasets and models.
81
+ https://github.com/mlmed/torchxrayvision, 2020
82
+
83
+
84
+ @article{Cohen2020xrv,
85
+ 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},
86
+ journal = {https://github.com/mlmed/torchxrayvision},
87
+ title = {{TorchXRayVision: A library of chest X-ray datasets and models}},
88
+ url = {https://github.com/mlmed/torchxrayvision},
89
+ year = {2020}
90
+ arxivId = {2111.00595},
91
+ }
92
+
93
+
94
+ ```
95
+ and this paper which initiated development of the library: [https://arxiv.org/abs/2002.02497](https://arxiv.org/abs/2002.02497)
96
+ ```
97
+ Joseph Paul Cohen and Mohammad Hashir and Rupert Brooks and Hadrien Bertrand
98
+ On the limits of cross-domain generalization in automated X-ray prediction.
99
+ Medical Imaging with Deep Learning 2020 (Online: https://arxiv.org/abs/2002.02497)
100
+
101
+ @inproceedings{cohen2020limits,
102
+ title={On the limits of cross-domain generalization in automated X-ray prediction},
103
+ author={Cohen, Joseph Paul and Hashir, Mohammad and Brooks, Rupert and Bertrand, Hadrien},
104
+ booktitle={Medical Imaging with Deep Learning},
105
+ year={2020},
106
+ url={https://arxiv.org/abs/2002.02497}
107
+ }
108
+ ```
109
+
config.json ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "weights_url": "https://github.com/mlmed/torchxrayvision/releases/download/v1/chex-densenet121-d121-tw-lr001-rot45-tr15-sc15-seed0-best.pt",
3
+ "labels": [
4
+ "Atelectasis",
5
+ "Consolidation",
6
+ "",
7
+ "Pneumothorax",
8
+ "Edema",
9
+ "",
10
+ "",
11
+ "Effusion",
12
+ "Pneumonia",
13
+ "",
14
+ "Cardiomegaly",
15
+ "",
16
+ "",
17
+ "",
18
+ "Lung Lesion",
19
+ "Fracture",
20
+ "Lung Opacity",
21
+ "Enlarged Cardiomediastinum"
22
+ ],
23
+ "op_threshs": [
24
+ 0.1988969,
25
+ 0.05710573,
26
+ NaN,
27
+ 0.0531293,
28
+ 0.1435217,
29
+ NaN,
30
+ NaN,
31
+ 0.27212676,
32
+ 0.07749717,
33
+ NaN,
34
+ 0.19712369,
35
+ NaN,
36
+ NaN,
37
+ NaN,
38
+ 0.09932402,
39
+ 0.09273402,
40
+ 0.3270967,
41
+ 0.10888247
42
+ ]
43
+ }
model.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1a914ae802170187a4852e594708206c12468eeeefd66aa4e8e26141649d61a4
3
+ size 28381998