{"adoption": {"forks": 110, "observed_at": "2026-08-28T04:03:19.505925+00:00", "stars": 1037}, "canonical_url": "https://ross.abutalabs.com/products/tf-explain", "card": {"archived": false, "artifact_type": "library", "description": "Interpretability Methods for tf.keras models with Tensorflow 2.x", "domain": ["deep-learning", "machine-learning", "computer-vision", "data-visualization"], "enriched": true, "function": ["machine-learning", "data-visualization", "deep-learning"], "health_score": 20, "homepage": "https://tf-explain.readthedocs.io", "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["sicara/tf-explain"], "name": "sicara/tf-explain", "platform": ["python", "cross-platform"], "pushed_at": "2024-06-03T10:38:45+00:00", "repo": "sicara/tf-explain", "stars": 1037, "tags": ["interpretability", "explainable-ai", "tensorflow", "keras", "grad-cam", "neural-network-visualization", "callbacks", "gpu"], "topics": ["interpretability", "deep-learning", "tensorflow", "tf2", "keras", "visualization", "machine-learning"], "urls": [], "use_cases": ["explain why a keras image classifier made a prediction", "visualize grad cam heatmaps for a tensorflow model", "interpret neural network predictions during training", "apply occlusion sensitivity to a tf.keras model", "understand which image regions activate a CNN", "log interpretability visualizations to tensorboard"], "what_it_is": "tf-explain is a Python library implementing interpretability methods (Grad CAM, occlusion sensitivity, vanilla gradients, etc.) for tf.keras models as TensorFlow 2.x callbacks. It lets you explain neural network predictions either on trained models or during training with results logged to TensorBoard.", "when_to_avoid": ["you work with PyTorch or other frameworks - it is TensorFlow 2.x only", "you need explainability for NLP or tabular models - methods are image-focused", "you need actively developed features - the project is in maintenance mode with infrequent releases"], "when_to_choose": ["you use TensorFlow 2.x / Keras and need explainability methods like Grad CAM or occlusion sensitivity", "you want interpretability visualizations both post-training and as training callbacks", "you prefer a lightweight pip-installable library over building explainability code yourself"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/tf-explain", "repo": "sicara/tf-explain", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.505925+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:04:24.481892+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2a8a5c86b1322f845aaae9d6285de3f494453548823855b15dffdd6a90e5168", "fetched_at": "2026-08-28T04:03:19.505925+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sicara/tf-explain"}, {"content_hash": "bae4d144bf2352aea101d5862bba2c4a898668352788ba32cd4028f98a64137a", "fetched_at": "2026-08-29T13:06:05.807194+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/tf-explain/json"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.505925+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:04:24.481892+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2a8a5c86b1322f845aaae9d6285de3f494453548823855b15dffdd6a90e5168", "fetched_at": "2026-08-28T04:03:19.505925+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sicara/tf-explain"}, {"content_hash": "bae4d144bf2352aea101d5862bba2c4a898668352788ba32cd4028f98a64137a", "fetched_at": "2026-08-29T13:06:05.807194+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/tf-explain/json"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:04:24.481892+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2a8a5c86b1322f845aaae9d6285de3f494453548823855b15dffdd6a90e5168", "fetched_at": "2026-08-28T04:03:19.505925+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sicara/tf-explain"}, {"content_hash": "bae4d144bf2352aea101d5862bba2c4a898668352788ba32cd4028f98a64137a", "fetched_at": "2026-08-29T13:06:05.807194+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/tf-explain/json"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.505925+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.505925+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.505925+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:04:24.481892+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2a8a5c86b1322f845aaae9d6285de3f494453548823855b15dffdd6a90e5168", "fetched_at": "2026-08-28T04:03:19.505925+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sicara/tf-explain"}, {"content_hash": "bae4d144bf2352aea101d5862bba2c4a898668352788ba32cd4028f98a64137a", "fetched_at": "2026-08-29T13:06:05.807194+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/tf-explain/json"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.505925+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.505925+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:04:24.481892+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2a8a5c86b1322f845aaae9d6285de3f494453548823855b15dffdd6a90e5168", "fetched_at": "2026-08-28T04:03:19.505925+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sicara/tf-explain"}, {"content_hash": "bae4d144bf2352aea101d5862bba2c4a898668352788ba32cd4028f98a64137a", "fetched_at": "2026-08-29T13:06:05.807194+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/tf-explain/json"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.505925+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.505925+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.505925+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:04:24.481892+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2a8a5c86b1322f845aaae9d6285de3f494453548823855b15dffdd6a90e5168", "fetched_at": "2026-08-28T04:03:19.505925+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sicara/tf-explain"}, {"content_hash": "bae4d144bf2352aea101d5862bba2c4a898668352788ba32cd4028f98a64137a", "fetched_at": "2026-08-29T13:06:05.807194+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/tf-explain/json"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.505925+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:19.505925+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:04:24.481892+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2a8a5c86b1322f845aaae9d6285de3f494453548823855b15dffdd6a90e5168", "fetched_at": "2026-08-28T04:03:19.505925+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sicara/tf-explain"}, {"content_hash": "bae4d144bf2352aea101d5862bba2c4a898668352788ba32cd4028f98a64137a", "fetched_at": "2026-08-29T13:06:05.807194+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/tf-explain/json"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:04:24.481892+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2a8a5c86b1322f845aaae9d6285de3f494453548823855b15dffdd6a90e5168", "fetched_at": "2026-08-28T04:03:19.505925+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sicara/tf-explain"}, {"content_hash": "bae4d144bf2352aea101d5862bba2c4a898668352788ba32cd4028f98a64137a", "fetched_at": "2026-08-29T13:06:05.807194+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/tf-explain/json"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:04:24.481892+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2a8a5c86b1322f845aaae9d6285de3f494453548823855b15dffdd6a90e5168", "fetched_at": "2026-08-28T04:03:19.505925+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sicara/tf-explain"}, {"content_hash": "bae4d144bf2352aea101d5862bba2c4a898668352788ba32cd4028f98a64137a", "fetched_at": "2026-08-29T13:06:05.807194+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/tf-explain/json"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:04:24.481892+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c2a8a5c86b1322f845aaae9d6285de3f494453548823855b15dffdd6a90e5168", "fetched_at": "2026-08-28T04:03:19.505925+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sicara/tf-explain"}, {"content_hash": "bae4d144bf2352aea101d5862bba2c4a898668352788ba32cd4028f98a64137a", "fetched_at": "2026-08-29T13:06:05.807194+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/tf-explain/json"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2606, "days_push": 821, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}