diff --git a/TensorFlow/built-in/recommendation/DeepCTR_Series_for_TensorFlow/README.md b/TensorFlow/built-in/recommendation/DeepCTR_Series_for_TensorFlow/README.md index f3adc32b34f567b9637bf2597796d60920b44d16..6f08d2511906eea06da9659007165f04d3553813 100644 --- a/TensorFlow/built-in/recommendation/DeepCTR_Series_for_TensorFlow/README.md +++ b/TensorFlow/built-in/recommendation/DeepCTR_Series_for_TensorFlow/README.md @@ -1,136 +1,214 @@ -# DeepCTR - -[](https://pypi.org/project/deepctr) -[](https://pypi.org/project/deepctr) -[](https://pepy.tech/project/deepctr) -[](https://pypi.org/project/deepctr) -[](https://github.com/shenweichen/deepctr/issues) - - - -[](https://deepctr-doc.readthedocs.io/) - -[](https://codecov.io/gh/shenweichen/DeepCTR) -[](https://www.codacy.com/gh/shenweichen/DeepCTR?utm_source=github.com&utm_medium=referral&utm_content=shenweichen/DeepCTR&utm_campaign=Badge_Grade) -[](./README.md#DisscussionGroup) -[](https://github.com/shenweichen/deepctr/blob/master/LICENSE) - - - -DeepCTR is a **Easy-to-use**,**Modular** and **Extendible** package of deep-learning based CTR models along with lots of -core components layers which can be used to easily build custom models.You can use any complex model with `model.fit()` -,and `model.predict()` . - -- Provide `tf.keras.Model` like interface for **quick experiment** - . [example](https://deepctr-doc.readthedocs.io/en/latest/Quick-Start.html#getting-started-4-steps-to-deepctr) -- Provide `tensorflow estimator` interface for **large scale data** and **distributed training** - . [example](https://deepctr-doc.readthedocs.io/en/latest/Quick-Start.html#getting-started-4-steps-to-deepctr-estimator-with-tfrecord) -- It is compatible with both `tf 1.x` and `tf 2.x`. - -Some related projects: - -- DeepMatch: https://github.com/shenweichen/DeepMatch -- DeepCTR-Torch: https://github.com/shenweichen/DeepCTR-Torch - -Let's [**Get Started!**](https://deepctr-doc.readthedocs.io/en/latest/Quick-Start.html)([Chinese -Introduction](https://zhuanlan.zhihu.com/p/53231955)) and [welcome to join us!](./CONTRIBUTING.md) - -## Models List - -| Model | Paper | -| :------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Convolutional Click Prediction Model | [CIKM 2015][A Convolutional Click Prediction Model](http://ir.ia.ac.cn/bitstream/173211/12337/1/A%20Convolutional%20Click%20Prediction%20Model.pdf) | -| Factorization-supported Neural Network | [ECIR 2016][Deep Learning over Multi-field Categorical Data: A Case Study on User Response Prediction](https://arxiv.org/pdf/1601.02376.pdf) | -| Product-based Neural Network | [ICDM 2016][Product-based neural networks for user response prediction](https://arxiv.org/pdf/1611.00144.pdf) | -| Wide & Deep | [DLRS 2016][Wide & Deep Learning for Recommender Systems](https://arxiv.org/pdf/1606.07792.pdf) | -| DeepFM | [IJCAI 2017][DeepFM: A Factorization-Machine based Neural Network for CTR Prediction](http://www.ijcai.org/proceedings/2017/0239.pdf) | -| Piece-wise Linear Model | [arxiv 2017][Learning Piece-wise Linear Models from Large Scale Data for Ad Click Prediction](https://arxiv.org/abs/1704.05194) | -| Deep & Cross Network | [ADKDD 2017][Deep & Cross Network for Ad Click Predictions](https://arxiv.org/abs/1708.05123) | -| Attentional Factorization Machine | [IJCAI 2017][Attentional Factorization Machines: Learning the Weight of Feature Interactions via Attention Networks](http://www.ijcai.org/proceedings/2017/435) | -| Neural Factorization Machine | [SIGIR 2017][Neural Factorization Machines for Sparse Predictive Analytics](https://arxiv.org/pdf/1708.05027.pdf) | -| xDeepFM | [KDD 2018][xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems](https://arxiv.org/pdf/1803.05170.pdf) | -| Deep Interest Network | [KDD 2018][Deep Interest Network for Click-Through Rate Prediction](https://arxiv.org/pdf/1706.06978.pdf) | -| AutoInt | [CIKM 2019][AutoInt: Automatic Feature Interaction Learning via Self-Attentive Neural Networks](https://arxiv.org/abs/1810.11921) | -| Deep Interest Evolution Network | [AAAI 2019][Deep Interest Evolution Network for Click-Through Rate Prediction](https://arxiv.org/pdf/1809.03672.pdf) | -| FwFM | [WWW 2018][Field-weighted Factorization Machines for Click-Through Rate Prediction in Display Advertising](https://arxiv.org/pdf/1806.03514.pdf) | -| ONN | [arxiv 2019][Operation-aware Neural Networks for User Response Prediction](https://arxiv.org/pdf/1904.12579.pdf) | -| FGCNN | [WWW 2019][Feature Generation by Convolutional Neural Network for Click-Through Rate Prediction ](https://arxiv.org/pdf/1904.04447) | -| Deep Session Interest Network | [IJCAI 2019][Deep Session Interest Network for Click-Through Rate Prediction ](https://arxiv.org/abs/1905.06482) | -| FiBiNET | [RecSys 2019][FiBiNET: Combining Feature Importance and Bilinear feature Interaction for Click-Through Rate Prediction](https://arxiv.org/pdf/1905.09433.pdf) | -| FLEN | [arxiv 2019][FLEN: Leveraging Field for Scalable CTR Prediction](https://arxiv.org/pdf/1911.04690.pdf) | -| BST | [DLP-KDD 2019][Behavior sequence transformer for e-commerce recommendation in Alibaba](https://arxiv.org/pdf/1905.06874.pdf) | -| IFM | [IJCAI 2019][An Input-aware Factorization Machine for Sparse Prediction](https://www.ijcai.org/Proceedings/2019/0203.pdf) | -| DCN V2 | [arxiv 2020][DCN V2: Improved Deep & Cross Network and Practical Lessons for Web-scale Learning to Rank Systems](https://arxiv.org/abs/2008.13535) | -| DIFM | [IJCAI 2020][A Dual Input-aware Factorization Machine for CTR Prediction](https://www.ijcai.org/Proceedings/2020/0434.pdf) | -| FEFM and DeepFEFM | [arxiv 2020][Field-Embedded Factorization Machines for Click-through rate prediction](https://arxiv.org/abs/2009.09931) | -| SharedBottom | [arxiv 2017][An Overview of Multi-Task Learning in Deep Neural Networks](https://arxiv.org/pdf/1706.05098.pdf) | -| ESMM | [SIGIR 2018][Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion Rate](https://arxiv.org/abs/1804.07931) | -| MMOE | [KDD 2018][Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts](https://dl.acm.org/doi/abs/10.1145/3219819.3220007) | -| PLE | [RecSys 2020][Progressive Layered Extraction (PLE): A Novel Multi-Task Learning (MTL) Model for Personalized Recommendations](https://dl.acm.org/doi/10.1145/3383313.3412236) | - -## Citation - -- Weichen Shen. (2017). DeepCTR: Easy-to-use,Modular and Extendible package of deep-learning based CTR - models. https://github.com/shenweichen/deepctr. - -If you find this code useful in your research, please cite it using the following BibTeX: - -```bibtex -@misc{shen2017deepctr, - author = {Weichen Shen}, - title = {DeepCTR: Easy-to-use,Modular and Extendible package of deep-learning based CTR models}, - year = {2017}, - publisher = {GitHub}, - journal = {GitHub Repository}, - howpublished = {\url{https://github.com/shenweichen/deepctr}}, -} +- [基本信息](#基本信息.md) +- [概述](#概述.md) +- [训练环境准备](#训练环境准备.md) +- [快速上手](#快速上手.md) +- [迁移学习指导](#迁移学习指导.md) +- [高级参考](#高级参考.md) +## 基本信息 + +**发布者(Publisher):Huawei** + +**应用领域(Application Domain):Recommendation** + +**版本(Version):1.1** + +**修改时间(Modified) :2022.6.11** + +**大小(Size):44KB** + +**框架(Framework):TensorFlow 1.15.0** + +**模型格式(Model Format):ckpt** + +**精度(Precision):Mixed** + +**处理器(Processor):昇腾910** + +**应用级别(Categories):Official** + +**描述(Description):基于TensorFlow框架的推荐网络训练代码** + +## 概述 + + +DeepCTR 是一个**易于使用**、**模块化**和**可扩展**的基于深度学习的 CTR 模型包以及许多可用于轻松构建自定义模型的核心组件层,在该网络中我们定义了FwFM,MMoE,DeepFM,FLEN,DCNMix五个模型。 + +- 参考论文: + + https://arxiv.org/pdf/1806.03514.pdf + + https://dl.acm.org/doi/abs/10.1145/3219819.3220007 + + https://www.ijcai.org/proceedings/2017/0239.pdf + + https://arxiv.org/pdf/1911.04690.pdf + + https://arxiv.org/pdf/2008.13535 + +- 参考实现: + + https://github.com/shenweichen/deepctr + +- 适配昇腾 AI 处理器的实现: + + https://gitee.com/ascend/ModelZoo-TensorFlow/tree/master/TensorFlow/built-in/recommendation/DeepCTR_Series_for_TensorFlow + +- 通过Git获取对应commit\_id的代码方法如下: + + git clone {repository_url} # 克隆仓库的代码 + cd {repository_name} # 切换到模型的代码仓目录 + git checkout {branch} # 切换到对应分支 + git reset --hard {commit_id} # 代码设置到对应的commit_id + cd {code_path} # 切换到模型代码所在路径,若仓库下只有该模型,则无需切换 + + +#### 默认配置 + +- 训练超参(单卡): + - Batch size: 128 + - epoch: 10 + + +#### 支持特性 + +| 特性列表 | 是否支持 | +| ---------- | -------- | +| 分布式训练 | 否 | +| 混合精度 | 是 | +| 数据并行 | 是 | + + +#### 混合精度训练 + +昇腾910 AI处理器提供自动混合精度功能,可以针对全网中float32数据类型的算子,按照内置的优化策略,自动将部分float32的算子降低精度到float16,从而在精度损失很小的情况下提升系统性能并减少内存使用。 + +#### 开启混合精度 + +拉起脚本中,传入--precision_mode='allow_mix_precision' + +``` + ./train_ID3057_FwFM_performance_1p.sh --help + +parameter explain: + --precision_mode precision mode(allow_fp32_to_fp16/force_fp16/must_keep_origin_dtype/allow_mix_precision) + --over_dump if or not over detection, default is False + --data_dump_flag data dump flag, default is False + --data_dump_step data dump step, default is 10 + --profiling if or not profiling for performance debug, default is False + --data_path source data of training + -h/--help show help message ``` -## DisscussionGroup - -- [Discussions](https://github.com/shenweichen/DeepCTR/discussions) -- 公众号:**浅梦学习笔记** -- wechat ID: **deepctrbot** - -  - -## Main contributors([welcome to join us!](./CONTRIBUTING.md)) - -
- ![]() - Shen Weichen - - Alibaba Group - |
-
- ![]() - Zan Shuxun - Alibaba Group - |
-
- ![]() - Harshit Pande - Amazon - |
-
- ![]() - Lai Mincai - ShanghaiTech University - |
-
- ![]() - Li Zichao - Peking University - |
-
- ![]() - Tan Tingyi - Chongqing University |
-