{"adoption": {"forks": 228, "observed_at": "2026-08-28T04:05:59.255678+00:00", "stars": 1959}, "canonical_url": "https://ross.abutalabs.com/products/hopfield-layers", "card": {"archived": false, "artifact_type": "library", "description": "Hopfield Networks is All You Need", "domain": ["deep-learning", "machine-learning"], "enriched": true, "function": ["machine-learning", "deep-learning"], "health_score": 20, "homepage": "https://ml-jku.github.io/hopfield-layers/", "language": "Python", "license": "NOASSERTION", "license_family": "other", "maturity": "maintenance", "member_repos": ["ml-jku/hopfield-layers"], "name": "ml-jku/hopfield-layers", "platform": ["python"], "pushed_at": "2023-04-23T11:59:21+00:00", "repo": "ml-jku/hopfield-layers", "stars": 1959, "tags": ["hopfield-networks", "attention-mechanism", "transformers", "pytorch", "research-code", "associative-memory", "natural-language-processing"], "topics": [], "urls": [], "use_cases": ["implement modern Hopfield networks in PyTorch", "replace or augment transformer attention heads with Hopfield layers", "analyze transformer attention as Hopfield network updates", "build deep learning models with associative memory layers", "classify immune repertoire data with Hopfield-based networks", "experiment with attention mechanisms from the Hopfield Networks is All You Need paper"], "what_it_is": "A PyTorch library implementing modern Hopfield networks with continuous states, whose update rule is equivalent to transformer attention. It provides Hopfield layers (HopfieldLayer, HopfieldPooling, Hopfield lookup) that can be integrated into deep learning architectures.", "when_to_avoid": ["you need a production-grade, actively maintained attention library", "you want a general-purpose transformer implementation rather than research layers", "you do not use PyTorch", "you need commercial support or extensive documentation"], "when_to_choose": ["you want to use or study modern Hopfield layers in PyTorch deep learning models", "you are reproducing or extending the Hopfield Networks is All You Need research", "you need associative memory layers with exponential storage capacity", "you want to experiment with alternatives to standard attention heads"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/hopfield-layers", "repo": "ml-jku/hopfield-layers", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.255678+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:05:58.931515+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4cc1e6eaed8a73c5fe362b1859a1ef048dab991d5af0adf24d2fe3e5ef2f0db", "fetched_at": "2026-08-28T04:05:59.255678+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ml-jku/hopfield-layers"}, {"content_hash": "cf906f722226c3b2c6175d36f25725479ec1d68e1230d991fb0a8ca7bbbc6934", "fetched_at": "2026-08-29T10:45:51.725791+00:00", "kind": "homepage", "missing": false, "url": "https://ml-jku.github.io/hopfield-layers/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.255678+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:05:58.931515+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4cc1e6eaed8a73c5fe362b1859a1ef048dab991d5af0adf24d2fe3e5ef2f0db", "fetched_at": "2026-08-28T04:05:59.255678+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ml-jku/hopfield-layers"}, {"content_hash": "cf906f722226c3b2c6175d36f25725479ec1d68e1230d991fb0a8ca7bbbc6934", "fetched_at": "2026-08-29T10:45:51.725791+00:00", "kind": "homepage", "missing": false, "url": "https://ml-jku.github.io/hopfield-layers/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:05:58.931515+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4cc1e6eaed8a73c5fe362b1859a1ef048dab991d5af0adf24d2fe3e5ef2f0db", "fetched_at": "2026-08-28T04:05:59.255678+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ml-jku/hopfield-layers"}, {"content_hash": "cf906f722226c3b2c6175d36f25725479ec1d68e1230d991fb0a8ca7bbbc6934", "fetched_at": "2026-08-29T10:45:51.725791+00:00", "kind": "homepage", "missing": false, "url": "https://ml-jku.github.io/hopfield-layers/"}], "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:05:59.255678+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.255678+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.255678+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:05:58.931515+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4cc1e6eaed8a73c5fe362b1859a1ef048dab991d5af0adf24d2fe3e5ef2f0db", "fetched_at": "2026-08-28T04:05:59.255678+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ml-jku/hopfield-layers"}, {"content_hash": "cf906f722226c3b2c6175d36f25725479ec1d68e1230d991fb0a8ca7bbbc6934", "fetched_at": "2026-08-29T10:45:51.725791+00:00", "kind": "homepage", "missing": false, "url": "https://ml-jku.github.io/hopfield-layers/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.255678+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.255678+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:05:58.931515+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4cc1e6eaed8a73c5fe362b1859a1ef048dab991d5af0adf24d2fe3e5ef2f0db", "fetched_at": "2026-08-28T04:05:59.255678+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ml-jku/hopfield-layers"}, {"content_hash": "cf906f722226c3b2c6175d36f25725479ec1d68e1230d991fb0a8ca7bbbc6934", "fetched_at": "2026-08-29T10:45:51.725791+00:00", "kind": "homepage", "missing": false, "url": "https://ml-jku.github.io/hopfield-layers/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.255678+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.255678+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.255678+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:05:58.931515+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4cc1e6eaed8a73c5fe362b1859a1ef048dab991d5af0adf24d2fe3e5ef2f0db", "fetched_at": "2026-08-28T04:05:59.255678+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ml-jku/hopfield-layers"}, {"content_hash": "cf906f722226c3b2c6175d36f25725479ec1d68e1230d991fb0a8ca7bbbc6934", "fetched_at": "2026-08-29T10:45:51.725791+00:00", "kind": "homepage", "missing": false, "url": "https://ml-jku.github.io/hopfield-layers/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.255678+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:59.255678+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:05:58.931515+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4cc1e6eaed8a73c5fe362b1859a1ef048dab991d5af0adf24d2fe3e5ef2f0db", "fetched_at": "2026-08-28T04:05:59.255678+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ml-jku/hopfield-layers"}, {"content_hash": "cf906f722226c3b2c6175d36f25725479ec1d68e1230d991fb0a8ca7bbbc6934", "fetched_at": "2026-08-29T10:45:51.725791+00:00", "kind": "homepage", "missing": false, "url": "https://ml-jku.github.io/hopfield-layers/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:05:58.931515+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4cc1e6eaed8a73c5fe362b1859a1ef048dab991d5af0adf24d2fe3e5ef2f0db", "fetched_at": "2026-08-28T04:05:59.255678+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ml-jku/hopfield-layers"}, {"content_hash": "cf906f722226c3b2c6175d36f25725479ec1d68e1230d991fb0a8ca7bbbc6934", "fetched_at": "2026-08-29T10:45:51.725791+00:00", "kind": "homepage", "missing": false, "url": "https://ml-jku.github.io/hopfield-layers/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:05:58.931515+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4cc1e6eaed8a73c5fe362b1859a1ef048dab991d5af0adf24d2fe3e5ef2f0db", "fetched_at": "2026-08-28T04:05:59.255678+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ml-jku/hopfield-layers"}, {"content_hash": "cf906f722226c3b2c6175d36f25725479ec1d68e1230d991fb0a8ca7bbbc6934", "fetched_at": "2026-08-29T10:45:51.725791+00:00", "kind": "homepage", "missing": false, "url": "https://ml-jku.github.io/hopfield-layers/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:05:58.931515+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b4cc1e6eaed8a73c5fe362b1859a1ef048dab991d5af0adf24d2fe3e5ef2f0db", "fetched_at": "2026-08-28T04:05:59.255678+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ml-jku/hopfield-layers"}, {"content_hash": "cf906f722226c3b2c6175d36f25725479ec1d68e1230d991fb0a8ca7bbbc6934", "fetched_at": "2026-08-29T10:45:51.725791+00:00", "kind": "homepage", "missing": false, "url": "https://ml-jku.github.io/hopfield-layers/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2246, "days_push": 1228, "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}}