{"id":20886470,"url":"https://github.com/gsurma/cnn_explainer","last_synced_at":"2025-05-12T19:32:24.647Z","repository":{"id":90787500,"uuid":"326383393","full_name":"gsurma/cnn_explainer","owner":"gsurma","description":"Making CNNs interpretable.","archived":false,"fork":false,"pushed_at":"2021-07-09T08:49:18.000Z","size":58005,"stargazers_count":19,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-01T10:14:34.980Z","etag":null,"topics":["artificial-intelligence","cnn","cnn-classification","cnn-explainer","convolutional-neural-network","convolutional-neural-networks","explainable-ai","gradcam","gradcam-heatmap","gradcam-visualization","heatmaps","imagenet","imagenet-classifier","interpretability","machine-learning","occlusion","occlusions","python","pytorch"],"latest_commit_sha":null,"homepage":"https://gsurma.github.io","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gsurma.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"patreon":"gsurma"}},"created_at":"2021-01-03T10:46:29.000Z","updated_at":"2024-11-06T14:38:47.000Z","dependencies_parsed_at":null,"dependency_job_id":"b8c051e5-5820-4eb7-a800-8ec5b5b6a046","html_url":"https://github.com/gsurma/cnn_explainer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gsurma%2Fcnn_explainer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gsurma%2Fcnn_explainer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gsurma%2Fcnn_explainer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gsurma%2Fcnn_explainer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gsurma","download_url":"https://codeload.github.com/gsurma/cnn_explainer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253808319,"owners_count":21967526,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["artificial-intelligence","cnn","cnn-classification","cnn-explainer","convolutional-neural-network","convolutional-neural-networks","explainable-ai","gradcam","gradcam-heatmap","gradcam-visualization","heatmaps","imagenet","imagenet-classifier","interpretability","machine-learning","occlusion","occlusions","python","pytorch"],"created_at":"2024-11-18T08:17:04.900Z","updated_at":"2025-05-12T19:32:24.639Z","avatar_url":"https://github.com/gsurma.png","language":"Jupyter Notebook","funding_links":["https://patreon.com/gsurma"],"categories":[],"sub_categories":[],"readme":"\u003ch3 align=\"center\"\u003e\n  \u003cimg src=\"assets/cnn_explainer_icon_web.png\" width=\"300\"\u003e\n\u003c/h3\u003e\n\n# CNN Explainer\n\nCNN Explainer is PyTorch based project that aims to make CNN's predictions explainable.\n\nCheck the corresponding articles:\n\u003cbr\u003e\n[CNN Explainer - Interpreting Convolutional Neural Networks (1/N) Generating Area Importance Heatmaps with Occlusions](https://gsurma.medium.com/cnn-explainer-interpreting-convolutional-neural-networks-1-n-e81c62cbb660)\n\u003cbr\u003e\n[CNN Explainer - Interpreting Convolutional Neural Networks (2/N) Visualizing Gradient Weighted Class Activations with GradCAM](https://gsurma.medium.com/cnn-explainer-interpreting-convolutional-neural-networks-2-n-18e40a03eae2)\n\u003cbr\u003e\n[CNN Explainer - Interpreting Convolutional Neural Networks (3/N) Visualizing Boosted Convolutional Features](https://gsurma.medium.com/cnn-explainer-interpreting-convolutional-neural-networks-3-n-de0b348caff)\n\u003cbr\u003e\n\n## Boosted Features Visualizations\n[Notebook](cnn_features_visualizations.ipynb)\n\n\u003cimg src=\"test_images/candle.jpg\" width=224\u003e\n\u003cimg src=\"features_visualizations/candle.png\" width=224\u003e\n\n---\n\n\u003cimg src=\"test_images/toucan.jpg\" width=224\u003e\n\u003cimg src=\"features_visualizations/toucan.png\" width=224\u003e\n\n---\n\n\u003cimg src=\"test_images/baseball.jpg\" width=224\u003e\n\u003cimg src=\"features_visualizations/baseball.png\" width=224\u003e\n\n---\n\n\u003cimg src=\"test_images/chain.jpg\" width=224\u003e\n\u003cimg src=\"features_visualizations/chain.png\" width=224\u003e\n\n---\n\n\u003cimg src=\"test_images/claw.jpg\" width=224\u003e\n\u003cimg src=\"features_visualizations/claw.png\" width=224\u003e\n\n---\n\n\u003cimg src=\"test_images/knot.jpg\" width=224\u003e\n\u003cimg src=\"features_visualizations/knot.png\" width=224\u003e\n\n---\n\n\u003cimg src=\"test_images/mug.jpg\" width=224\u003e\n\u003cimg src=\"features_visualizations/mug.png\" width=224\u003e\n\n---\n\n\u003cimg src=\"test_images/screw.jpg\" width=224\u003e\n\u003cimg src=\"features_visualizations/screw.png\" width=224\u003e\n\n---\n\n\u003cimg src=\"test_images/stingray.jpg\" width=224\u003e\n\u003cimg src=\"features_visualizations/stingray.png\" width=224\u003e\n\n---\n\n\u003cimg src=\"test_images/tarantula.jpg\" width=224\u003e\n\u003cimg src=\"features_visualizations/tarantula.png\" width=224\u003e\n\n---\n\n\u003cimg src=\"test_images/trombone.jpg\" width=224\u003e\n\u003cimg src=\"features_visualizations/trombone.png\" width=224\u003e\n\n---\n\n\n## GradCAM Heatmaps\n[Notebook](cnn_gradcam_heatmaps.ipynb)\n\nSubmarine\n\u003cbr\u003e\n\u003cimg src=\"gradcam_heatmaps/gradcam_overlay_submarine.png\"\u003e\n\n\u003cbr\u003e\n\nAircraft Carrier\n\u003cbr\u003e\n\u003cimg src=\"gradcam_heatmaps/gradcam_overlay_aircraft_carrier.png\"\u003e\n\n\n\n## Area Importance Heatmaps with Occlusions\n[Notebook](cnn_area_importance_heatmaps.ipynb)\n\n\u003cimg src=\"area_importance_heatmaps/basketball_annotated.png\"\u003e\n\n---\n\n\n\u003cimg src=\"area_importance_heatmaps/submarine_annotated.png\"\u003e\n\n---\n\n\n\u003cimg src=\"area_importance_heatmaps/zebra_annotated.png\"\u003e\n\n---\n\n\n\u003cimg src=\"area_importance_heatmaps/pineapple_annotated.png\"\u003e\n\n---\n\n\n## Author\n\n**Greg (Grzegorz) Surma**\n\n[**PORTFOLIO**](https://gsurma.github.io)\n\n[**GITHUB**](https://github.com/gsurma)\n\n[**BLOG**](https://medium.com/@gsurma)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgsurma%2Fcnn_explainer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgsurma%2Fcnn_explainer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgsurma%2Fcnn_explainer/lists"}