{"adoption": {"forks": 279, "observed_at": "2026-08-28T04:04:11.049309+00:00", "stars": 1265}, "canonical_url": "https://ross.abutalabs.com/products/model-analysis", "card": {"archived": false, "artifact_type": "library", "description": "Model analysis tools for TensorFlow", "domain": ["machine-learning", "data-science", "analytics", "developer-tools"], "enriched": true, "function": ["machine-learning", "data-visualization", "analytics", "benchmarking"], "health_score": 98, "homepage": null, "language": "Python", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["tensorflow/model-analysis"], "name": "tensorflow/model-analysis", "platform": ["python", "cross-platform"], "pushed_at": "2026-08-14T20:41:19+00:00", "repo": "tensorflow/model-analysis", "stars": 1265, "tags": ["tensorflow", "model-evaluation", "tfma", "tfx", "slicing-metrics", "jupyter", "fairness-indicators"], "topics": [], "urls": [], "use_cases": ["evaluate tensorflow models on large datasets", "compute model metrics over data slices", "visualize model evaluation results in jupyter notebooks", "compare model performance across subgroups", "detect model bias with fairness metrics", "integrate model evaluation into tfx pipelines"], "what_it_is": "TensorFlow Model Analysis (TFMA) is a Python library for evaluating TensorFlow models on large datasets in a distributed manner. It computes trainer-defined metrics over different data slices and visualizes results, e.g., in Jupyter notebooks.", "when_to_avoid": ["your models are built with PyTorch, JAX, or scikit-learn rather than TensorFlow", "you only need simple evaluation on small datasets where a single-machine library suffices", "you need a stable 1.0 API since TFMA may introduce breaking changes before 1.0"], "when_to_choose": ["you train models with TensorFlow and want consistent metrics between training and evaluation", "you need distributed evaluation over large datasets", "you want slice-based analysis or fairness metrics for model debugging"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/model-analysis", "repo": "tensorflow/model-analysis", "role": "main", "score": 83}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.049309+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T05:04:00.574832+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6a44f6be777573a00755d5257198171fd940a5412103d7f3a95e57149204a917", "fetched_at": "2026-08-28T04:04:11.049309+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tensorflow/model-analysis"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.049309+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T05:04:00.574832+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6a44f6be777573a00755d5257198171fd940a5412103d7f3a95e57149204a917", "fetched_at": "2026-08-28T04:04:11.049309+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tensorflow/model-analysis"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T05:04:00.574832+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6a44f6be777573a00755d5257198171fd940a5412103d7f3a95e57149204a917", "fetched_at": "2026-08-28T04:04:11.049309+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tensorflow/model-analysis"}], "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:04:11.049309+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.049309+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.049309+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T05:04:00.574832+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6a44f6be777573a00755d5257198171fd940a5412103d7f3a95e57149204a917", "fetched_at": "2026-08-28T04:04:11.049309+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tensorflow/model-analysis"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.049309+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.049309+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T05:04:00.574832+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6a44f6be777573a00755d5257198171fd940a5412103d7f3a95e57149204a917", "fetched_at": "2026-08-28T04:04:11.049309+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tensorflow/model-analysis"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.049309+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.049309+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.049309+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T05:04:00.574832+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6a44f6be777573a00755d5257198171fd940a5412103d7f3a95e57149204a917", "fetched_at": "2026-08-28T04:04:11.049309+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tensorflow/model-analysis"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.049309+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.049309+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T05:04:00.574832+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6a44f6be777573a00755d5257198171fd940a5412103d7f3a95e57149204a917", "fetched_at": "2026-08-28T04:04:11.049309+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tensorflow/model-analysis"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T05:04:00.574832+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6a44f6be777573a00755d5257198171fd940a5412103d7f3a95e57149204a917", "fetched_at": "2026-08-28T04:04:11.049309+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tensorflow/model-analysis"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T05:04:00.574832+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6a44f6be777573a00755d5257198171fd940a5412103d7f3a95e57149204a917", "fetched_at": "2026-08-28T04:04:11.049309+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tensorflow/model-analysis"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T05:04:00.574832+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6a44f6be777573a00755d5257198171fd940a5412103d7f3a95e57149204a917", "fetched_at": "2026-08-28T04:04:11.049309+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tensorflow/model-analysis"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 97, "longevity": 100, "rhythm": 56}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3085, "days_push": 19, "days_rel": 82, "gap_med": 207, "n_releases_24m": 4}, "score": 83, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}