torch-rechub 0.1.0__tar.gz → 0.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/CHANGELOG.md +41 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/PKG-INFO +31 -18
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/README.md +29 -16
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/README_en.md +88 -73
- torch_rechub-0.3.0/docs/en/community/changelog.md +9 -0
- torch_rechub-0.3.0/docs/en/community/contributing.md +177 -0
- torch_rechub-0.3.0/docs/en/community/faq.md +82 -0
- torch_rechub-0.3.0/docs/en/core/data.md +159 -0
- torch_rechub-0.3.0/docs/en/guide/install.md +94 -0
- torch_rechub-0.3.0/docs/en/guide/intro.md +97 -0
- torch_rechub-0.3.0/docs/en/guide/quick_start.md +287 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/en/index.md +2 -2
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/en/manual/tutorials/matching.md +5 -5
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/en/manual/tutorials/multi-task.md +5 -5
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/en/manual/tutorials/ranking.md +3 -3
- torch_rechub-0.3.0/docs/en/models/generative.md +310 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/en/models/intro.md +4 -0
- torch_rechub-0.3.0/docs/en/models/matching.md +840 -0
- torch_rechub-0.3.0/docs/en/models/mtl.md +451 -0
- torch_rechub-0.3.0/docs/en/models/ranking.md +677 -0
- torch_rechub-0.3.0/docs/en/serving/demo.md +110 -0
- torch_rechub-0.3.0/docs/en/serving/intro.md +85 -0
- torch_rechub-0.3.0/docs/en/serving/onnx.md +84 -0
- torch_rechub-0.3.0/docs/en/serving/vector_index.md +475 -0
- torch_rechub-0.3.0/docs/en/tools/callbacks.md +155 -0
- torch_rechub-0.3.0/docs/en/tools/intro.md +144 -0
- torch_rechub-0.3.0/docs/en/tools/tracking.md +276 -0
- torch_rechub-0.3.0/docs/en/tools/visualization.md +228 -0
- torch_rechub-0.3.0/docs/en/tutorials/ctr.md +205 -0
- torch_rechub-0.3.0/docs/en/tutorials/intro.md +50 -0
- torch_rechub-0.3.0/docs/en/tutorials/pipeline.md +194 -0
- torch_rechub-0.3.0/docs/en/tutorials/retrieval.md +207 -0
- torch_rechub-0.3.0/docs/public/favicon.ico +0 -0
- torch_rechub-0.3.0/docs/public/img/logo.png +0 -0
- torch_rechub-0.3.0/docs/public/img/project_framework.png +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/zh/core/data.md +76 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/zh/guide/intro.md +1 -1
- torch_rechub-0.3.0/docs/zh/guide/quick_start.md +287 -0
- torch_rechub-0.3.0/docs/zh/serving/demo.md +111 -0
- torch_rechub-0.3.0/docs/zh/serving/intro.md +86 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/zh/serving/onnx.md +10 -0
- torch_rechub-0.3.0/docs/zh/serving/vector_index.md +475 -0
- torch_rechub-0.3.0/docs/zh/tools/callbacks.md +155 -0
- torch_rechub-0.3.0/docs/zh/tools/intro.md +144 -0
- torch_rechub-0.3.0/docs/zh/tools/tracking.md +276 -0
- torch_rechub-0.3.0/docs/zh/tools/visualization.md +233 -0
- torch_rechub-0.3.0/docs/zh/tutorials/ctr.md +206 -0
- torch_rechub-0.3.0/docs/zh/tutorials/intro.md +51 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/zh/tutorials/pipeline.md +5 -5
- torch_rechub-0.3.0/docs/zh/tutorials/retrieval.md +208 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/generative/run_hllm_amazon_books.py +9 -1
- torch_rechub-0.3.0/examples/serving/benchmark_onnx_quantization.py +105 -0
- torch_rechub-0.3.0/examples/serving/quantize_onnx.py +42 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/pyproject.toml +2 -2
- torch_rechub-0.3.0/tests/test_inbatch_sampling.py +78 -0
- torch_rechub-0.3.0/tests/test_onnx_quantization.py +82 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/basic/layers.py +15 -9
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/basic/loss_func.py +10 -4
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/models/matching/narm.py +43 -20
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/models/matching/sasrec.py +55 -5
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/models/matching/stamp.py +43 -15
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/trainers/match_trainer.py +54 -6
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/utils/data.py +28 -12
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/utils/match.py +61 -1
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/tutorials/Matching.ipynb +96 -122
- torch_rechub-0.1.0/docs/en/community/changelog.md +0 -0
- torch_rechub-0.1.0/docs/en/community/contributing.md +0 -0
- torch_rechub-0.1.0/docs/en/community/faq.md +0 -0
- torch_rechub-0.1.0/docs/en/core/data.md +0 -86
- torch_rechub-0.1.0/docs/en/guide/install.md +0 -0
- torch_rechub-0.1.0/docs/en/guide/intro.md +0 -0
- torch_rechub-0.1.0/docs/en/guide/quick_start.md +0 -0
- torch_rechub-0.1.0/docs/en/introduction.md +0 -78
- torch_rechub-0.1.0/docs/en/models/generative.md +0 -128
- torch_rechub-0.1.0/docs/en/models/matching.md +0 -72
- torch_rechub-0.1.0/docs/en/models/mtl.md +0 -57
- torch_rechub-0.1.0/docs/en/models/ranking.md +0 -69
- torch_rechub-0.1.0/docs/en/serving/demo.md +0 -0
- torch_rechub-0.1.0/docs/en/serving/intro.md +0 -0
- torch_rechub-0.1.0/docs/en/serving/onnx.md +0 -0
- torch_rechub-0.1.0/docs/en/serving/vector_index.md +0 -0
- torch_rechub-0.1.0/docs/en/tools/callbacks.md +0 -0
- torch_rechub-0.1.0/docs/en/tools/intro.md +0 -0
- torch_rechub-0.1.0/docs/en/tools/tracking.md +0 -112
- torch_rechub-0.1.0/docs/en/tools/visualization.md +0 -0
- torch_rechub-0.1.0/docs/en/tutorials/ctr.md +0 -0
- torch_rechub-0.1.0/docs/en/tutorials/intro.md +0 -0
- torch_rechub-0.1.0/docs/en/tutorials/pipeline.md +0 -0
- torch_rechub-0.1.0/docs/en/tutorials/retrieval.md +0 -0
- torch_rechub-0.1.0/docs/public/favicon.ico +0 -0
- torch_rechub-0.1.0/docs/public/img/logo.png +0 -0
- torch_rechub-0.1.0/docs/zh/guide/quick_start.md +0 -71
- torch_rechub-0.1.0/docs/zh/serving/demo.md +0 -9
- torch_rechub-0.1.0/docs/zh/serving/intro.md +0 -9
- torch_rechub-0.1.0/docs/zh/serving/vector_index.md +0 -9
- torch_rechub-0.1.0/docs/zh/tools/callbacks.md +0 -9
- torch_rechub-0.1.0/docs/zh/tools/intro.md +0 -9
- torch_rechub-0.1.0/docs/zh/tools/tracking.md +0 -111
- torch_rechub-0.1.0/docs/zh/tools/visualization.md +0 -9
- torch_rechub-0.1.0/docs/zh/tutorials/ctr.md +0 -186
- torch_rechub-0.1.0/docs/zh/tutorials/intro.md +0 -9
- torch_rechub-0.1.0/docs/zh/tutorials/retrieval.md +0 -155
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/.github/ISSUE_TEMPLATE/help_wanted.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/.github/dependabot.yml +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/.github/pull_request_template.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/.github/release.yml +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/.github/workflows/ci.yml +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/.github/workflows/deploy.yml +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/.gitignore +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/.pre-commit-config.yaml +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/CODE_OF_CONDUCT.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/CONTRIBUTING.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/LICENSE +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/config/.flake8 +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/config/.pep8 +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/config/.pre-commit-config.yaml +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/config/CONFIG_GUIDE.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/config/fix_encoding.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/config/format_code.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/config/pytest.ini +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/.vitepress/config.mts +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/.vitepress/theme/custom.css +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/.vitepress/theme/index.ts +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/.vitepress/theme/style.css +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/cache/api-basic.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/cache/api-models.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/cache/api-trainers.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/cache/api-utils.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/cache/hllm_reproduction.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/cache/hstu_reproduction.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/cache/match.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/cache/rank.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/cache//345/217/202/350/200/203/350/265/204/346/226/231.md" +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/en/api/api.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/en/blog/hllm_reproduction.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/en/blog/match.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/en/blog/rank.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/en/contributing.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/en/core/evaluation.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/en/core/features.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/en/core/intro.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/en/manual/api-reference/basic.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/en/manual/api-reference/models.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/en/manual/api-reference/trainers.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/en/manual/api-reference/utils.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/en/manual/faq.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/en/manual/getting-started.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/en/manual/installation.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/public/img/banner.png +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/public/img/logo_with_name.png +0 -0
- /torch_rechub-0.1.0/docs/public/img/project_framework.jpg → /torch_rechub-0.3.0/docs/public/img/project_framework_old.jpg +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/public/img/win_install_annoy_error.png +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/public/pdf/1606.07792_l8JrVnuYXA.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/public/pdf/1703.04247_sFSyE7q3U1.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/public/pdf/1706.06978_0xZD_K10S2.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/public/pdf/1708.05123_f3lKSqxIvw.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/public/pdf/1711.00165_eosOSOmTfE.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/public/pdf/1804.07931_ybf_jOAFRp.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/public/pdf/1808.09781-3_bmRm284Rxd.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/public/pdf/1808.09781v1.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/public/pdf/1905.06336_2oH3RMtROA.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/public/pdf/2006.11632_qiN67CrHNs.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/public/pdf/2020 (Tencent) (Recsys) [PLE] Progressive Layered .pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/public/pdf/2102.09267_cdwBFKPCrj.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/public/pdf/2105.08489-2_XnVVGxN9GG.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/public/pdf/2203.06801v1-3_qUTY4TbvSL.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/public/pdf/2959100.2959190_jRzTU81Xmq.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/public/pdf/3219819.3219950_aTMFXHL3JB.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/public/pdf/3219819.3220007_zvaZg_CZ6z.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/public/pdf/4545-Article Text-7584-1-10-20190706.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/public/pdf/6c8a86c981a62b0126a11896b7f6ae0dae4c3566_1QYYhqJR8.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/public/pdf/Caruana1997_Article_MultitaskLearning_ySprcjzJ6v.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/public/pdf/DCN V2 Improved Deep & Cross Network and Practical.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/public/pdf/cikm2013_DSSM_fullversion_c9ZSdM19XJ.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/zh/api/api.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/zh/community/changelog.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/zh/community/contributing.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/zh/community/faq.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/zh/core/evaluation.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/zh/core/features.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/zh/core/intro.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/zh/guide/install.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/zh/index.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/zh/models/generative.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/zh/models/intro.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/zh/models/matching.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/zh/models/mtl.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/docs/zh/models/ranking.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/generative/data/amazon-books/README.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/generative/data/amazon-books/preprocess_amazon_books.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/generative/data/amazon-books/preprocess_amazon_books_hllm.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/generative/data/ml-1m/README +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/generative/data/ml-1m/preprocess_hllm_data.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/generative/data/ml-1m/preprocess_ml_hstu.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/generative/run_hllm_movielens.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/generative/run_hstu_movielens.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/matching/README.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/matching/data/million-song-dataset/process_msd.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/matching/data/ml-1m/preprocess_ml.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/matching/data/session_based/preprocess_session_based.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/matching/data/yidian_news/preprocess.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/matching/movielens_utils.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/matching/run_ml_comirec.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/matching/run_ml_dssm.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/matching/run_ml_facebook_dssm.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/matching/run_ml_gru4rec.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/matching/run_ml_mind.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/matching/run_ml_sine.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/matching/run_ml_youtube_dnn.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/matching/run_ml_youtube_sbc.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/matching/run_sbr.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/ranking/README.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/ranking/data/ali-ccp/preprocess_ali_ccp.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/ranking/data/amazon-beauty/preprocess_amazon_beauty.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/ranking/data/amazon-books/preprocess_amazon_books.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/ranking/data/amazon-electronics/preprocess_amazon_electronics.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/ranking/data/avazu/download_avazu.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/ranking/data/census-income/preprocess_census.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/ranking/run_ali_ccp_ctr_ranking.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/ranking/run_ali_ccp_multi_task.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/ranking/run_aliexpress.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/ranking/run_amazon_electronics.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/ranking/run_avazu.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/ranking/run_census.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/ranking/run_criteo.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/ranking/run_gradnorm.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/examples/ranking/run_metabalance.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/package-lock.json +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/package.json +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/tests/test_e2e_matching.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/tests/test_e2e_multitask.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/tests/test_e2e_ranking.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/tests/test_onnx_export.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/tests/test_pa_array_to_tensor.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/tests/test_parquet_dataset.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/tests/test_regularization.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/tests/test_serving.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/__init__.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/basic/__init__.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/basic/activation.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/basic/callback.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/basic/features.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/basic/initializers.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/basic/metaoptimizer.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/basic/metric.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/basic/tracking.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/data/__init__.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/data/convert.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/data/dataset.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/models/__init__.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/models/generative/__init__.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/models/generative/hllm.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/models/generative/hstu.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/models/matching/__init__.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/models/matching/comirec.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/models/matching/dssm.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/models/matching/dssm_facebook.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/models/matching/dssm_senet.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/models/matching/gru4rec.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/models/matching/mind.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/models/matching/sine.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/models/matching/youtube_dnn.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/models/matching/youtube_sbc.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/models/multi_task/__init__.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/models/multi_task/aitm.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/models/multi_task/esmm.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/models/multi_task/mmoe.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/models/multi_task/ple.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/models/multi_task/shared_bottom.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/models/ranking/__init__.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/models/ranking/afm.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/models/ranking/autoint.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/models/ranking/bst.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/models/ranking/dcn.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/models/ranking/dcn_v2.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/models/ranking/deepffm.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/models/ranking/deepfm.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/models/ranking/dien.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/models/ranking/din.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/models/ranking/edcn.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/models/ranking/fibinet.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/models/ranking/widedeep.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/serving/__init__.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/serving/annoy.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/serving/base.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/serving/faiss.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/serving/milvus.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/trainers/__init__.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/trainers/ctr_trainer.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/trainers/mtl_trainer.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/trainers/seq_trainer.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/types.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/utils/__init__.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/utils/hstu_utils.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/utils/model_utils.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/utils/mtl.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/utils/onnx_export.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/utils/quantization.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/torch_rechub/utils/visualization.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/tutorials/00_QuickStart_CTR_DeepFM.ipynb +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/tutorials/01_Ranking_DIN.ipynb +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/tutorials/02_Matching_DSSM.ipynb +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/tutorials/03_MultiTask_MMOE.ipynb +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/tutorials/04_Experiment_Tracking_Light.ipynb +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/tutorials/05_Model_Export_and_Serving.ipynb +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/tutorials/DIN.ipynb +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/tutorials/DeepFM.ipynb +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/tutorials/Milvus.ipynb +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/tutorials/Multi_Task.ipynb +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.3.0}/uv.lock +0 -0
|
@@ -7,6 +7,47 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
+
## [0.3.0] - 2026-02-05
|
|
11
|
+
|
|
12
|
+
<!-- Release notes generated using configuration in .github/release.yml at main -->
|
|
13
|
+
|
|
14
|
+
## What's Changed
|
|
15
|
+
### ✨ 新特性 / Features
|
|
16
|
+
* Inbatchsample by @zerolovesea in https://github.com/datawhalechina/torch-rechub/pull/128
|
|
17
|
+
### 📝 文档更新 / Documentation
|
|
18
|
+
* Enhance docs: ONNX, serving, tools, tutorials by @1985312383 in https://github.com/datawhalechina/torch-rechub/pull/165
|
|
19
|
+
* Expand docs: community, guides, models, data by @1985312383 in https://github.com/datawhalechina/torch-rechub/pull/166
|
|
20
|
+
### 🔄 其他变更 / Other Changes
|
|
21
|
+
* Update favicon and logo images by @1985312383 in https://github.com/datawhalechina/torch-rechub/pull/164
|
|
22
|
+
* Update docs imports to torch_rechub by @1985312383 in https://github.com/datawhalechina/torch-rechub/pull/167
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
**Full Changelog**: https://github.com/datawhalechina/torch-rechub/compare/v0.2.0...v0.3.0
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
## [0.2.0] - 2026-01-11
|
|
32
|
+
|
|
33
|
+
<!-- Release notes generated using configuration in .github/release.yml at main -->
|
|
34
|
+
|
|
35
|
+
## What's Changed
|
|
36
|
+
### 🐛 Bug 修复 / Bug Fixes
|
|
37
|
+
* Update HSTULayer with L2 norm and SiLU attention by @1985312383 in https://github.com/datawhalechina/torch-rechub/pull/157
|
|
38
|
+
* Add ONNX quantization scripts and tests, improve dataloader split by @1985312383 in https://github.com/datawhalechina/torch-rechub/pull/161
|
|
39
|
+
### 📝 文档更新 / Documentation
|
|
40
|
+
* Update docs and README with new architecture image by @1985312383 in https://github.com/datawhalechina/torch-rechub/pull/154
|
|
41
|
+
* Add comprehensive vector index docs (EN & ZH) by @1985312383 in https://github.com/datawhalechina/torch-rechub/pull/162
|
|
42
|
+
* Update quick start and tracking docs in EN and ZH by @1985312383 in https://github.com/datawhalechina/torch-rechub/pull/163
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
**Full Changelog**: https://github.com/datawhalechina/torch-rechub/compare/v0.1.0...v0.2.0
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
10
51
|
## [0.1.0] - 2025-12-17
|
|
11
52
|
|
|
12
53
|
<!-- Release notes generated using configuration in .github/release.yml at main -->
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: torch-rechub
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.0
|
|
4
4
|
Summary: A Pytorch Toolbox for Recommendation Models, Easy-to-use and Easy-to-extend.
|
|
5
5
|
Project-URL: Homepage, https://github.com/datawhalechina/torch-rechub
|
|
6
6
|
Project-URL: Documentation, https://www.torch-rechub.com
|
|
@@ -31,7 +31,7 @@ Requires-Dist: transformers>=4.46.3
|
|
|
31
31
|
Provides-Extra: annoy
|
|
32
32
|
Requires-Dist: annoy>=1.17.2; extra == 'annoy'
|
|
33
33
|
Provides-Extra: bigdata
|
|
34
|
-
Requires-Dist: pyarrow
|
|
34
|
+
Requires-Dist: pyarrow<23,>=21; extra == 'bigdata'
|
|
35
35
|
Provides-Extra: dev
|
|
36
36
|
Requires-Dist: bandit>=1.7.0; extra == 'dev'
|
|
37
37
|
Requires-Dist: flake8>=3.8.0; extra == 'dev'
|
|
@@ -60,9 +60,13 @@ Requires-Dist: graphviz>=0.20; extra == 'visualization'
|
|
|
60
60
|
Requires-Dist: torchview>=0.2.6; extra == 'visualization'
|
|
61
61
|
Description-Content-Type: text/markdown
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
<div align="center">
|
|
64
64
|
|
|
65
|
-
|
|
65
|
+

|
|
66
|
+
|
|
67
|
+
# Torch-RecHub: 轻量、高效、易用的 PyTorch 推荐系统框架
|
|
68
|
+
|
|
69
|
+
【⚠️ Alpha内测版本警告:此为早期内部构建版本,尚不完整且可能存在错误,欢迎大家提Issue反馈问题或建议。】
|
|
66
70
|
|
|
67
71
|
[](LICENSE)
|
|
68
72
|

|
|
@@ -75,27 +79,21 @@ Description-Content-Type: text/markdown
|
|
|
75
79
|
[](https://numpy.org/)
|
|
76
80
|
[](https://scikit-learn.org/)
|
|
77
81
|
[](https://pypi.org/project/torch-rechub/)
|
|
82
|
+
[](https://github.com/mert-kurttutan/torchview)
|
|
78
83
|
|
|
79
84
|
[English](README_en.md) | 简体中文
|
|
80
85
|
|
|
81
|
-
|
|
86
|
+

|
|
82
87
|
|
|
83
|
-
|
|
88
|
+
</div>
|
|
84
89
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
## 🎯 为什么选择 Torch-RecHub?
|
|
90
|
+
**在线文档:** https://datawhalechina.github.io/torch-rechub/zh/
|
|
88
91
|
|
|
89
|
-
|
|
90
|
-
| ------------- | --------------------------- | ---------- |
|
|
91
|
-
| 代码行数 | **10行** 完成训练+评估+部署 | 100+ 行 |
|
|
92
|
-
| 模型覆盖 | **30+** 主流模型 | 有限 |
|
|
93
|
-
| 生成式推荐 | ✅ HSTU/HLLM (Meta 2024) | ❌ |
|
|
94
|
-
| ONNX 一键导出 | ✅ 内置支持 | 需手动适配 |
|
|
95
|
-
| 学习曲线 | 极低 | 陡峭 |
|
|
92
|
+
**Torch-RecHub** —— **10 行代码实现工业级推荐系统**。30+ 主流模型开箱即用,支持一键 ONNX 部署,让你专注于业务而非工程。
|
|
96
93
|
|
|
97
94
|
## ✨ 特性
|
|
98
95
|
|
|
96
|
+
* **生成式推荐模型:** LLM时代下,可以复现部分生成式推荐模型
|
|
99
97
|
* **模块化设计:** 易于添加新的模型、数据集和评估指标。
|
|
100
98
|
* **基于 PyTorch:** 利用 PyTorch 的动态图和 GPU 加速能力。
|
|
101
99
|
* **丰富的模型库:** 涵盖 **30+** 经典和前沿推荐算法(召回、排序、多任务、生成式推荐等)。
|
|
@@ -109,7 +107,6 @@ Description-Content-Type: text/markdown
|
|
|
109
107
|
## 📖 目录
|
|
110
108
|
|
|
111
109
|
- [🔥 Torch-RecHub - 轻量、高效、易用的 PyTorch 推荐系统框架](#-torch-rechub---轻量高效易用的-pytorch-推荐系统框架)
|
|
112
|
-
- [🎯 为什么选择 Torch-RecHub?](#-为什么选择-torch-rechub)
|
|
113
110
|
- [✨ 特性](#-特性)
|
|
114
111
|
- [📖 目录](#-目录)
|
|
115
112
|
- [🔧 安装](#-安装)
|
|
@@ -221,6 +218,8 @@ torch-rechub/ # 根目录
|
|
|
221
218
|
|
|
222
219
|
本框架目前支持 **30+** 主流推荐模型:
|
|
223
220
|
|
|
221
|
+
<details>
|
|
222
|
+
|
|
224
223
|
### 排序模型 (Ranking Models) - 13个
|
|
225
224
|
|
|
226
225
|
| 模型 | 论文 | 简介 |
|
|
@@ -236,7 +235,11 @@ torch-rechub/ # 根目录
|
|
|
236
235
|
| **AutoInt** | [CIKM 2019](https://arxiv.org/abs/1810.11921) | 自动特征交互学习 |
|
|
237
236
|
| **FiBiNET** | [RecSys 2019](https://arxiv.org/abs/1905.09433) | 特征重要性 + 双线性交互 |
|
|
238
237
|
| **DeepFFM** | [RecSys 2019](https://arxiv.org/abs/1611.00144) | 场感知因子分解机 |
|
|
239
|
-
| **EDCN** | [KDD 2021](https://arxiv.org/abs/2106.03032) | 增强型交叉网络
|
|
238
|
+
| **EDCN** | [KDD 2021](https://arxiv.org/abs/2106.03032) | 增强型交叉网络
|
|
239
|
+
|
|
|
240
|
+
</details>
|
|
241
|
+
|
|
242
|
+
<details>
|
|
240
243
|
|
|
241
244
|
### 召回模型 (Matching Models) - 12个
|
|
242
245
|
|
|
@@ -253,6 +256,10 @@ torch-rechub/ # 根目录
|
|
|
253
256
|
| **STAMP** | [KDD 2018](https://dl.acm.org/doi/10.1145/3219819.3219895) | 短期注意力记忆优先 |
|
|
254
257
|
| **ComiRec** | [KDD 2020](https://arxiv.org/abs/2005.09347) | 可控多兴趣推荐 |
|
|
255
258
|
|
|
259
|
+
</details>
|
|
260
|
+
|
|
261
|
+
<details>
|
|
262
|
+
|
|
256
263
|
### 多任务模型 (Multi-Task Models) - 5个
|
|
257
264
|
|
|
258
265
|
| 模型 | 论文 | 简介 |
|
|
@@ -263,6 +270,10 @@ torch-rechub/ # 根目录
|
|
|
263
270
|
| **AITM** | [KDD 2021](https://arxiv.org/abs/2105.08489) | 自适应信息迁移 |
|
|
264
271
|
| **SharedBottom** | - | 经典多任务共享底层 |
|
|
265
272
|
|
|
273
|
+
</details>
|
|
274
|
+
|
|
275
|
+
<details>
|
|
276
|
+
|
|
266
277
|
### 生成式推荐 (Generative Recommendation) - 2个
|
|
267
278
|
|
|
268
279
|
| 模型 | 论文 | 简介 |
|
|
@@ -270,6 +281,8 @@ torch-rechub/ # 根目录
|
|
|
270
281
|
| **HSTU** | [Meta 2024](https://arxiv.org/abs/2402.17152) | 层级序列转换单元,支撑 Meta 万亿参数推荐系统 |
|
|
271
282
|
| **HLLM** | [2024](https://arxiv.org/abs/2409.12740) | 层级大语言模型推荐,融合 LLM 语义理解能力 |
|
|
272
283
|
|
|
284
|
+
</details>
|
|
285
|
+
|
|
273
286
|
## 📊 支持的数据集
|
|
274
287
|
|
|
275
288
|
框架内置了对以下常见数据集格式的支持或提供了处理脚本:
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
<div align="center">
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+

|
|
4
|
+
|
|
5
|
+
# Torch-RecHub: 轻量、高效、易用的 PyTorch 推荐系统框架
|
|
6
|
+
|
|
7
|
+
【⚠️ Alpha内测版本警告:此为早期内部构建版本,尚不完整且可能存在错误,欢迎大家提Issue反馈问题或建议。】
|
|
4
8
|
|
|
5
9
|
[](LICENSE)
|
|
6
10
|

|
|
@@ -13,27 +17,21 @@
|
|
|
13
17
|
[](https://numpy.org/)
|
|
14
18
|
[](https://scikit-learn.org/)
|
|
15
19
|
[](https://pypi.org/project/torch-rechub/)
|
|
20
|
+
[](https://github.com/mert-kurttutan/torchview)
|
|
16
21
|
|
|
17
22
|
[English](README_en.md) | 简体中文
|
|
18
23
|
|
|
19
|
-
|
|
24
|
+

|
|
20
25
|
|
|
21
|
-
|
|
26
|
+
</div>
|
|
22
27
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
## 🎯 为什么选择 Torch-RecHub?
|
|
28
|
+
**在线文档:** https://datawhalechina.github.io/torch-rechub/zh/
|
|
26
29
|
|
|
27
|
-
|
|
28
|
-
| ------------- | --------------------------- | ---------- |
|
|
29
|
-
| 代码行数 | **10行** 完成训练+评估+部署 | 100+ 行 |
|
|
30
|
-
| 模型覆盖 | **30+** 主流模型 | 有限 |
|
|
31
|
-
| 生成式推荐 | ✅ HSTU/HLLM (Meta 2024) | ❌ |
|
|
32
|
-
| ONNX 一键导出 | ✅ 内置支持 | 需手动适配 |
|
|
33
|
-
| 学习曲线 | 极低 | 陡峭 |
|
|
30
|
+
**Torch-RecHub** —— **10 行代码实现工业级推荐系统**。30+ 主流模型开箱即用,支持一键 ONNX 部署,让你专注于业务而非工程。
|
|
34
31
|
|
|
35
32
|
## ✨ 特性
|
|
36
33
|
|
|
34
|
+
* **生成式推荐模型:** LLM时代下,可以复现部分生成式推荐模型
|
|
37
35
|
* **模块化设计:** 易于添加新的模型、数据集和评估指标。
|
|
38
36
|
* **基于 PyTorch:** 利用 PyTorch 的动态图和 GPU 加速能力。
|
|
39
37
|
* **丰富的模型库:** 涵盖 **30+** 经典和前沿推荐算法(召回、排序、多任务、生成式推荐等)。
|
|
@@ -47,7 +45,6 @@
|
|
|
47
45
|
## 📖 目录
|
|
48
46
|
|
|
49
47
|
- [🔥 Torch-RecHub - 轻量、高效、易用的 PyTorch 推荐系统框架](#-torch-rechub---轻量高效易用的-pytorch-推荐系统框架)
|
|
50
|
-
- [🎯 为什么选择 Torch-RecHub?](#-为什么选择-torch-rechub)
|
|
51
48
|
- [✨ 特性](#-特性)
|
|
52
49
|
- [📖 目录](#-目录)
|
|
53
50
|
- [🔧 安装](#-安装)
|
|
@@ -159,6 +156,8 @@ torch-rechub/ # 根目录
|
|
|
159
156
|
|
|
160
157
|
本框架目前支持 **30+** 主流推荐模型:
|
|
161
158
|
|
|
159
|
+
<details>
|
|
160
|
+
|
|
162
161
|
### 排序模型 (Ranking Models) - 13个
|
|
163
162
|
|
|
164
163
|
| 模型 | 论文 | 简介 |
|
|
@@ -174,7 +173,11 @@ torch-rechub/ # 根目录
|
|
|
174
173
|
| **AutoInt** | [CIKM 2019](https://arxiv.org/abs/1810.11921) | 自动特征交互学习 |
|
|
175
174
|
| **FiBiNET** | [RecSys 2019](https://arxiv.org/abs/1905.09433) | 特征重要性 + 双线性交互 |
|
|
176
175
|
| **DeepFFM** | [RecSys 2019](https://arxiv.org/abs/1611.00144) | 场感知因子分解机 |
|
|
177
|
-
| **EDCN** | [KDD 2021](https://arxiv.org/abs/2106.03032) | 增强型交叉网络
|
|
176
|
+
| **EDCN** | [KDD 2021](https://arxiv.org/abs/2106.03032) | 增强型交叉网络
|
|
177
|
+
|
|
|
178
|
+
</details>
|
|
179
|
+
|
|
180
|
+
<details>
|
|
178
181
|
|
|
179
182
|
### 召回模型 (Matching Models) - 12个
|
|
180
183
|
|
|
@@ -191,6 +194,10 @@ torch-rechub/ # 根目录
|
|
|
191
194
|
| **STAMP** | [KDD 2018](https://dl.acm.org/doi/10.1145/3219819.3219895) | 短期注意力记忆优先 |
|
|
192
195
|
| **ComiRec** | [KDD 2020](https://arxiv.org/abs/2005.09347) | 可控多兴趣推荐 |
|
|
193
196
|
|
|
197
|
+
</details>
|
|
198
|
+
|
|
199
|
+
<details>
|
|
200
|
+
|
|
194
201
|
### 多任务模型 (Multi-Task Models) - 5个
|
|
195
202
|
|
|
196
203
|
| 模型 | 论文 | 简介 |
|
|
@@ -201,6 +208,10 @@ torch-rechub/ # 根目录
|
|
|
201
208
|
| **AITM** | [KDD 2021](https://arxiv.org/abs/2105.08489) | 自适应信息迁移 |
|
|
202
209
|
| **SharedBottom** | - | 经典多任务共享底层 |
|
|
203
210
|
|
|
211
|
+
</details>
|
|
212
|
+
|
|
213
|
+
<details>
|
|
214
|
+
|
|
204
215
|
### 生成式推荐 (Generative Recommendation) - 2个
|
|
205
216
|
|
|
206
217
|
| 模型 | 论文 | 简介 |
|
|
@@ -208,6 +219,8 @@ torch-rechub/ # 根目录
|
|
|
208
219
|
| **HSTU** | [Meta 2024](https://arxiv.org/abs/2402.17152) | 层级序列转换单元,支撑 Meta 万亿参数推荐系统 |
|
|
209
220
|
| **HLLM** | [2024](https://arxiv.org/abs/2409.12740) | 层级大语言模型推荐,融合 LLM 语义理解能力 |
|
|
210
221
|
|
|
222
|
+
</details>
|
|
223
|
+
|
|
211
224
|
## 📊 支持的数据集
|
|
212
225
|
|
|
213
226
|
框架内置了对以下常见数据集格式的支持或提供了处理脚本:
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
<div align="center">
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+

|
|
4
|
+
|
|
5
|
+
# Torch-RecHub: A Lightweight, Efficient, and Easy-to-use PyTorch Recommender Framework
|
|
4
6
|
|
|
5
7
|
[](LICENSE)
|
|
6
8
|

|
|
@@ -13,42 +15,33 @@
|
|
|
13
15
|
[](https://numpy.org/)
|
|
14
16
|
[](https://scikit-learn.org/)
|
|
15
17
|
[](https://pypi.org/project/torch-rechub/)
|
|
18
|
+
[](https://github.com/mert-kurttutan/torchview)
|
|
16
19
|
|
|
17
20
|
English | [简体中文](README.md)
|
|
18
21
|
|
|
19
|
-
|
|
22
|
+

|
|
20
23
|
|
|
21
|
-
|
|
24
|
+
</div>
|
|
22
25
|
|
|
23
|
-
|
|
26
|
+
**Online Documentation:** https://datawhalechina.github.io/torch-rechub/
|
|
24
27
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
| Feature | Torch-RecHub | Other Frameworks |
|
|
28
|
-
|---------|-------------|------------------|
|
|
29
|
-
| Lines of Code | **10 lines** for train+eval+deploy | 100+ lines |
|
|
30
|
-
| Model Coverage | **30+** mainstream models | Limited |
|
|
31
|
-
| Generative RecSys | ✅ HSTU/HLLM (Meta 2024) | ❌ |
|
|
32
|
-
| ONNX Export | ✅ Built-in support | Manual adaptation |
|
|
33
|
-
| Learning Curve | Very Low | Steep |
|
|
28
|
+
**Torch-RecHub** —— **Build production-grade recommender systems in 10 lines of code**. 30+ mainstream models out-of-the-box, one-click ONNX deployment, letting you focus on business instead of engineering.
|
|
34
29
|
|
|
35
30
|
## ✨ Features
|
|
36
31
|
|
|
37
32
|
* **Modular Design:** Easy to add new models, datasets, and evaluation metrics.
|
|
38
|
-
* **PyTorch
|
|
39
|
-
* **Rich Model Library:** Covers **30+** classic and cutting-edge recommendation algorithms (
|
|
33
|
+
* **Based on PyTorch:** Leverages PyTorch's dynamic graph and GPU acceleration capabilities.
|
|
34
|
+
* **Rich Model Library:** Covers **30+** classic and cutting-edge recommendation algorithms (Matching, Ranking, Multi-task, Generative Recommendation, etc.).
|
|
40
35
|
* **Standardized Pipeline:** Provides unified data loading, training, and evaluation workflows.
|
|
41
36
|
* **Easy Configuration:** Adjust experiment settings via config files or command-line arguments.
|
|
42
37
|
* **Reproducibility:** Designed to ensure reproducible experimental results.
|
|
43
|
-
* **ONNX Export:** Export trained models to ONNX format for production deployment.
|
|
44
|
-
* **Cross-engine
|
|
45
|
-
* **Experiment
|
|
46
|
-
* **Additional Features:** Negative sampling, multi-task learning, etc.
|
|
38
|
+
* **ONNX Export:** Export trained models to ONNX format for seamless production deployment.
|
|
39
|
+
* **Cross-engine Data Processing:** Support for PySpark-based data processing and transformation, facilitating deployment in big data pipelines.
|
|
40
|
+
* **Experiment Visualization & Tracking:** Built-in unified integration for WandB, SwanLab, and TensorBoardX.
|
|
47
41
|
|
|
48
42
|
## 📖 Table of Contents
|
|
49
43
|
|
|
50
|
-
- [🔥 Torch-RecHub - Lightweight, Efficient
|
|
51
|
-
- [🎯 Why Torch-RecHub?](#-why-torch-rechub)
|
|
44
|
+
- [🔥 Torch-RecHub - A Lightweight, Efficient, and Easy-to-use PyTorch Recommender Framework](#-torch-rechub---a-lightweight-efficient-and-easy-to-use-pytorch-recommender-framework)
|
|
52
45
|
- [✨ Features](#-features)
|
|
53
46
|
- [📖 Table of Contents](#-table-of-contents)
|
|
54
47
|
- [🔧 Installation](#-installation)
|
|
@@ -61,7 +54,8 @@ English | [简体中文](README.md)
|
|
|
61
54
|
- [🧪 Examples](#-examples)
|
|
62
55
|
- [Ranking (CTR Prediction)](#ranking-ctr-prediction)
|
|
63
56
|
- [Multi-Task Ranking](#multi-task-ranking)
|
|
64
|
-
- [Matching
|
|
57
|
+
- [Matching Models](#matching-models)
|
|
58
|
+
- [Model Visualization](#model-visualization)
|
|
65
59
|
- [👨💻 Contributors](#-contributors)
|
|
66
60
|
- [🤝 Contributing](#-contributing)
|
|
67
61
|
- [📜 License](#-license)
|
|
@@ -82,7 +76,7 @@ English | [简体中文](README.md)
|
|
|
82
76
|
|
|
83
77
|
### Installation Steps
|
|
84
78
|
|
|
85
|
-
**Stable Version (Recommended
|
|
79
|
+
**Stable Version (Recommended):**
|
|
86
80
|
```bash
|
|
87
81
|
pip install torch-rechub
|
|
88
82
|
```
|
|
@@ -147,7 +141,7 @@ torch-rechub/ # Root directory
|
|
|
147
141
|
│ ├── matching/ # Matching task examples
|
|
148
142
|
│ ├── ranking/ # Ranking task examples
|
|
149
143
|
│ └── generative/ # Generative recommendation examples (HSTU, HLLM, etc.)
|
|
150
|
-
├── docs/ # Documentation (VitePress
|
|
144
|
+
├── docs/ # Documentation (VitePress, multi-language)
|
|
151
145
|
├── tutorials/ # Jupyter tutorials
|
|
152
146
|
├── tests/ # Unit tests
|
|
153
147
|
├── config/ # Configuration files
|
|
@@ -158,54 +152,70 @@ torch-rechub/ # Root directory
|
|
|
158
152
|
|
|
159
153
|
The framework currently supports **30+** mainstream recommendation models:
|
|
160
154
|
|
|
155
|
+
<details>
|
|
156
|
+
|
|
161
157
|
### Ranking Models - 13
|
|
162
158
|
|
|
163
|
-
| Model
|
|
164
|
-
|
|
165
|
-
| **DeepFM**
|
|
166
|
-
| **Wide&Deep** | [DLRS 2016](https://arxiv.org/abs/1606.07792)
|
|
167
|
-
| **DCN**
|
|
168
|
-
| **DCN-v2**
|
|
169
|
-
| **DIN**
|
|
170
|
-
| **DIEN**
|
|
171
|
-
| **BST**
|
|
172
|
-
| **AFM**
|
|
173
|
-
| **AutoInt**
|
|
174
|
-
| **FiBiNET**
|
|
175
|
-
| **DeepFFM**
|
|
176
|
-
| **EDCN**
|
|
159
|
+
| Model | Paper | Description |
|
|
160
|
+
| -------------- | ------------------------------------------------- | ------------------------------- |
|
|
161
|
+
| **DeepFM** | [IJCAI 2017](https://arxiv.org/abs/1703.04247) | FM + Deep joint training |
|
|
162
|
+
| **Wide&Deep** | [DLRS 2016](https://arxiv.org/abs/1606.07792) | Memorization + Generalization |
|
|
163
|
+
| **DCN** | [KDD 2017](https://arxiv.org/abs/1708.05123) | Explicit feature crossing |
|
|
164
|
+
| **DCN-v2** | [WWW 2021](https://arxiv.org/abs/2008.13535) | Enhanced cross network |
|
|
165
|
+
| **DIN** | [KDD 2018](https://arxiv.org/abs/1706.06978) | Attention for user interest |
|
|
166
|
+
| **DIEN** | [AAAI 2019](https://arxiv.org/abs/1809.03672) | Interest evolution modeling |
|
|
167
|
+
| **BST** | [DLP-KDD 2019](https://arxiv.org/abs/1905.06874) | Transformer for sequences |
|
|
168
|
+
| **AFM** | [IJCAI 2017](https://arxiv.org/abs/1708.04617) | Attentional FM |
|
|
169
|
+
| **AutoInt** | [CIKM 2019](https://arxiv.org/abs/1810.11921) | Auto feature interaction learning |
|
|
170
|
+
| **FiBiNET** | [RecSys 2019](https://arxiv.org/abs/1905.09433) | Feature importance + Bilinear |
|
|
171
|
+
| **DeepFFM** | [RecSys 2019](https://arxiv.org/abs/1611.00144) | Field-aware FM |
|
|
172
|
+
| **EDCN** | [KDD 2021](https://arxiv.org/abs/2106.03032) | Enhanced DCN |
|
|
173
|
+
|
|
174
|
+
</details>
|
|
175
|
+
|
|
176
|
+
<details>
|
|
177
177
|
|
|
178
178
|
### Matching Models - 12
|
|
179
179
|
|
|
180
|
-
| Model
|
|
181
|
-
|
|
182
|
-
| **DSSM**
|
|
183
|
-
| **YoutubeDNN** | [RecSys 2016](https://dl.acm.org/doi/10.1145/2959100.2959190)
|
|
184
|
-
| **YoutubeSBC** | [RecSys 2019](https://dl.acm.org/doi/10.1145/3298689.3346997)
|
|
185
|
-
| **MIND**
|
|
186
|
-
| **SINE**
|
|
187
|
-
| **GRU4Rec**
|
|
188
|
-
| **SASRec**
|
|
189
|
-
| **NARM**
|
|
190
|
-
| **STAMP**
|
|
191
|
-
| **ComiRec**
|
|
180
|
+
| Model | Paper | Description |
|
|
181
|
+
| --------------- | ------------------------------------------------------------------------------- | ------------------------- |
|
|
182
|
+
| **DSSM** | [CIKM 2013](https://posenhuang.github.io/papers/cikm2013_DSSM_fullversion.pdf) | Classic two-tower model |
|
|
183
|
+
| **YoutubeDNN** | [RecSys 2016](https://dl.acm.org/doi/10.1145/2959100.2959190) | YouTube deep retrieval |
|
|
184
|
+
| **YoutubeSBC** | [RecSys 2019](https://dl.acm.org/doi/10.1145/3298689.3346997) | Sampling bias correction |
|
|
185
|
+
| **MIND** | [CIKM 2019](https://arxiv.org/abs/1904.08030) | Multi-interest dynamic routing |
|
|
186
|
+
| **SINE** | [WSDM 2021](https://arxiv.org/abs/2103.06920) | Sparse interest network |
|
|
187
|
+
| **GRU4Rec** | [ICLR 2016](https://arxiv.org/abs/1511.06939) | GRU for sequences |
|
|
188
|
+
| **SASRec** | [ICDM 2018](https://arxiv.org/abs/1808.09781) | Self-attentive sequential |
|
|
189
|
+
| **NARM** | [CIKM 2017](https://arxiv.org/abs/1711.04725) | Neural attentive session |
|
|
190
|
+
| **STAMP** | [KDD 2018](https://dl.acm.org/doi/10.1145/3219819.3219895) | Short-term attention memory priority |
|
|
191
|
+
| **ComiRec** | [KDD 2020](https://arxiv.org/abs/2005.09347) | Controllable multi-interest |
|
|
192
|
+
|
|
193
|
+
</details>
|
|
194
|
+
|
|
195
|
+
<details>
|
|
192
196
|
|
|
193
197
|
### Multi-Task Models - 5
|
|
194
198
|
|
|
195
|
-
| Model
|
|
196
|
-
|
|
197
|
-
| **ESMM**
|
|
198
|
-
| **MMoE**
|
|
199
|
-
| **PLE**
|
|
200
|
-
| **AITM**
|
|
201
|
-
| **SharedBottom** | -
|
|
199
|
+
| Model | Paper | Description |
|
|
200
|
+
| ----------------- | -------------------------------------------------------------- | ------------------------- |
|
|
201
|
+
| **ESMM** | [SIGIR 2018](https://arxiv.org/abs/1804.07931) | Entire space multi-task |
|
|
202
|
+
| **MMoE** | [KDD 2018](https://dl.acm.org/doi/10.1145/3219819.3220007) | Multi-gate Mixture-of-Experts |
|
|
203
|
+
| **PLE** | [RecSys 2020](https://dl.acm.org/doi/10.1145/3383313.3412236) | Progressive Layered Extraction |
|
|
204
|
+
| **AITM** | [KDD 2021](https://arxiv.org/abs/2105.08489) | Adaptive Information Transfer |
|
|
205
|
+
| **SharedBottom** | - | Classic shared bottom |
|
|
206
|
+
|
|
207
|
+
</details>
|
|
208
|
+
|
|
209
|
+
<details>
|
|
202
210
|
|
|
203
211
|
### Generative Recommendation - 2
|
|
204
212
|
|
|
205
|
-
| Model
|
|
206
|
-
|
|
213
|
+
| Model | Paper | Description |
|
|
214
|
+
| --------- | ---------------------------------------------- | -------------------------------------------------------- |
|
|
207
215
|
| **HSTU** | [Meta 2024](https://arxiv.org/abs/2402.17152) | Hierarchical Sequential Transduction Units, powering Meta's trillion-parameter RecSys |
|
|
208
|
-
| **HLLM** | [2024](https://arxiv.org/abs/2409.12740)
|
|
216
|
+
| **HLLM** | [2024](https://arxiv.org/abs/2409.12740) | Hierarchical LLM for recommendation, combining LLM semantic understanding |
|
|
217
|
+
|
|
218
|
+
</details>
|
|
209
219
|
|
|
210
220
|
## 📊 Supported Datasets
|
|
211
221
|
|
|
@@ -219,7 +229,7 @@ The framework provides built-in support or preprocessing scripts for the followi
|
|
|
219
229
|
* **BookCrossing**
|
|
220
230
|
* **Ali-ccp**
|
|
221
231
|
* **Yidian**
|
|
222
|
-
* ...
|
|
232
|
+
* ...
|
|
223
233
|
|
|
224
234
|
The expected data format is typically an interaction file containing:
|
|
225
235
|
- User ID
|
|
@@ -231,7 +241,6 @@ For specific format requirements, please refer to the example code in the `tutor
|
|
|
231
241
|
|
|
232
242
|
You can easily integrate your own datasets by ensuring they conform to the framework's data format requirements or by writing custom data loaders.
|
|
233
243
|
|
|
234
|
-
|
|
235
244
|
## 🧪 Examples
|
|
236
245
|
|
|
237
246
|
All model usage examples can be found in `/examples`
|
|
@@ -260,7 +269,7 @@ ctr_trainer.export_onnx("deepfm.onnx")
|
|
|
260
269
|
from torch_rechub.models.multi_task import SharedBottom, ESMM, MMOE, PLE, AITM
|
|
261
270
|
from torch_rechub.trainers import MTLTrainer
|
|
262
271
|
|
|
263
|
-
task_types = ["classification", "classification"]
|
|
272
|
+
task_types = ["classification", "classification"]
|
|
264
273
|
model = MMOE(features, task_types, 8, expert_params={"dims": [32,16]}, tower_params_list=[{"dims": [32, 16]}, {"dims": [32, 16]}])
|
|
265
274
|
|
|
266
275
|
mtl_trainer = MTLTrainer(model)
|
|
@@ -269,7 +278,7 @@ auc = ctr_trainer.evaluate(ctr_trainer.model, test_dataloader)
|
|
|
269
278
|
mtl_trainer.export_onnx("mmoe.onnx")
|
|
270
279
|
```
|
|
271
280
|
|
|
272
|
-
### Matching
|
|
281
|
+
### Matching Models
|
|
273
282
|
|
|
274
283
|
```python
|
|
275
284
|
from torch_rechub.models.matching import DSSM
|
|
@@ -282,19 +291,27 @@ train_dl, test_dl, item_dl = dg.generate_dataloader(test_user, all_item, batch_s
|
|
|
282
291
|
model = DSSM(user_features, item_features, temperature=0.02,
|
|
283
292
|
user_params={
|
|
284
293
|
"dims": [256, 128, 64],
|
|
285
|
-
"activation": 'prelu',
|
|
294
|
+
"activation": 'prelu',
|
|
286
295
|
},
|
|
287
296
|
item_params={
|
|
288
297
|
"dims": [256, 128, 64],
|
|
289
|
-
"activation": 'prelu',
|
|
298
|
+
"activation": 'prelu',
|
|
290
299
|
})
|
|
291
300
|
|
|
292
301
|
match_trainer = MatchTrainer(model)
|
|
293
302
|
match_trainer.fit(train_dl)
|
|
294
303
|
match_trainer.export_onnx("dssm.onnx")
|
|
295
|
-
# For two-tower models, you can
|
|
296
|
-
# match_trainer.export_onnx("
|
|
297
|
-
# match_trainer.export_onnx("
|
|
304
|
+
# For two-tower models, you can export user and item towers separately:
|
|
305
|
+
# match_trainer.export_onnx("user_tower.onnx", mode="user")
|
|
306
|
+
# match_trainer.export_onnx("item_tower.onnx", mode="item")
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
### Model Visualization
|
|
310
|
+
|
|
311
|
+
```python
|
|
312
|
+
# Visualize model architecture (Requires: pip install torch-rechub[visualization])
|
|
313
|
+
graph = ctr_trainer.visualization(depth=4) # Generate computation graph
|
|
314
|
+
ctr_trainer.visualization(save_path="model.pdf", dpi=300) # Save as high-resolution PDF
|
|
298
315
|
```
|
|
299
316
|
|
|
300
317
|
## 👨💻 Contributors
|
|
@@ -333,11 +350,9 @@ If you use this framework in your research or work, please consider citing:
|
|
|
333
350
|
|
|
334
351
|
## 📫 Contact
|
|
335
352
|
|
|
336
|
-
* **Project Lead:** [1985312383](https://github.com/1985312383)
|
|
353
|
+
* **Project Lead:** [1985312383](https://github.com/1985312383)
|
|
337
354
|
* [**GitHub Discussions**](https://github.com/datawhalechina/torch-rechub/discussions)
|
|
338
355
|
|
|
339
|
-
|
|
340
|
-
|
|
341
356
|
## ⭐️ Star History
|
|
342
357
|
|
|
343
358
|
[](https://www.star-history.com/#datawhalechina/torch-rechub&Date)
|