Torch-RecHub
A Lighting Pytorch Framework for Recommendation Models, Easy-to-use and Easy-to-extend.
安装
pip install torch-rechub
主要特性
-
scikit-learn风格易用的API(fit、predict),即插即用
-
训练过程与模型定义解耦,易拓展,可针对不同类型的模型设置不同的训练机制
-
使用Pytorch原生Dataset、DataLoader,易修改,自定义数据
-
高度模块化,支持常见Layer(MLP、FM、FFM、target-attention、self-attention、transformer等),容易调用组装成新模型
-
支持常见排序模型(WideDeep、DeepFM、DIN、DCN、xDeepFM等)
-
支持常见召回模型(DSSM、YoutubeDNN、MIND、SARSRec等)
-
丰富的多任务学习支持
- SharedBottom、ESMM、MMOE、PLE、AITM等模型
- GradNorm、UWL等动态loss加权机制
-
聚焦更生态化的推荐场景
- 冷启动
- 延迟反馈
- 去偏
-
支持丰富的训练机制(对比学习、蒸馏学习等)
-
第三方高性能开源Trainer支持(Pytorch Lighting等)
-
更多模型正在开发中
快速使用
from torch_rechub.models import WideDeep, DeepFM, DIN
from torch_rechub.trainers import CTRTrainer
from torch_rechub.basic.utils import DataGenerator
dg = DataGenerator(x, y)
train_dataloader, val_dataloader, test_dataloader = dg.generate_dataloader()
model = DeepFM(deep_features=deep_features, fm_features=fm_features, mlp_params={"dims": [256, 128], "dropout": 0.2, "activation": "relu"})
ctr_trainer = CTRTrainer(model)
ctr_trainer.fit(train_dataloader, val_dataloader)
auc = ctr_trainer.evaluate(ctr_trainer.model, test_dataloader)
Note:
所有模型均在大多数论文提及的多个知名公开数据集中测试,达到或者接近论文性能。
使用案例:Examples
每个数据集将会提供
- 一个使用脚本,包含样本生成、模型训练与测试,并提供一套测评所用参数。
- 一个预处理脚本,将原始数据进行预处理,转化成csv。
- 数据格式参考文件(100条)。
- 全量数据,统一的csv文件,提供高速网盘下载链接和原始数据链接。
Metadata
Release files for byterec 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| byterec-0.0.1.tar.gz | 11.3 kB | Without provenance | Details for byterec-0.0.1.tar.gz |
Release files / byterec-0.0.1.tar.gz
| Download URL | byterec-0.0.1.tar.gz |
|---|---|
| Size | 11.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5e1e01d5817317d7c3400604c55561d6d3a49b5782d5595def2a4893e4854ffc
|
|
BLAKE2b-256 checksum How to use checksums |
e53038eb5ea5f3d900eaac5aff23306cee25fa02df87295f82f509329f07aa03
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.0 CPython/3.10.4
|
Security for byterec 0.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.