A configurable, tunable, and reproducible library for CTR prediction

Overview

FuxiCTR

This repo is the community dev version of the official release at huawei-noah/benchmark/FuxiCTR.

Click-through rate (CTR) prediction is an critical task for many industrial applications such as online advertising, recommender systems, and sponsored search. FuxiCTR provides an open-source library for CTR prediction, with key features in configurability, tunability, and reproducibility. It also supports the building of the BARS-CTR-Prediction benchmark, which aims for open benchmarking for CTR prediction.

👉 If you find our code or benchmarks helpful in your research, please kindly cite the following paper.

Jieming Zhu, Jinyang Liu, Shuai Yang, Qi Zhang, Xiuqiang He. Open Benchmarking for Click-Through Rate Prediction. The 30th ACM International Conference on Information and Knowledge Management (CIKM), 2021.

Model List

Publication Model Paper Available
WWW'07 LR Predicting Clicks: Estimating the Click-Through Rate for New Ads ✔️
ICDM'10 FM Factorization Machines ✔️
CIKM'15 CCPM A Convolutional Click Prediction Model ✔️
RecSys'16 FFM Field-aware Factorization Machines for CTR Prediction ✔️
RecSys'16 YoutubeDNN Deep Neural Networks for YouTube Recommendations ✔️
DLRS'16 Wide&Deep Wide & Deep Learning for Recommender Systems ✔️
ICDM'16 IPNN Product-based Neural Networks for User Response Prediction ✔️
KDD'16 DeepCross Deep Crossing: Web-Scale Modeling without Manually Crafted Combinatorial Features ✔️
NIPS'16 HOFM Higher-Order Factorization Machines ✔️
IJCAI'17 DeepFM DeepFM: A Factorization-Machine based Neural Network for CTR Prediction ✔️
SIGIR'17 NFM Neural Factorization Machines for Sparse Predictive Analytics ✔️
IJCAI'17 AFM Attentional Factorization Machines: Learning the Weight of Feature Interactions via Attention Networks ✔️
ADKDD'17 DCN Deep & Cross Network for Ad Click Predictions ✔️
WWW'18 FwFM Field-weighted Factorization Machines for Click-Through Rate Prediction in Display Advertising ✔️
KDD'18 xDeepFM xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems ✔️
KDD'18 DIN Deep Interest Network for Click-Through Rate Prediction ✔️
CIKM'19 FiGNN FiGNN: Modeling Feature Interactions via Graph Neural Networks for CTR Prediction ✔️
CIKM'19 AutoInt/AutoInt+ AutoInt: Automatic Feature Interaction Learning via Self-Attentive Neural Networks ✔️
RecSys'19 FiBiNET FiBiNET: Combining Feature Importance and Bilinear feature Interaction for Click-Through Rate Prediction ✔️
WWW'19 FGCNN Feature Generation by Convolutional Neural Network for Click-Through Rate Prediction ✔️
AAAI'19 HFM/HFM+ Holographic Factorization Machines for Recommendation ✔️
NeuralNetworks'20 ONN Operation-aware Neural Networks for User Response Prediction ✔️
AAAI'20 AFN/AFN+ Adaptive Factorization Network: Learning Adaptive-Order Feature Interactions ✔️
AAAI'20 LorentzFM Learning Feature Interactions with Lorentzian Factorization ✔️
WSDM'20 InterHAt Interpretable Click-through Rate Prediction through Hierarchical Attention ✔️
DLP-KDD'20 FLEN FLEN: Leveraging Field for Scalable CTR Prediction ✔️
CIKM'20 DeepIM Deep Interaction Machine: A Simple but Effective Model for High-order Feature Interactions ✔️
WWW'21 FmFM FM^2: Field-matrixed Factorization Machines for Recommender Systems ✔️
WWW'21 DCN-V2 DCN V2: Improved Deep & Cross Network and Practical Lessons for Web-scale Learning to Rank Systems ✔️

Installation

Please follow the guide for installation. In particular, FuxiCTR has the following dependent requirements.

  • python 3.6
  • pytorch v1.0/v1.1
  • pyyaml >=5.1
  • scikit-learn
  • pandas
  • numpy
  • h5py
  • tqdm

Get Started

  1. Run the demo to understand the overall workflow

  2. Run a model with dataset and model config files

  3. Preprocess raw csv data to h5 data

  4. Run a model with h5 data as input

  5. How to make configurations?

  6. Tune the model hyper-parameters via grid search

  7. Run a model with sequence features

  8. Run a model with pretrained embeddings

Code Structure

Check an overview of code structure for more details on API design.

Open Benchmarking

If you are looking for the benchmarking settings and results on the state-of-the-art CTR prediction models, please refer to the BARS-CTR-Prediction benchmark. By clicking on the "SOTA Results", you will find the benchmarking results along with the corresponding reproducing steps.

Discussion

Welcome to join our WeChat group for any questions and discussions.

Join Us

We have open positions for internships and full-time jobs. If you are interested in research and practice in recommender systems, please send your CV to [email protected].

Owner
XUEPAI
XUEPAI
tree-math: mathematical operations for JAX pytrees

tree-math: mathematical operations for JAX pytrees tree-math makes it easy to implement numerical algorithms that work on JAX pytrees, such as iterati

Google 137 Dec 28, 2022
Implementation for "Seamless Manga Inpainting with Semantics Awareness" (SIGGRAPH 2021 issue)

Seamless Manga Inpainting with Semantics Awareness [SIGGRAPH 2021](To appear) | Project Website | BibTex Introduction: Manga inpainting fills up the d

101 Jan 01, 2023
Deep metric learning methods implemented in Chainer

Deep Metric Learning Implementation of several methods for deep metric learning in Chainer v4.2.0. Proxy-NCA: No Fuss Distance Metric Learning using P

ronekko 156 Nov 28, 2022
Western-3DSlicer-Modules - Point-Set Registrations for Ultrasound Probe Calibrations

Point-Set Registrations for Ultrasound Probe Calibrations -Undergraduate Thesis-

Matteo Tanzi 0 May 04, 2022
HybVIO visual-inertial odometry and SLAM system

HybVIO A visual-inertial odometry system with an optional SLAM module. This is a research-oriented codebase, which has been published for the purposes

Spectacular AI 320 Jan 03, 2023
PyTorch common framework to accelerate network implementation, training and validation

pytorch-framework PyTorch common framework to accelerate network implementation, training and validation. This framework is inspired by works from MML

Dongliang Cao 3 Dec 19, 2022
SAFL: A Self-Attention Scene Text Recognizer with Focal Loss

SAFL: A Self-Attention Scene Text Recognizer with Focal Loss This repository implements the SAFL in pytorch. Installation conda env create -f environm

6 Aug 24, 2022
CS5242_2021 - Neural Networks and Deep Learning, NUS CS5242, 2021

CS5242_2021 Neural Networks and Deep Learning, NUS CS5242, 2021 Cloud Machine #1 : Google Colab (Free GPU) Follow this Notebook installation : https:/

Xavier Bresson 165 Oct 25, 2022
ICCV2021 Paper: AutoShape: Real-Time Shape-Aware Monocular 3D Object Detection

ICCV2021 Paper: AutoShape: Real-Time Shape-Aware Monocular 3D Object Detection

Zongdai 107 Dec 20, 2022
Hierarchical Cross-modal Talking Face Generation with Dynamic Pixel-wise Loss (ATVGnet)

Hierarchical Cross-modal Talking Face Generation with Dynamic Pixel-wise Loss (ATVGnet) By Lele Chen , Ross K Maddox, Zhiyao Duan, Chenliang Xu. Unive

Lele Chen 218 Dec 27, 2022
CT Based COVID 19 Diagnose by Image Processing and Deep Learning

This project proposed the deep learning and image processing method to undertake the diagnosis on 2D CT image and 3D CT volume.

1 Feb 08, 2022
Time-series-deep-learning - Developing Deep learning LSTM, BiLSTM models, and NeuralProphet for multi-step time-series forecasting of stock price.

Stock Price Prediction Using Deep Learning Univariate Time Series Predicting stock price using historical data of a company using Neural networks for

Abdultawwab Safarji 7 Nov 27, 2022
Weakly- and Semi-Supervised Panoptic Segmentation (ECCV18)

Weakly- and Semi-Supervised Panoptic Segmentation by Qizhu Li*, Anurag Arnab*, Philip H.S. Torr This repository demonstrates the weakly supervised gro

Qizhu Li 159 Dec 20, 2022
RP-GAN: Stable GAN Training with Random Projections

RP-GAN: Stable GAN Training with Random Projections This repository contains a reference implementation of the algorithm described in the paper: Behna

Ayan Chakrabarti 20 Sep 18, 2021
Using VapourSynth with super resolution models and speeding them up with TensorRT.

VSGAN-tensorrt-docker Using image super resolution models with vapoursynth and speeding them up with TensorRT. Using NVIDIA/Torch-TensorRT combined wi

111 Jan 05, 2023
Code for Iso-Points: Optimizing Neural Implicit Surfaces with Hybrid Representations

Implementation for Iso-Points (CVPR 2021) Official code for paper Iso-Points: Optimizing Neural Implicit Surfaces with Hybrid Representations paper |

Yifan Wang 66 Nov 08, 2022
A flexible framework of neural networks for deep learning

Chainer: A deep learning framework Website | Docs | Install Guide | Tutorials (ja) | Examples (Official, External) | Concepts | ChainerX Forum (en, ja

Chainer 5.8k Jan 06, 2023
Discretized Integrated Gradients for Explaining Language Models (EMNLP 2021)

Discretized Integrated Gradients for Explaining Language Models (EMNLP 2021) Overview of paths used in DIG and IG. w is the word being attributed. The

INK Lab @ USC 17 Oct 27, 2022
AdelaiDepth is an open source toolbox for monocular depth prediction.

AdelaiDepth is an open source toolbox for monocular depth prediction.

Adelaide Intelligent Machines (AIM) Group 743 Jan 01, 2023
FairyTailor: Multimodal Generative Framework for Storytelling

FairyTailor: Multimodal Generative Framework for Storytelling

Eden Bens 172 Dec 30, 2022