
人工智能深度学习机器学习【免费下载链接】DeepCTREasy-to-use,Modular and Extendible package of deep-learning based CTR models .项目地址https://gitcode.com/gh_mirrors/de/DeepCTR点击查看免费下载导读本文以 DeepCTR 官方发布历史文档 docs/source/History.md 为主线系统梳理该深度学习 CTRClick-Through Rate点击率预测模型库自 2018 年 11 月 v0.1.0 首次发布到 v0.9.42026 年 4 月近八年的版本演进脉络。读完本文你将掌握每个版本引入了哪些模型与核心能力、这些能力在仓库源码中如何落地含精确文件路径、模型家族从单点模型到序列模型 多任务模型 Estimator 大规模训练的能力图谱以及随版本演进而不断变化的 TensorFlow / Python 兼容边界与安装约束。DeepCTR 的定位是Easy-to-use、Modular、Extendible的深度学习 CTR 模型库提供tf.keras.Model风格的接口用于快速实验同时提供tensorflow estimator接口用于大规模数据与分布式训练并兼容 TensorFlow 1.x 与 2.x见 README.md。版本历史正是这一能力版图逐步扩张的最可靠索引。一、版本总览一份 8 年的能力增长曲线从 docs/source/History.md 可以看到DeepCTR 的版本节奏大致分四个阶段阶段时间跨度代表版本主题起步期2018-11 ~ 2019-04v0.1.0 → v0.3.x核心模型沉淀、序列输入、哈希在线化扩张期2019-05 ~ 2020-06v0.4.x → v0.8.x模型批量扩充、inputs/feature columns 重构、Estimator 支持精修期2020-10 ~ 2022-11v0.8.x → v0.9.3多任务学习、DCN-Mix、EDCN、Python 3.9/3.10 支持维护期2026-04v0.9.4更高 TensorFlow 版本兼容当前仓库 setup.py 中version0.9.4、python_requires3.7与 History 文档最新条目一致说明本文描述的版本脉络即当前仓库的真实状态。值得注意的是v0.9.4 的依赖策略发生了变化h5py3.7.0Python ≥3.9与h5py2.10.0Python 3.9分叉处理这是适配新版 TensorFlow 生态的直接体现。二、2018 起步期从首个 PyPI 发布到序列输入与注意力模型v0.1.02018-11-24首版发布History 文档记录 DeepCTR 首个版本 v0.1.0 于 2018 年 11 月 24 日发布到 PyPI。从 deepctr/models/init.py 的导出清单可以推断早期模型集中在 FM 系基础模型DeepFM、FNN、PNN、WDL、NFM、AFM、xDeepFM、MLR、DCN等。其中 DeepFM 至今仍是文档示例中使用最频繁的模型如 docs/source/Examples.md 的 Criteo 分类示例也是理解整个库的入口模型。v0.1.42018-11-29文档体系建立该版本在文档中新增 FAQ自此用户可以从官方问答中获取权重保存/加载、学习率设置、embedding 提取等实操方案。FAQ 中给出的权重加载方案model.save_weights/model.load_weights以及load_model(DeepFM.h5, custom_objects)一直沿用至今。v0.1.62018-12-19TensorFlow 1.4-1.12 兼容History 文档特别注明该版本兼容 TensorFlow1.4-1.121.7、1.8除外并引入自动检查新版本机制。这是 DeepCTR 一贯兼容策略的起点——直到 README.md 仍强调DeepCTR does not pin or install TensorFlow for you即 TensorFlow 版本由用户自行安装匹配。v0.2.x2018-12 ~ 2019-01xDeepFM、AutoInt 与序列输入v0.2.02018-12-22新增xDeepFM它通过压缩交互网络CIN显式学习低阶与高阶特征交互。在 deepctr/layers/interaction.py 中CIN层的实现注释明确说明其改编自原论文作者发布的代码同时 v0.2.0 继续强化新版本自动检查。v0.2.12018-12-27新增AutoInt其核心是 deepctr/layers/interaction.py 的InteractingLayer——通过多头自注意力让每个特征与其他所有特征交互自动识别相关特征以形成高阶特征。v0.2.22019-01-01为AFM、AutoInt、DCN、DeepFM、FNN、NFM、PNN、xDeepFM等模型增加序列多值输入支持。这正是 docs/source/Features.md 中VarLenSparseFeat设计诞生的背景序列特征需要maxlen填充、combiner池化sum/mean/max且约定值 0 专用于 padding见 docs/source/Examples.md 的 Multi-value Input: Movielens 示例。v0.2.32019-01-24引入新的特征配置生成方法并修复若干 bug。三、2019 扩张期模型批量扩充与模块化重构2019 年是 DeepCTR 模型增长最快的一年docs/source/History.md 中从 v0.3.1 到 v0.6.3 共记录十余个版本。v0.3.x层库重构与 DIEN/ONN/CCPM/FGCNNv0.3.12019-02-17重构 layers新增BiLSTM与Transformer。这两类基础层至今仍在 deepctr/layers/sequence.py 中承担序列建模职责是 DIEN、DSIN 等序列模型的底层组件。v0.3.22019-03-30新增DIEN深度兴趣演化网络deepctr/models/sequence/dien.py与ONN操作感知神经网络。DIEN 的兴趣提取层与兴趣演化层依赖 deepctr/contrib/rnn.py 中DynamicGRU等实现deepctr/layers/sequence.py随后 v0.6.1 还专门修复了DynamicGRU的 bug说明其重要性。v0.3.32019-04-21新增CCPM卷积点击预测模型及FGCNNLayer。CCPM 通过卷积提取局部-全局关键特征是模型中少有的 CNN 系代表。v0.3.42019-04-27新增FGCNN与FGCNNLayer用 CNN 生成新特征、以 IPNN 结构做深度分类器。v0.4.x哈希在线化与 DSINv0.4.02019-05-04支持特征在线哈希feature hashing on the fly并兼容 python2.7。哈希能力的底层实现在 deepctr/layers/utils.py 的Hash层当vocabulary_path未设置时通过tf.strings.to_hash_bucket_fast将输入哈希到[0, num_buckets)空间。对应的完整示例是 docs/source/Examples.md 中的 Classification: Criteo with feature hashing on the fly——此时SparseFeat需设置use_hashTrue, dtypestring省去了LabelEncoder环节。v0.4.12019-05-19新增DSIN深度会话兴趣网络deepctr/models/sequence/dsin.py使用带偏置编码的自注意力提取会话内兴趣再用 Bi-LSTM 建模会话间演化。v0.5.xinputs 重构、FiBiNET、Linear 层重构v0.5.02019-06-30重构inputs模块。该模块deepctr/inputs.py负责 embedding 矩阵创建、embedding 查找、稠密输入处理与可变长池化是整个库的数据通路核心。重构后create_embedding_matrix、embedding_lookup、varlen_embedding_lookup、get_varlen_pooling_list等函数成为 deepctr/feature_column.py 的直接依赖。v0.5.12019-07-10新增FiBiNET特征重要性 双线性特征交互网络对应测试见 tests/models/FiBiNET_test.py。FiBiNET 通过 SENET 机制动态学习特征重要性、通过双线性函数学习细粒度特征交互是 2019 年特征交互方向的代表工作。v0.5.22019-07-21重构Linear层deepctr/layers/utils.py统一了各模型中线性部分wide 部分的构建方式。v0.6.xTF 1.14/2.0 兼容、CCPM/DynamicGRU 修复、加权序列v0.6.02019-08-02关键里程碑——DeepCTR 开始同时兼容 TensorFlow 1.14 与 2.0.0。双 TF 兼容策略一直延续至今README 中 CI 徽章同时包含 TF1 与 TF2 两条流水线。v0.6.12019-09-08修复CCPM与DynamicGRU的 bug。v0.6.22019-10-03简化输入逻辑。v0.6.32019-11-06新增WeightedSequenceLayerdeepctr/layers/sequence.py支持加权序列特征输入。对应地VarLenSparseFeat增加weight_name与weight_norm参数默认weight_normTrue见 deepctr/feature_column.py在 docs/source/Examples.md 的多值输入示例中通过use_weighted_sequenceTrue并传入weight_namegenres_weight来启用。四、2020 精修期特征列体系成熟与 Estimator 大规模训练v0.7.x特征列重构与数值稳定性修复v0.7.02019-11-24重构 feature columns。这是影响面最大的一次 API 演进deepctr/feature_column.py 中SparseFeat从此支持每个特征独立设置embedding_dim并支持embedding_dimauto按6 * vocabulary_size^0.25自动推导同时引入group_name实现分组交互默认组DEFAULT_GROUP_NAME default_group见同文件第 14 行。v0.7.12020-01-28简化VarLenSparseFeat重构为包含一个SparseFeat实例 maxlen/combiner/length_name/weight_name/weight_norm的命名元组见 deepctr/feature_column.py支持设置weight_normalization并修复linear_feature_columns中SparseFeatembedding 尺寸问题。v0.7.2 / v0.7.3 / v0.7.4 / v0.7.52020-02 ~ 2020-05v0.7.3 修复模型加载已训练权重后预测结果不一致的问题——这对应 FAQ 中load_model需传custom_objects的约定见 docs/source/FAQ.mdv0.7.4 新增FLEN字段利用嵌入网络deepctr/models/flen.py及其配套FieldWiseBiInteraction层deepctr/layers/interaction.pyv0.7.5 修复LayerNormalization的数值不稳定性deepctr/layers/normalization.py。v0.8.xEstimator、预训练 embedding、DCN-Mix 与 DNN 重构v0.8.02020-06-27三个重磅能力支持 TensorFlow Estimator面向大规模数据与分布式训练。仓库新增deepctr/estimator/目录其中 deepctr/estimator/models/deepfm.py 的DeepFMEstimator支持自定义linear_optimizer默认Ftrl与dnn_optimizerdeepctr/estimator/models/init.py 显示已有 DeepFM、FwFM、FiBiNET、FNN、xDeepFM、DeepFEFM 等 Estimator 版本。配套输入函数input_fn_tfrecord、input_fn_pandas位于 deepctr/estimator/inputs.py完整用法见 docs/source/Examples.md 的 Estimator with TFRecord 与 Estimator with Pandas DataFrame 两节。支持不同 embedding 使用不同初始化器以及加载预训练 embeddingSparseFeat的embeddings_initializer与trainable参数在 deepctr/feature_column.py 中实现默认RandomNormal(mean0.0, stddev0.0001, seed2020)FAQ 第 6 节给出了用tf.initializers.constant(pretrained_weights)初始化并用trainableFalse冻结的完整代码。新增FwFM字段加权因子分解机deepctr/models/fwfm.py。v0.8.12020-09-12提升可复现性并修复若干 bug。可复现性相关细节包括SparseFeat默认 embedding 初始化器固定seed2020以及示例中train_test_split(..., random_state2020)、tf.estimator.RunConfig(tf_random_seed2021)等约定。v0.8.22020-10-11重构DNN层deepctr/layers/core.py统一了全连接堆叠、dropout、batch normalization 与激活函数处理。v0.8.32021-01-06新增DCN-Mixdeepctr/models/dcnmix.py对应论文 DCN V2用矩阵核替代向量核并结合 mixture of experts 学习特征交互同时DenseFeat支持transform_fn见 deepctr/feature_column.py可在输入层直接做归一化/变换例如lambda x: (x - 3.0) / 4.2。v0.8.42021-02-12修复DCN-Mix中的 bug。v0.8.52021-03-13新增BST行为序列 Transformerdeepctr/models/sequence/bst.py将 Transformer 引入用户行为序列建模示例复用 examples/run_din.py。五、2021-2026多任务学习、EDCN 与生态兼容收尾v0.8.62021-06-14IFM 系与 FEFM 系一次性新增三个输入感知/字段嵌入系模型IFM输入感知因子分解机deepctr/models/ifm.py为同一特征在不同样本中学得独特的输入感知因子DIFM双输入感知因子分解机deepctr/models/difm.py在 bit-wise 与 vector-wise 两个层级同时自适应重加权原始特征表示FEFM与DeepFEFMdeepctr/models/deepfefm.py为每个字段对学习对称矩阵 embedding模型复杂度显著低于 FFM、与 FwFM 相当。v0.8.72021-07-18Hash 层支持预定义键值词汇表此前Hash层只能做纯哈希该版本起支持通过vocabulary_path加载 CSV 词汇表键值映射做确定性查表。对应实现见 deepctr/layers/utils.py使用TextFileInitializer(vocabulary_path, string, 1, int64, 0, delimiter,)构建StaticHashTable表中缺失的键落入default_value0。文件格式为每行两列逗号分隔值列、键列键缺失时返回 0因此哈希值需从 1 开始编号SparseFeat的vocabulary_path参数说明见 docs/source/Features.md 的 SparseFeat 小节。配套示例使用仓库中 examples/movielens_age_vocabulary.csv 为age特征做键值映射见 docs/source/Examples.md 的 Hash Layer with pre-defined key-value vocabulary。v0.9.02021-09-03多任务学习模型家族多任务学习是 DeepCTR 能力版图的最后一块大拼图该版本一次性新增四个多任务模型均在 deepctr/models/multitask/ 下模型文件核心思想SharedBottomsharedbottom.py硬参数共享所有任务共享隐藏层各任务保留独立输出层ESMMesmm.py全空间多任务模型在 impression → click → conversion 全链路建模 CVRMMOEmmoe.py多门控专家混合任务共享专家子模型 各任务独立门控网络PLEple.py渐进式分层抽取显式分离共享与任务特定组件对应示例 examples/run_mtl.py 与 docs/source/Examples.md 的 MultiTask Learning: MMOE 节展示了如何在 census-income 数据集上同时预测收入是否超 5 万美元与婚姻状态两个任务其中MMOE(dnn_feature_columns, tower_dnn_hidden_units[], task_types[binary,binary], task_names[...])的用法清晰可见。v0.9.1 ~ v0.9.32022TF 2.x 兼容与 EDCNv0.9.12022-06-11提升与 TensorFlow2.x的兼容性。v0.9.22022-10-15支持 Python3.9、3.10与 setup.py 中python_requires3.7及 classifiersPython 3.7/3.10/3.11/3.12吻合。v0.9.32022-11-10新增EDCN增强显式与隐式特征交互 DCNdeepctr/models/edcn.py通过 bridge 模块与 regulation 模块协同捕获并行网络各隐藏层的层间交互信号、学习判别性特征分布。v0.9.42026-04-16最新版支持更高的 TensorFlow 版本是当前仓库的最新状态setup.py 中version0.9.4。README 与 FAQ 第 8 节给出了配套的兼容性指引安装 DeepCTR 前先自行安装匹配 Python/平台环境的 TensorFlow且 Python ≥3.9 时允许h5py3.7.0若 TensorFlow 报 NumPy 冲突需按其要求降级如numpy2应统一使用公开的tensorflow.keras接口避免混用tensorflow.python.keras私有 API 导致序列化与优化器/指标加载失败。六、版本演进背后的代码主线一份源码级索引版本历史看似是发布日志实则映射了仓库内几条清晰的代码主线方便你按需深入特征列主线deepctr/feature_column.pySparseFeatv0.7.0 起支持独立 embedding_dim 与 group_namev0.8.0 起支持独立初始化器与 trainablev0.8.7 起支持 vocabulary_path、DenseFeatv0.8.3 起支持 transform_fn、VarLenSparseFeatv0.7.1 简化v0.6.3 起支持权重序列——所有版本的功能点都汇聚于此。层库主线deepctr/layers/Hashv0.4.0 引入、v0.8.7 扩展、Linearv0.5.2 重构、DNNv0.8.2 重构、BiInteractionPoolingNFM、CINxDeepFM、InteractingLayerAutoInt、FieldWiseBiInteractionFLEN、WeightedSequenceLayerv0.6.3、DynamicGRUDIEN等每个模型都由这些可复用的 Keras Layer 拼装而成。模型注册表主线deepctr/models/init.py一行一模型地记录着 20 个单任务模型、4 个序列模型DIN/DIEN/DSIN/BST与 4 个多任务模型SharedBottom/ESMM/MMOE/PLE对照 History 文档可精确还原每个模型的引入版本。大规模训练主线deepctr/estimator/v0.8.0 引入与 Keras 版模型一一对应DeepFMEstimator、FwFMEstimator、FiBiNETEstimator 等配合input_fn_tfrecord/input_fn_pandas支持 TFRecord 与 DataFrame 两种输入。七、如何验证版本能力从示例与测试入手仓库为上述绝大多数版本功能提供了可直接运行与验证的配套材料示例脚本examples/run_classification_criteo.pyKeras 分类、run_classification_criteo_hash.pyv0.4.0 哈希、run_classification_criteo_multi_gpu.pyFAQ 第 9 节提及的多 GPU、run_din.py/run_dien.py/run_dsin.py序列模型BST 亦复用 run_din.py、run_flen.pyv0.7.4、run_mtl.pyv0.9.0 多任务、run_multivalue_movielens*.py序列/哈希/词汇表多值输入、run_estimator_*.pyv0.8.0 Estimator、gen_tfrecords.py生成 Estimator 示例所需的 TFRecord。示例配套数据均位于 examples/ 下如 criteo_sample.txt、movielens_sample.txt、census-income.sample。测试套件tests/models/每个模型都有独立的 smoke test如 DeepFM_test.py、EDCN_test.py、MTL_test.pytests/layers/ 则覆盖各核心层的数值正确性——它们是验证某个版本新增能力在本地是否正常工作的最快途径。文档体系docs/source/Features.md 详解全部模型与特征列参数Examples.md 提供 12 个带完整代码的实战示例FAQ.md 覆盖权重加载、预训练 embedding、GPU/多 GPU、TF/Keras/h5py 兼容等高频问题Quick-Start.md 与 Model_Methods.md 给出 4 步上手流程。八、给新用户的版本选择建议结合 History 文档与当前仓库约束可以给出如下实操建议注意以下兼容信息均以当前仓库 README.md、setup.py、docs/source/FAQ.md 为准新项目直接使用 v0.9.4它同时保留完整的 Keras 模型族、Estimator 接口、多任务模型与序列模型且对更高 TensorFlow 版本支持最好。安装顺序应为先pip install tensorflow再pip install deepctrDeepCTR 不替你锁定 TF 版本。老项目升级时关注三个 API 断点v0.5.0inputs 重构、v0.6.2输入逻辑简化、v0.7.0feature columns 重构SparseFeat/VarLenSparseFeat签名变化——这三个版本的变更影响所有模型调用方式升级前应核对 docs/source/Features.md 中当前的特征列签名。大规模训练选 Estimator 家族v0.8.0 起提供的DeepFMEstimator等接口配合input_fn_tfrecord更适合海量数据与分布式场景单机实验仍以model.fit/model.predict的 Keras 风格为主。总而言之docs/source/History.md 不仅是一份发布日志更是理解 DeepCTR 架构演进的最佳地图顺着版本号逐一对照 deepctr/models/init.py、deepctr/feature_column.py 与 deepctr/layers/ 中的实现你就能以版本 → 能力 → 代码的三层视角完整掌握这个 CTR 模型库的设计哲学与使用方法。赞分享人工智能深度学习机器学习【免费下载链接】DeepCTREasy-to-use,Modular and Extendible package of deep-learning based CTR models .项目地址https://gitcode.com/gh_mirrors/de/DeepCTR点击查看免费下载相关推荐Cerebro历史版本特性回顾从v0.1.0到v0.9.4的完整演进指南Cerebro历史版本特性回顾从v0.1.0到v0.9.4的完整演进指南 Cerebro是一款功能强大的Elasticsearch集群管理工具为开发者和运维后端数据库客户端运维如何用Android TTS Server打造个性化朗读体验掌握这3个核心技巧如何用Android TTS Server打造个性化朗读体验掌握这3个核心技巧 TTS Server Android是一款功能强大的Android系统TTS应语音后端音频postgresql-event-sourcing完全指南如何用Spring Boot构建事件驱动系统postgresql event sourcing完全指南如何用Spring Boot构建事件驱动系统 postgresql event sourcing是一创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考