torch-rechub 0.1.0__tar.gz → 0.2.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.2.0}/CHANGELOG.md +20 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/PKG-INFO +27 -18
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/README.md +25 -16
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/README_en.md +87 -73
- torch_rechub-0.1.0/docs/en/introduction.md → torch_rechub-0.2.0/docs/en/guide/intro.md +1 -1
- torch_rechub-0.2.0/docs/en/guide/quick_start.md +287 -0
- torch_rechub-0.2.0/docs/en/serving/vector_index.md +475 -0
- torch_rechub-0.2.0/docs/en/tools/tracking.md +276 -0
- torch_rechub-0.2.0/docs/public/img/project_framework.png +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/zh/guide/intro.md +1 -1
- torch_rechub-0.2.0/docs/zh/guide/quick_start.md +287 -0
- torch_rechub-0.2.0/docs/zh/serving/vector_index.md +475 -0
- torch_rechub-0.2.0/docs/zh/tools/tracking.md +276 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/generative/run_hllm_amazon_books.py +9 -1
- torch_rechub-0.2.0/examples/serving/benchmark_onnx_quantization.py +105 -0
- torch_rechub-0.2.0/examples/serving/quantize_onnx.py +42 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/pyproject.toml +2 -2
- torch_rechub-0.2.0/tests/test_onnx_quantization.py +82 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/basic/layers.py +15 -9
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/utils/data.py +28 -12
- torch_rechub-0.1.0/docs/en/guide/quick_start.md +0 -0
- torch_rechub-0.1.0/docs/en/serving/vector_index.md +0 -0
- torch_rechub-0.1.0/docs/en/tools/tracking.md +0 -112
- torch_rechub-0.1.0/docs/en/tutorials/intro.md +0 -0
- torch_rechub-0.1.0/docs/zh/guide/quick_start.md +0 -71
- torch_rechub-0.1.0/docs/zh/serving/vector_index.md +0 -9
- torch_rechub-0.1.0/docs/zh/tools/tracking.md +0 -111
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/.github/ISSUE_TEMPLATE/help_wanted.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/.github/dependabot.yml +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/.github/pull_request_template.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/.github/release.yml +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/.github/workflows/ci.yml +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/.github/workflows/deploy.yml +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/.gitignore +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/.pre-commit-config.yaml +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/CODE_OF_CONDUCT.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/CONTRIBUTING.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/LICENSE +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/config/.flake8 +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/config/.pep8 +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/config/.pre-commit-config.yaml +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/config/CONFIG_GUIDE.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/config/fix_encoding.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/config/format_code.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/config/pytest.ini +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/.vitepress/config.mts +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/.vitepress/theme/custom.css +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/.vitepress/theme/index.ts +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/.vitepress/theme/style.css +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/cache/api-basic.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/cache/api-models.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/cache/api-trainers.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/cache/api-utils.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/cache/hllm_reproduction.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/cache/hstu_reproduction.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/cache/match.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/cache/rank.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.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.2.0}/docs/en/api/api.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/en/blog/hllm_reproduction.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/en/blog/match.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/en/blog/rank.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/en/community/changelog.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/en/community/contributing.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/en/community/faq.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/en/contributing.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/en/core/data.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/en/core/evaluation.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/en/core/features.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/en/core/intro.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/en/guide/install.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/en/index.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/en/manual/api-reference/basic.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/en/manual/api-reference/models.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/en/manual/api-reference/trainers.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/en/manual/api-reference/utils.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/en/manual/faq.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/en/manual/getting-started.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/en/manual/installation.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/en/manual/tutorials/matching.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/en/manual/tutorials/multi-task.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/en/manual/tutorials/ranking.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/en/models/generative.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/en/models/intro.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/en/models/matching.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/en/models/mtl.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/en/models/ranking.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/en/serving/demo.md +0 -0
- {torch_rechub-0.1.0/docs/en/guide → torch_rechub-0.2.0/docs/en/serving}/intro.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/en/serving/onnx.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/en/tools/callbacks.md +0 -0
- {torch_rechub-0.1.0/docs/en/serving → torch_rechub-0.2.0/docs/en/tools}/intro.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/en/tools/visualization.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/en/tutorials/ctr.md +0 -0
- {torch_rechub-0.1.0/docs/en/tools → torch_rechub-0.2.0/docs/en/tutorials}/intro.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/en/tutorials/pipeline.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/en/tutorials/retrieval.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/public/favicon.ico +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/public/img/banner.png +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/public/img/logo.png +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/public/img/logo_with_name.png +0 -0
- /torch_rechub-0.1.0/docs/public/img/project_framework.jpg → /torch_rechub-0.2.0/docs/public/img/project_framework_old.jpg +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/public/img/win_install_annoy_error.png +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/public/pdf/1606.07792_l8JrVnuYXA.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/public/pdf/1703.04247_sFSyE7q3U1.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/public/pdf/1706.06978_0xZD_K10S2.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/public/pdf/1708.05123_f3lKSqxIvw.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/public/pdf/1711.00165_eosOSOmTfE.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/public/pdf/1804.07931_ybf_jOAFRp.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/public/pdf/1808.09781-3_bmRm284Rxd.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/public/pdf/1808.09781v1.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/public/pdf/1905.06336_2oH3RMtROA.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/public/pdf/2006.11632_qiN67CrHNs.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/public/pdf/2020 (Tencent) (Recsys) [PLE] Progressive Layered .pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/public/pdf/2102.09267_cdwBFKPCrj.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/public/pdf/2105.08489-2_XnVVGxN9GG.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/public/pdf/2203.06801v1-3_qUTY4TbvSL.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/public/pdf/2959100.2959190_jRzTU81Xmq.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/public/pdf/3219819.3219950_aTMFXHL3JB.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/public/pdf/3219819.3220007_zvaZg_CZ6z.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/public/pdf/4545-Article Text-7584-1-10-20190706.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/public/pdf/6c8a86c981a62b0126a11896b7f6ae0dae4c3566_1QYYhqJR8.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/public/pdf/Caruana1997_Article_MultitaskLearning_ySprcjzJ6v.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/public/pdf/DCN V2 Improved Deep & Cross Network and Practical.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/public/pdf/cikm2013_DSSM_fullversion_c9ZSdM19XJ.pdf +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/zh/api/api.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/zh/community/changelog.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/zh/community/contributing.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/zh/community/faq.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/zh/core/data.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/zh/core/evaluation.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/zh/core/features.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/zh/core/intro.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/zh/guide/install.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/zh/index.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/zh/models/generative.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/zh/models/intro.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/zh/models/matching.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/zh/models/mtl.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/zh/models/ranking.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/zh/serving/demo.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/zh/serving/intro.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/zh/serving/onnx.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/zh/tools/callbacks.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/zh/tools/intro.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/zh/tools/visualization.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/zh/tutorials/ctr.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/zh/tutorials/intro.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/zh/tutorials/pipeline.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/docs/zh/tutorials/retrieval.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/generative/data/amazon-books/README.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/generative/data/amazon-books/preprocess_amazon_books.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/generative/data/amazon-books/preprocess_amazon_books_hllm.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/generative/data/ml-1m/README +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/generative/data/ml-1m/preprocess_hllm_data.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/generative/data/ml-1m/preprocess_ml_hstu.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/generative/run_hllm_movielens.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/generative/run_hstu_movielens.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/matching/README.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/matching/data/million-song-dataset/process_msd.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/matching/data/ml-1m/preprocess_ml.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/matching/data/session_based/preprocess_session_based.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/matching/data/yidian_news/preprocess.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/matching/movielens_utils.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/matching/run_ml_comirec.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/matching/run_ml_dssm.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/matching/run_ml_facebook_dssm.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/matching/run_ml_gru4rec.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/matching/run_ml_mind.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/matching/run_ml_sine.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/matching/run_ml_youtube_dnn.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/matching/run_ml_youtube_sbc.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/matching/run_sbr.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/ranking/README.md +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/ranking/data/ali-ccp/preprocess_ali_ccp.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/ranking/data/amazon-beauty/preprocess_amazon_beauty.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/ranking/data/amazon-books/preprocess_amazon_books.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/ranking/data/amazon-electronics/preprocess_amazon_electronics.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/ranking/data/avazu/download_avazu.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/ranking/data/census-income/preprocess_census.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/ranking/run_ali_ccp_ctr_ranking.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/ranking/run_ali_ccp_multi_task.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/ranking/run_aliexpress.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/ranking/run_amazon_electronics.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/ranking/run_avazu.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/ranking/run_census.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/ranking/run_criteo.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/ranking/run_gradnorm.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/examples/ranking/run_metabalance.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/package-lock.json +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/package.json +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/tests/test_e2e_matching.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/tests/test_e2e_multitask.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/tests/test_e2e_ranking.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/tests/test_onnx_export.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/tests/test_pa_array_to_tensor.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/tests/test_parquet_dataset.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/tests/test_regularization.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/tests/test_serving.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/__init__.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/basic/__init__.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/basic/activation.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/basic/callback.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/basic/features.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/basic/initializers.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/basic/loss_func.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/basic/metaoptimizer.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/basic/metric.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/basic/tracking.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/data/__init__.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/data/convert.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/data/dataset.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/models/__init__.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/models/generative/__init__.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/models/generative/hllm.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/models/generative/hstu.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/models/matching/__init__.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/models/matching/comirec.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/models/matching/dssm.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/models/matching/dssm_facebook.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/models/matching/dssm_senet.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/models/matching/gru4rec.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/models/matching/mind.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/models/matching/narm.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/models/matching/sasrec.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/models/matching/sine.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/models/matching/stamp.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/models/matching/youtube_dnn.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/models/matching/youtube_sbc.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/models/multi_task/__init__.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/models/multi_task/aitm.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/models/multi_task/esmm.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/models/multi_task/mmoe.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/models/multi_task/ple.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/models/multi_task/shared_bottom.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/models/ranking/__init__.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/models/ranking/afm.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/models/ranking/autoint.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/models/ranking/bst.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/models/ranking/dcn.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/models/ranking/dcn_v2.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/models/ranking/deepffm.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/models/ranking/deepfm.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/models/ranking/dien.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/models/ranking/din.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/models/ranking/edcn.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/models/ranking/fibinet.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/models/ranking/widedeep.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/serving/__init__.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/serving/annoy.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/serving/base.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/serving/faiss.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/serving/milvus.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/trainers/__init__.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/trainers/ctr_trainer.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/trainers/match_trainer.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/trainers/mtl_trainer.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/trainers/seq_trainer.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/types.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/utils/__init__.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/utils/hstu_utils.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/utils/match.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/utils/model_utils.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/utils/mtl.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/utils/onnx_export.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/utils/quantization.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/torch_rechub/utils/visualization.py +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/tutorials/00_QuickStart_CTR_DeepFM.ipynb +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/tutorials/01_Ranking_DIN.ipynb +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/tutorials/02_Matching_DSSM.ipynb +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/tutorials/03_MultiTask_MMOE.ipynb +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/tutorials/04_Experiment_Tracking_Light.ipynb +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/tutorials/05_Model_Export_and_Serving.ipynb +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/tutorials/DIN.ipynb +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/tutorials/DeepFM.ipynb +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/tutorials/Matching.ipynb +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/tutorials/Milvus.ipynb +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/tutorials/Multi_Task.ipynb +0 -0
- {torch_rechub-0.1.0 → torch_rechub-0.2.0}/uv.lock +0 -0
|
@@ -7,6 +7,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
+
## [0.2.0] - 2026-01-11
|
|
11
|
+
|
|
12
|
+
<!-- Release notes generated using configuration in .github/release.yml at main -->
|
|
13
|
+
|
|
14
|
+
## What's Changed
|
|
15
|
+
### 🐛 Bug 修复 / Bug Fixes
|
|
16
|
+
* Update HSTULayer with L2 norm and SiLU attention by @1985312383 in https://github.com/datawhalechina/torch-rechub/pull/157
|
|
17
|
+
* Add ONNX quantization scripts and tests, improve dataloader split by @1985312383 in https://github.com/datawhalechina/torch-rechub/pull/161
|
|
18
|
+
### 📝 文档更新 / Documentation
|
|
19
|
+
* Update docs and README with new architecture image by @1985312383 in https://github.com/datawhalechina/torch-rechub/pull/154
|
|
20
|
+
* Add comprehensive vector index docs (EN & ZH) by @1985312383 in https://github.com/datawhalechina/torch-rechub/pull/162
|
|
21
|
+
* Update quick start and tracking docs in EN and ZH by @1985312383 in https://github.com/datawhalechina/torch-rechub/pull/163
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
**Full Changelog**: https://github.com/datawhalechina/torch-rechub/compare/v0.1.0...v0.2.0
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
10
30
|
## [0.1.0] - 2025-12-17
|
|
11
31
|
|
|
12
32
|
<!-- 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.2.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,11 @@ 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 推荐系统框架
|
|
66
68
|
|
|
67
69
|
[](LICENSE)
|
|
68
70
|

|
|
@@ -78,21 +80,13 @@ Description-Content-Type: text/markdown
|
|
|
78
80
|
|
|
79
81
|
[English](README_en.md) | 简体中文
|
|
80
82
|
|
|
81
|
-
|
|
83
|
+

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

|
|
4
|
+
|
|
5
|
+
# Torch-RecHub: 轻量、高效、易用的 PyTorch 推荐系统框架
|
|
4
6
|
|
|
5
7
|
[](LICENSE)
|
|
6
8
|

|
|
@@ -16,21 +18,13 @@
|
|
|
16
18
|
|
|
17
19
|
[English](README_en.md) | 简体中文
|
|
18
20
|
|
|
19
|
-
|
|
21
|
+

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

|
|
@@ -16,39 +18,29 @@
|
|
|
16
18
|
|
|
17
19
|
English | [简体中文](README.md)
|
|
18
20
|
|
|
19
|
-
|
|
21
|
+

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

|
|
30
30
|
|
|
31
31
|
## Data Layer Design
|
|
32
32
|
|