Papers › CheXNet: Radiologist-Level Pneumonia Detection on Chest X-Rays with Deep Learning

CheXNet: Radiologist-Level Pneumonia Detection on Chest X-Rays with Deep Learning

14 Nov 2017arXiv:1711.05225archive 2025-07-28

Pranav Rajpurkar, Jeremy Irvin, Kaylie Zhu, Brandon Yang, Hershel Mehta, Tony Duan, Daisy Ding, Aarti Bagul, Curtis Langlotz, Katie Shpanskaya, Matthew P. Lungren, Andrew Y. Ng

We develop an algorithm that can detect pneumonia from chest X-rays at a level exceeding practicing radiologists. Our algorithm, CheXNet, is a 121-layer convolutional neural network trained on ChestX-ray14, currently the largest publicly available chest X-ray dataset, containing over 100,000 frontal-view X-ray images with 14 diseases. Four practicing academic radiologists annotate a test set, on which we compare the performance of CheXNet to that of radiologists. We find that CheXNet exceeds average radiologist performance on the F1 metric. We extend CheXNet to detect all 14 diseases in ChestX-ray14 and achieve state of the art results on all 14 diseases.

PaperPDFCodeCode Syntology ran

In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="1711.05225")

Code

Syntology Ran 7 of 37 code samples harvested from 12 repositories linked to this paper; 30 have no recorded run. Of those that ran: 1 ran · honoured contract; 1 ran · violated contract; 5 ran · our draft was wrong.

By repository: community (archive-listed): 37 samples from 12 repositories, 7 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

47 repositories listed; official and paper-mentioned ones first.

Azure/AzureChestXRay mentioned on GitHubpytorchMIT report
ElliotY-ML/Pneumonia_Detection_ChestX mentioned on GitHubNOASSERTION report
MRD-Git/Medical-Applications mentioned on GitHubMIT report
Mnpr/OC-DeepLearning mentioned on GitHubMIT report
Mnpr/Thoractic-Diseases-Detection mentioned on GitHubMIT report
Mnpr/Thoractic_Disease_Detection mentioned on GitHubMIT report
SenWu/emmental-tutorials mentioned on GitHubpytorchMIT report
Songloading/Image-Classfication-Tasks mentioned on GitHubpytorch report
TheInfamousWayne/CheXNet mentioned on GitHubpytorchGPL-3.0 report
VinGPan/paper_implementations mentioned on GitHubtfMIT report
arnoweng/CheXNet mentioned on GitHubpytorch report
b5510546671/Chest-Xrays-Leaning mentioned on GitHubtfMIT report
brucechou1983/CheXNet-Keras mentioned on GitHubtf report
dreamenwalker/Multi-focusNet mentioned on GitHubtf report
dstrick17/Deep-Learning-Project mentioned on GitHubpytorchMIT report
fatLime/Predict-Lung-Disease mentioned on GitHubtf report
fkochan/deeplearning-notes mentioned on GitHub report
gaetandi/cheXpert mentioned on GitHubpytorch report
gshashank84/CheXNet mentioned on GitHubpytorch report
jm12138/Paddle-CheXNet mentioned on GitHubpaddle report
jrzech/reproduce-chexnet mentioned on GitHubpytorchBSD-3-Clause report
karandesaiii/CheXNet mentioned on GitHubpytorchGPL-3.0 report
liyu10000/pneumoconiosis mentioned on GitHubpytorch report
nsourlos/pneumonia_detection mentioned on GitHub report
odokumaci/pneumonia-rsna mentioned on GitHub report
omrifried/NIH_XRay_Faster_RCNN mentioned on GitHubpytorchnot reachable when probed 2026-09-18 — repositories for recent papers often appear after camera-ready report
omrifried/RSNA_Chest_X-Ray_Faster_RCNN mentioned on GitHubpytorchnot reachable when probed 2026-09-18 — repositories for recent papers often appear after camera-ready report
rahulcoding/CheXNet mentioned on GitHubpytorch report
skaravind/Whatsapp-Radiologist mentioned on GitHubMIT report
thibaultwillmann/CheXNet-Pytorch mentioned on GitHubpytorch report
thtang/CheXNet-with-localization mentioned on GitHubpytorchGPL-3.0 report
trangiabach/Lung-Iris mentioned on GitHubtf report
vkduy19/paper_implementations-master mentioned on GitHubtfMIT report
zoogzog/chexnet mentioned on GitHubpytorch report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

37 samples harvested; 7 ran; 1 honoured the contract we drafted; 30 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.

1ran · honoured contract
1ran · violated contract
5ran · our draft was wrong
30unverified

Licence: 12 of the 37 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.

Harvested from 12 repositories linked to this paper, official or community; each sample names its own and says which. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.

Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.

Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted. community: Not in the archive's code links for this paper; a community repository Syntology harvested. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.

compute_AUCs arnoweng/CheXNet/model.py community (archive-listed) ran · our draft was wrong fingerprinted no licence file found · pointer only · fc2e02e8ee2be889 · report
func rahulcoding/CheXNet/denseNet_localization.py community (archive-listed) ran · violated contract fingerprinted GPL-3.0 (copyleft) · pointer only · 7fc4e9d73fe8bdc0 · report
get_dicom_fps odokumaci/pneumonia-rsna/pnclassify.py community (archive-listed) ran · our draft was wrong fingerprinted no licence file found · pointer only · c64618410ac55c1d · report
get_output_layer brucechou1983/CheXNet-Keras/cam.py community (archive-listed) ran · our draft was wrong MIT (permissive) · 548c0fe9e1ac8315 · report
get_tasks SenWu/emmental-tutorials/glue/download_glue_data.py community (archive-listed) ran · our draft was wrong MIT (permissive) · 18962b43885bc12f · report
lrate_epoch odokumaci/pneumonia-rsna/pnclassify.py community (archive-listed) ran · honoured contract fingerprinted no licence file found · pointer only · a5d85630dbde2484 · report
tile thibaultwillmann/CheXNet-Pytorch/model.py community (archive-listed) ran · our draft was wrong fingerprinted no licence file found · pointer only · 732062e802565311 · report
as_string_b64encoded_pickled Azure/AzureChestXRay/AzureChestXRay_AMLWB/Code/src/score_image_and_cam.py community (archive-listed) unverified MIT recorded; this copy not marked cleared · pointer only · 7c43090ecf7d0f02 · report
build_model Azure/AzureChestXRay/AzureChestXRay_AMLWB/Code/src/azure_chestxray_keras_utils.py community (archive-listed) unverified MIT recorded; this copy not marked cleared · pointer only · a46ebda77ad3d0aa · report
calc_cam jrzech/reproduce-chexnet/visualize_prediction.py community (archive-listed) unverified BSD-3-Clause (permissive) · 7f830b60d3c5b796 · report
caption skaravind/Whatsapp-Radiologist/loreal.py community (archive-listed) unverified MIT (permissive) · 8b83b4cf085aa1e2 · report
ce_loss SenWu/emmental-tutorials/chexnet/task.py community (archive-listed) unverified MIT (permissive) · 463d3f2f4d6be38d · report
ce_loss SenWu/emmental-tutorials/glue/glue_tasks.py community (archive-listed) unverified MIT (permissive) · 188aff3170045ab9 · report
false_positives Mnpr/OC-DeepLearning/Utils/eval_utils.py community (archive-listed) unverified MIT (permissive) · 99e667e09872acea · report
generate_gradcam dstrick17/Deep-Learning-Project/XRay_app/utils/model_utils.py community (archive-listed) unverified MIT (permissive) · 2bd1a227991d09e4 · report
get_data_transforms SenWu/emmental-tutorials/chexnet/transforms.py community (archive-listed) unverified MIT (permissive) · 39ba58dee4170072 · report
get_files_in_dir Azure/AzureChestXRay/AzureChestXRay_AMLWB/Code/src/azure_chestxray_utils.py community (archive-listed) unverified MIT recorded; this copy not marked cleared · pointer only · 72f20cc06cb7434e · report
get_mean_std_per_batch Mnpr/OC-DeepLearning/Utils/img_utils.py community (archive-listed) unverified MIT (permissive) · 9a63d14257252b9a · report
get_roc_curve Mnpr/OC-DeepLearning/Utils/img_utils.py community (archive-listed) unverified MIT (permissive) · d811f5c1c652d270 · report
get_score_and_cam_picture Azure/AzureChestXRay/AzureChestXRay_AMLWB/Code/src/azure_chestxray_cam.py community (archive-listed) unverified MIT recorded; this copy not marked cleared · pointer only · 0f1e64d7ffdfee1e · report
get_tensor SGNovice/Disease-detection-using-chest-xrays/commons.py community (archive-listed) unverified MIT (permissive) · d4a498230f440c39 · report
get_weighted_loss Mnpr/OC-DeepLearning/Utils/loss_utils.py community (archive-listed) unverified MIT (permissive) · b782f8a4ff94df4d · report
load_image Mnpr/OC-DeepLearning/Utils/img_utils.py community (archive-listed) unverified MIT (permissive) · bc1bdcf24dd0d85e · report
load_model dstrick17/Deep-Learning-Project/XRay_app/utils/model_utils.py community (archive-listed) unverified MIT (permissive) · 7ae48b7e9a8d2e9b · report
mila SGNovice/Disease-detection-using-chest-xrays/commons.py community (archive-listed) unverified MIT (permissive) · 0c0269d8f261c2e5 · report
mse_loss SenWu/emmental-tutorials/glue/glue_tasks.py community (archive-listed) unverified MIT (permissive) · 7807bb921c12897c · report
normalize_nd_array Azure/AzureChestXRay/AzureChestXRay_AMLWB/Code/src/azure_chestxray_utils.py community (archive-listed) unverified MIT recorded; this copy not marked cleared · pointer only · 387c1efccf13f7e6 · report
output SenWu/emmental-tutorials/chexnet/task.py community (archive-listed) unverified MIT (permissive) · f5559f1c12f663be · report
output SenWu/emmental-tutorials/glue/glue_tasks.py community (archive-listed) unverified MIT (permissive) · 1ce4ca882a4b2472 · report
plot_cam_results Azure/AzureChestXRay/AzureChestXRay_AMLWB/Code/src/azure_chestxray_cam.py community (archive-listed) unverified MIT recorded; this copy not marked cleared · pointer only · e4aacbed9ef38d69 · report
predict dstrick17/Deep-Learning-Project/XRay_app/utils/model_utils.py community (archive-listed) unverified MIT (permissive) · 1de89e0659407359 · report
preprocess_image dstrick17/Deep-Learning-Project/XRay_app/utils/preprocessing.py community (archive-listed) unverified MIT (permissive) · 0ce6f4b5e608f7a7 · report
show_next jrzech/reproduce-chexnet/visualize_prediction.py community (archive-listed) unverified BSD-3-Clause (permissive) · 831d63f3b9377e8b · report
train_model jrzech/reproduce-chexnet/model.py community (archive-listed) unverified BSD-3-Clause (permissive) · 41e9cbb003cda3c5 · report
true_negatives Mnpr/OC-DeepLearning/Utils/eval_utils.py community (archive-listed) unverified MIT (permissive) · 3fb4e876ce3e9212 · report
true_positives Mnpr/OC-DeepLearning/Utils/eval_utils.py community (archive-listed) unverified MIT (permissive) · 3d0485840aa0f58c · report
unpickled_b64decoded_as_bytes Azure/AzureChestXRay/AzureChestXRay_AMLWB/Code/src/score_image_and_cam.py community (archive-listed) unverified MIT recorded; this copy not marked cleared · pointer only · 494670e9ddb36e8d · report

Tasks

Pneumonia Detection

Results from the paper archive 2025-07-28

TaskDatasetModelMetricValueRank at snapshotLeaderboardReport
Pneumonia Detection ChestX-ray14 CheXNet AUROC 0.844 #3 of 5 Archive leaderboard report
Pneumonia Detection ChestX-ray14 CheXNet FLOPS 2800M #3 of 5 Archive leaderboard report
Pneumonia Detection ChestX-ray14 CheXNet Params 7.0M #3 of 5 Archive leaderboard report

Ranks are positions in the archive's leaderboards as they stood at the 2025-07-28 snapshot. Results published since then are not among these rows, so a rank here is not a current standing.

Methods

Introduced by this paper: CheXNet

1x1 ConvolutionAverage PoolingBatch NormalizationCheXNetConcatenated Skip ConnectionConvolutionDense BlockDense ConnectionsDropoutGlobal Average PoolingKaiming InitializationMax PoolingReLUSoftmax

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections