{"id":28306824,"url":"https://github.com/applied-machine-learning-lab/linrec","last_synced_at":"2025-08-23T11:10:00.120Z","repository":{"id":155947361,"uuid":"631249482","full_name":"Applied-Machine-Learning-Lab/LinRec","owner":"Applied-Machine-Learning-Lab","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-10T02:49:48.000Z","size":7077,"stargazers_count":19,"open_issues_count":5,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-20T04:38:23.236Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Applied-Machine-Learning-Lab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2023-04-22T12:20:33.000Z","updated_at":"2025-04-11T02:50:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"147b6233-c7d9-4d5c-93da-3e5f72eb1f99","html_url":"https://github.com/Applied-Machine-Learning-Lab/LinRec","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Applied-Machine-Learning-Lab/LinRec","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Applied-Machine-Learning-Lab%2FLinRec","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Applied-Machine-Learning-Lab%2FLinRec/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Applied-Machine-Learning-Lab%2FLinRec/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Applied-Machine-Learning-Lab%2FLinRec/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Applied-Machine-Learning-Lab","download_url":"https://codeload.github.com/Applied-Machine-Learning-Lab/LinRec/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Applied-Machine-Learning-Lab%2FLinRec/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267867817,"owners_count":24157356,"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","status":"online","status_checked_at":"2025-07-30T02:00:09.044Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2025-05-24T04:12:46.486Z","updated_at":"2025-07-30T12:34:42.625Z","avatar_url":"https://github.com/Applied-Machine-Learning-Lab.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LinRec\n\nSource code of [LinRec: Linear Attention Mechanism for Long-term Sequential Recommender Systems](https://dl.acm.org/doi/10.1145/3539618.3591717)\n\nAll files are conducted in the RecBole framework, and the link to RecBole is [https://github.com/RUCAIBox/RecBole](https://github.com/RUCAIBox/RecBole).\n## Environments\nThe requirements are the same as RecBole as below: \u003cbr\u003e\ntorch\u003e=1.10.0 \u003cbr\u003e\nnumpy\u003e=1.17.2 \u003cbr\u003e\nscipy\u003e=1.6.0 \u003cbr\u003e\nhyperopt==0.2.5 \u003cbr\u003e\npandas\u003e=1.0.5 \u003cbr\u003e\ntqdm\u003e=4.48.2 \u003cbr\u003e\nscikit_learn\u003e=0.23.2 \u003cbr\u003e\npyyaml\u003e=5.1.0 \u003cbr\u003e\ncolorlog==4.7.2 \u003cbr\u003e\ncolorama==0.4.4 \u003cbr\u003e\ntensorboard\u003e=2.5.0 \u003cbr\u003e\nthop\u003e=0.1.1.post2207130030 \u003cbr\u003e\nray\u003e=1.13.0 \u003cbr\u003e\ntabulate\u003e=0.8.10  \u003cbr\u003e\nplotly\u003e=4.0.0 \u003cbr\u003e\nRecBole requires Python version 3.7 or later.\nRecBole requires torch version 1.7.0 or later. If you want to use RecBole with GPU,\nplease ensure that CUDA or cudatoolkit version is 9.2 or later.\nThis requires NVIDIA driver version \u003e= 396.26 (for Linux) or \u003e= 397.44 (for Windows 10).\n## Implementations\nThen, you may substitute the 'layers.py' file ('recbole/model') in Recbole. \n\n- Config: Other special configuration files (e.g., 'overall.yaml', 'ml-1m.yaml') are included. You must replace them in RecBole ('overall.yaml' -\u003e 'recbole/properties/'; 'ml-1m.yaml' -\u003e 'recbole/properties/dataset/'). Otherwise, errors may occur.\n\n- Data: You have to download the datasets to be used: e.g., **ml-100k**, **ml-1m**, **gowalla**, where we provide the **ml-1m** for convenience. Then put the downloaded dataset into the 'dataset/' directory in Recbole, like **ml-100k**.\n\n- Hyperpara: The most critical parameters are $N$ ('MAX_ITEM_LIST_LENGTH') and $d$ ('hidden_size'), which are set in 'ml-1m.yaml' and 'run.py'. Please make sure the values conform to settings in the paper, e.g., $N=200$, $d=128$ for the ml-1m dataset.\n\nNow, You can run the **run.py** file for a quick start.\nYou can follow the instructions of RecBole for other operations. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapplied-machine-learning-lab%2Flinrec","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapplied-machine-learning-lab%2Flinrec","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapplied-machine-learning-lab%2Flinrec/lists"}