{"adoption": {"forks": 159, "observed_at": "2026-08-28T04:04:38.655387+00:00", "stars": 1409}, "canonical_url": "https://ross.abutalabs.com/products/gradient_descent_viz", "card": {"archived": false, "artifact_type": "application", "description": "interactive visualization of 5 popular gradient descent methods with step-by-step illustration and hyperparameter tuning UI", "domain": ["machine-learning", "education", "data-visualization", "desktop-applications"], "enriched": true, "function": ["data-visualization", "machine-learning", "gui", "simulation"], "health_score": 20, "homepage": null, "language": "C++", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["lilipads/gradient_descent_viz"], "name": "lilipads/gradient_descent_viz", "platform": ["windows", "cpp", "cross-platform"], "pushed_at": "2024-08-04T02:38:21+00:00", "repo": "lilipads/gradient_descent_viz", "stars": 1409, "tags": ["gradient-descent", "optimization", "qt", "interactive-visualization", "adam", "momentum", "adagrad", "rmsprop", "learning-tool", "macos", "desktop"], "topics": [], "urls": [], "use_cases": ["visualize how adam and rmsprop handle saddle points", "understand the difference between adagrad and rmsprop", "tune learning rate to see effect on gradient descent", "learn gradient descent optimizers interactively", "teaching tool for machine learning optimization methods", "see step-by-step calculation of momentum descent"], "what_it_is": "A cross-platform C++/Qt desktop application that interactively visualizes five popular gradient descent optimization methods (vanilla GD, momentum, AdaGrad, RMSProp, Adam). It offers multiple loss surfaces, hyperparameter tuning, step-by-step animations, and visual elements to build intuition about how each optimizer behaves.", "when_to_avoid": ["you need to run actual optimizer experiments on real datasets or models", "you need a library to embed in your own training code", "you require a web-based or scriptable visualization"], "when_to_choose": ["you want an interactive, visual way to build intuition about gradient descent optimizers", "you are teaching or learning machine learning optimization concepts", "you want to experiment with hyperparameters on different loss surfaces"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/gradient_descent_viz", "repo": "lilipads/gradient_descent_viz", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:38.655387+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:38:32.791972+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc9754466f4905c6f82e62eb9cfc56515ac59f706d67c282136c81f37ebab2c9", "fetched_at": "2026-08-28T04:04:38.655387+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lilipads/gradient_descent_viz"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:38.655387+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:38:32.791972+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc9754466f4905c6f82e62eb9cfc56515ac59f706d67c282136c81f37ebab2c9", "fetched_at": "2026-08-28T04:04:38.655387+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lilipads/gradient_descent_viz"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:38:32.791972+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc9754466f4905c6f82e62eb9cfc56515ac59f706d67c282136c81f37ebab2c9", "fetched_at": "2026-08-28T04:04:38.655387+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lilipads/gradient_descent_viz"}], "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:38.655387+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:38.655387+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:38.655387+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:38:32.791972+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc9754466f4905c6f82e62eb9cfc56515ac59f706d67c282136c81f37ebab2c9", "fetched_at": "2026-08-28T04:04:38.655387+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lilipads/gradient_descent_viz"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:38.655387+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:38.655387+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:38:32.791972+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc9754466f4905c6f82e62eb9cfc56515ac59f706d67c282136c81f37ebab2c9", "fetched_at": "2026-08-28T04:04:38.655387+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lilipads/gradient_descent_viz"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:38.655387+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:38.655387+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:38.655387+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:38:32.791972+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc9754466f4905c6f82e62eb9cfc56515ac59f706d67c282136c81f37ebab2c9", "fetched_at": "2026-08-28T04:04:38.655387+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lilipads/gradient_descent_viz"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:38.655387+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:38.655387+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:38:32.791972+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc9754466f4905c6f82e62eb9cfc56515ac59f706d67c282136c81f37ebab2c9", "fetched_at": "2026-08-28T04:04:38.655387+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lilipads/gradient_descent_viz"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:38:32.791972+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc9754466f4905c6f82e62eb9cfc56515ac59f706d67c282136c81f37ebab2c9", "fetched_at": "2026-08-28T04:04:38.655387+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lilipads/gradient_descent_viz"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:38:32.791972+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc9754466f4905c6f82e62eb9cfc56515ac59f706d67c282136c81f37ebab2c9", "fetched_at": "2026-08-28T04:04:38.655387+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lilipads/gradient_descent_viz"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:38:32.791972+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bc9754466f4905c6f82e62eb9cfc56515ac59f706d67c282136c81f37ebab2c9", "fetched_at": "2026-08-28T04:04:38.655387+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lilipads/gradient_descent_viz"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2285, "days_push": 760, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}