From 918abde97ff02087cca4312352039adcd2235c12 Mon Sep 17 00:00:00 2001 From: xpai <73411968+xpai@users.noreply.github.com> Date: Thu, 6 Jun 2024 18:54:49 +0800 Subject: [PATCH] Update benchmarks --- CITATION | 14 + docs/CTR/leaderboard/amazonelectronics_x1.csv | 4 + docs/CTR/leaderboard/kuaivideo_x1.csv | 4 + docs/CTR/leaderboard/microvideo1.7m_x1.csv | 4 + docs/CTR/leaderboard/microvideo1.7m_x1.md | 2 +- docs/CTR/leaderboard/taobaoad_x1.csv | 4 + docs/Pretraining/papers.md | 39 + ...CNv2_amazonelectronics_x1_015_a0cca3e4.log | 145 ++ ...2_amazonelectronics_x1_tuner_config_03.csv | 16 + ..._amazonelectronics_x1_tuner_config_03.yaml | 50 + .../dataset_config.yaml | 16 + .../model_config.yaml | 784 ++++++++ .../APG_DCNv2_amazonelectronics_x1/README.md | 220 +++ .../environments.txt | 17 + .../results.csv | 1 + .../APG_DCNv2_kuaivideo_x1_010_2fb9cb37.log | 153 ++ ...APG_DCNv2_kuaivideo_x1_tuner_config_04.csv | 12 + ...PG_DCNv2_kuaivideo_x1_tuner_config_04.yaml | 67 + .../dataset_config.yaml | 26 + .../model_config.yaml | 675 +++++++ .../ctr/APG/APG_DCNv2_kuaivideo_x1/README.md | 228 +++ .../APG_DCNv2_kuaivideo_x1/environments.txt | 17 + .../APG/APG_DCNv2_kuaivideo_x1/results.csv | 1 + ...G_DCNv2_microvideo1.7m_x1_007_863bfc5f.log | 151 ++ ...CNv2_microvideo1.7m_x1_tuner_config_01.csv | 4 + ...Nv2_microvideo1.7m_x1_tuner_config_01.yaml | 59 + .../dataset_config.yaml | 21 + .../model_config.yaml | 424 +++++ .../APG/APG_DCNv2_microvideo1.7m_x1/README.md | 226 +++ .../environments.txt | 17 + .../APG_DCNv2_microvideo1.7m_x1/results.csv | 1 + .../APG_DCNv2_taobaoad_x1_030_5fbce754.log | 129 ++ .../APG_DCNv2_taobaoad_x1_tuner_config_01.csv | 22 + ...APG_DCNv2_taobaoad_x1_tuner_config_01.yaml | 53 + .../dataset_config.yaml | 24 + .../model_config.yaml | 1568 ++++++++++++++++ .../ctr/APG/APG_DCNv2_taobaoad_x1/README.md | 204 +++ .../APG_DCNv2_taobaoad_x1/environments.txt | 17 + .../ctr/APG/APG_DCNv2_taobaoad_x1/results.csv | 1 + ...epFM_amazonelectronics_x1_001_daf845b0.log | 149 ++ ...M_amazonelectronics_x1_tuner_config_08.csv | 8 + ..._amazonelectronics_x1_tuner_config_08.yaml | 46 + .../dataset_config.yaml | 16 + .../model_config.yaml | 344 ++++ .../APG_DeepFM_amazonelectronics_x1/README.md | 224 +++ .../environments.txt | 17 + .../results.csv | 1 + .../APG_DeepFM_kuaivideo_x1_007_5838d908.log | 142 ++ ...PG_DeepFM_kuaivideo_x1_tuner_config_01.csv | 8 + ...G_DeepFM_kuaivideo_x1_tuner_config_01.yaml | 61 + .../dataset_config.yaml | 26 + .../model_config.yaml | 600 ++++++ .../ctr/APG/APG_DeepFM_kuaivideo_x1/README.md | 217 +++ .../APG_DeepFM_kuaivideo_x1/environments.txt | 17 + .../APG/APG_DeepFM_kuaivideo_x1/results.csv | 1 + ..._DeepFM_microvideo1.7m_x1_023_d3a3ee84.log | 160 ++ ...epFM_microvideo1.7m_x1_tuner_config_01.csv | 16 + ...pFM_microvideo1.7m_x1_tuner_config_01.yaml | 54 + .../dataset_config.yaml | 21 + .../model_config.yaml | 1128 ++++++++++++ .../APG_DeepFM_microvideo1.7m_x1/README.md | 235 +++ .../environments.txt | 17 + .../APG_DeepFM_microvideo1.7m_x1/results.csv | 1 + .../APG_DeepFM_taobaoad_x1_003_d01b9650.log | 135 ++ ...APG_DeepFM_taobaoad_x1_tuner_config_04.csv | 5 + ...PG_DeepFM_taobaoad_x1_tuner_config_04.yaml | 51 + .../dataset_config.yaml | 24 + .../model_config.yaml | 258 +++ .../ctr/APG/APG_DeepFM_taobaoad_x1/README.md | 210 +++ .../APG_DeepFM_taobaoad_x1/environments.txt | 17 + .../APG/APG_DeepFM_taobaoad_x1/results.csv | 1 + ...DMIN_amazonelectronics_x1_007_2401549e.log | 153 ++ ...N_amazonelectronics_x1_tuner_config_05.csv | 12 + ..._amazonelectronics_x1_tuner_config_05.yaml | 53 + .../dataset_config.yaml | 18 + .../model_config.yaml | 612 +++++++ .../DMIN/DMIN_amazonelectronics_x1/README.md | 228 +++ .../environments.txt | 17 + .../DMIN_amazonelectronics_x1/results.csv | 1 + .../DMIN_kuaivideo_x1_020_d155f57e.log | 151 ++ .../DMIN_kuaivideo_x1_tuner_config_02.csv | 12 + .../DMIN_kuaivideo_x1_tuner_config_02.yaml | 64 + .../dataset_config.yaml | 26 + .../model_config.yaml | 1440 +++++++++++++++ ranking/ctr/DMIN/DMIN_kuaivideo_x1/README.md | 226 +++ .../DMIN/DMIN_kuaivideo_x1/environments.txt | 17 + .../ctr/DMIN/DMIN_kuaivideo_x1/results.csv | 1 + .../DMIN_microvideo1.7m_x1_002_27dc4206.log | 139 ++ ...DMIN_microvideo1.7m_x1_tuner_config_04.csv | 16 + ...MIN_microvideo1.7m_x1_tuner_config_04.yaml | 58 + .../dataset_config.yaml | 21 + .../model_config.yaml | 832 +++++++++ .../ctr/DMIN/DMIN_microvideo1.7m_x1/README.md | 214 +++ .../DMIN_microvideo1.7m_x1/environments.txt | 17 + .../DMIN/DMIN_microvideo1.7m_x1/results.csv | 1 + .../DMIN_taobaoad_x1_011_0be611e8.log | 138 ++ .../DMIN_taobaoad_x1_tuner_config_05.csv | 32 + .../DMIN_taobaoad_x1_tuner_config_05.yaml | 54 + .../dataset_config.yaml | 24 + .../model_config.yaml | 1632 +++++++++++++++++ ranking/ctr/DMIN/DMIN_taobaoad_x1/README.md | 213 +++ .../DMIN/DMIN_taobaoad_x1/environments.txt | 17 + ranking/ctr/DMIN/DMIN_taobaoad_x1/results.csv | 1 + .../DMR_amazonelectronics_x1_002_bc859be0.log | 161 ++ ...R_amazonelectronics_x1_tuner_config_07.csv | 24 + ..._amazonelectronics_x1_tuner_config_07.yaml | 53 + .../dataset_config.yaml | 18 + .../model_config.yaml | 1176 ++++++++++++ .../DMR/DMR_amazonelectronics_x1/README.md | 236 +++ .../DMR_amazonelectronics_x1/environments.txt | 17 + .../DMR/DMR_amazonelectronics_x1/results.csv | 1 + .../DMR_kuaivideo_x1_003_e9fb63c2.log | 149 ++ .../DMR_kuaivideo_x1_tuner_config_01.csv | 8 + .../DMR_kuaivideo_x1_tuner_config_01.yaml | 63 + .../dataset_config.yaml | 26 + .../model_config.yaml | 464 +++++ ranking/ctr/DMR/DMR_kuaivideo_x1/README.md | 224 +++ .../ctr/DMR/DMR_kuaivideo_x1/environments.txt | 17 + ranking/ctr/DMR/DMR_kuaivideo_x1/results.csv | 1 + .../DMR_microvideo1.7m_x1_008_dac65736.log | 158 ++ .../DMR_microvideo1.7m_x1_tuner_config_01.csv | 8 + ...DMR_microvideo1.7m_x1_tuner_config_01.yaml | 57 + .../dataset_config.yaml | 21 + .../model_config.yaml | 400 ++++ .../ctr/DMR/DMR_microvideo1.7m_x1/README.md | 233 +++ .../DMR_microvideo1.7m_x1/environments.txt | 17 + .../ctr/DMR/DMR_microvideo1.7m_x1/results.csv | 1 + .../DMR_taobaoad_x1_014_62a4965f.log | 131 ++ .../DMR_taobaoad_x1_tuner_config_01.csv | 16 + .../DMR_taobaoad_x1_tuner_config_01.yaml | 54 + .../dataset_config.yaml | 24 + .../model_config.yaml | 784 ++++++++ ranking/ctr/DMR/DMR_taobaoad_x1/README.md | 206 +++ .../ctr/DMR/DMR_taobaoad_x1/environments.txt | 17 + ranking/ctr/DMR/DMR_taobaoad_x1/results.csv | 1 + ...PNet_amazonelectronics_x1_023_0b353410.log | 155 ++ ...t_amazonelectronics_x1_tuner_config_03.csv | 24 + ..._amazonelectronics_x1_tuner_config_03.yaml | 41 + .../dataset_config.yaml | 16 + .../model_config.yaml | 864 +++++++++ .../PPNet_amazonelectronics_x1/README.md | 230 +++ .../environments.txt | 17 + .../PPNet_amazonelectronics_x1/results.csv | 1 + .../PPNet_kuaivideo_x1_018_71ca4227.log | 133 ++ .../PPNet_kuaivideo_x1_tuner_config_01.csv | 18 + .../PPNet_kuaivideo_x1_tuner_config_01.yaml | 55 + .../dataset_config.yaml | 26 + .../model_config.yaml | 1038 +++++++++++ .../ctr/PPNet/PPNet_kuaivideo_x1/README.md | 208 +++ .../PPNet/PPNet_kuaivideo_x1/environments.txt | 17 + .../ctr/PPNet/PPNet_kuaivideo_x1/results.csv | 1 + .../PPNet_microvideo1.7m_x1_001_97742c0f.log | 161 ++ ...PNet_microvideo1.7m_x1_tuner_config_01.csv | 15 + ...Net_microvideo1.7m_x1_tuner_config_01.yaml | 48 + .../dataset_config.yaml | 21 + .../model_config.yaml | 960 ++++++++++ .../PPNet/PPNet_microvideo1.7m_x1/README.md | 236 +++ .../PPNet_microvideo1.7m_x1/environments.txt | 17 + .../PPNet/PPNet_microvideo1.7m_x1/results.csv | 1 + .../PPNet_taobaoad_x1_023_a59da105.log | 136 ++ .../PPNet_taobaoad_x1_tuner_config_01.csv | 30 + .../PPNet_taobaoad_x1_tuner_config_01.yaml | 45 + .../dataset_config.yaml | 24 + .../model_config.yaml | 1086 +++++++++++ ranking/ctr/PPNet/PPNet_taobao_x1/README.md | 211 +++ .../PPNet/PPNet_taobao_x1/environments.txt | 17 + ranking/ctr/PPNet/PPNet_taobao_x1/results.csv | 1 + scripts/gen_readme_md.py | 172 ++ 168 files changed, 26860 insertions(+), 1 deletion(-) create mode 100644 CITATION create mode 100644 docs/Pretraining/papers.md create mode 100644 ranking/ctr/APG/APG_DCNv2_amazonelectronics_x1/APG_DCNv2_amazonelectronics_x1_015_a0cca3e4.log create mode 100644 ranking/ctr/APG/APG_DCNv2_amazonelectronics_x1/APG_DCNv2_amazonelectronics_x1_tuner_config_03.csv create mode 100644 ranking/ctr/APG/APG_DCNv2_amazonelectronics_x1/APG_DCNv2_amazonelectronics_x1_tuner_config_03.yaml create mode 100644 ranking/ctr/APG/APG_DCNv2_amazonelectronics_x1/APG_DCNv2_amazonelectronics_x1_tuner_config_03/dataset_config.yaml create mode 100644 ranking/ctr/APG/APG_DCNv2_amazonelectronics_x1/APG_DCNv2_amazonelectronics_x1_tuner_config_03/model_config.yaml create mode 100644 ranking/ctr/APG/APG_DCNv2_amazonelectronics_x1/README.md create mode 100644 ranking/ctr/APG/APG_DCNv2_amazonelectronics_x1/environments.txt create mode 100644 ranking/ctr/APG/APG_DCNv2_amazonelectronics_x1/results.csv create mode 100644 ranking/ctr/APG/APG_DCNv2_kuaivideo_x1/APG_DCNv2_kuaivideo_x1_010_2fb9cb37.log create mode 100644 ranking/ctr/APG/APG_DCNv2_kuaivideo_x1/APG_DCNv2_kuaivideo_x1_tuner_config_04.csv create mode 100644 ranking/ctr/APG/APG_DCNv2_kuaivideo_x1/APG_DCNv2_kuaivideo_x1_tuner_config_04.yaml create mode 100644 ranking/ctr/APG/APG_DCNv2_kuaivideo_x1/APG_DCNv2_kuaivideo_x1_tuner_config_04/dataset_config.yaml create mode 100644 ranking/ctr/APG/APG_DCNv2_kuaivideo_x1/APG_DCNv2_kuaivideo_x1_tuner_config_04/model_config.yaml create mode 100644 ranking/ctr/APG/APG_DCNv2_kuaivideo_x1/README.md create mode 100644 ranking/ctr/APG/APG_DCNv2_kuaivideo_x1/environments.txt create mode 100644 ranking/ctr/APG/APG_DCNv2_kuaivideo_x1/results.csv create mode 100644 ranking/ctr/APG/APG_DCNv2_microvideo1.7m_x1/APG_DCNv2_microvideo1.7m_x1_007_863bfc5f.log create mode 100644 ranking/ctr/APG/APG_DCNv2_microvideo1.7m_x1/APG_DCNv2_microvideo1.7m_x1_tuner_config_01.csv create mode 100644 ranking/ctr/APG/APG_DCNv2_microvideo1.7m_x1/APG_DCNv2_microvideo1.7m_x1_tuner_config_01.yaml create mode 100644 ranking/ctr/APG/APG_DCNv2_microvideo1.7m_x1/APG_DCNv2_microvideo1.7m_x1_tuner_config_01/dataset_config.yaml create mode 100644 ranking/ctr/APG/APG_DCNv2_microvideo1.7m_x1/APG_DCNv2_microvideo1.7m_x1_tuner_config_01/model_config.yaml create mode 100644 ranking/ctr/APG/APG_DCNv2_microvideo1.7m_x1/README.md create mode 100644 ranking/ctr/APG/APG_DCNv2_microvideo1.7m_x1/environments.txt create mode 100644 ranking/ctr/APG/APG_DCNv2_microvideo1.7m_x1/results.csv create mode 100644 ranking/ctr/APG/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_030_5fbce754.log create mode 100644 ranking/ctr/APG/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01.csv create mode 100644 ranking/ctr/APG/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01.yaml create mode 100644 ranking/ctr/APG/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01/dataset_config.yaml create mode 100644 ranking/ctr/APG/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01/model_config.yaml create mode 100644 ranking/ctr/APG/APG_DCNv2_taobaoad_x1/README.md create mode 100644 ranking/ctr/APG/APG_DCNv2_taobaoad_x1/environments.txt create mode 100644 ranking/ctr/APG/APG_DCNv2_taobaoad_x1/results.csv create mode 100644 ranking/ctr/APG/APG_DeepFM_amazonelectronics_x1/APG_DeepFM_amazonelectronics_x1_001_daf845b0.log create mode 100644 ranking/ctr/APG/APG_DeepFM_amazonelectronics_x1/APG_DeepFM_amazonelectronics_x1_tuner_config_08.csv create mode 100644 ranking/ctr/APG/APG_DeepFM_amazonelectronics_x1/APG_DeepFM_amazonelectronics_x1_tuner_config_08.yaml create mode 100644 ranking/ctr/APG/APG_DeepFM_amazonelectronics_x1/APG_DeepFM_amazonelectronics_x1_tuner_config_08/dataset_config.yaml create mode 100644 ranking/ctr/APG/APG_DeepFM_amazonelectronics_x1/APG_DeepFM_amazonelectronics_x1_tuner_config_08/model_config.yaml create mode 100644 ranking/ctr/APG/APG_DeepFM_amazonelectronics_x1/README.md create mode 100644 ranking/ctr/APG/APG_DeepFM_amazonelectronics_x1/environments.txt create mode 100644 ranking/ctr/APG/APG_DeepFM_amazonelectronics_x1/results.csv create mode 100644 ranking/ctr/APG/APG_DeepFM_kuaivideo_x1/APG_DeepFM_kuaivideo_x1_007_5838d908.log create mode 100644 ranking/ctr/APG/APG_DeepFM_kuaivideo_x1/APG_DeepFM_kuaivideo_x1_tuner_config_01.csv create mode 100644 ranking/ctr/APG/APG_DeepFM_kuaivideo_x1/APG_DeepFM_kuaivideo_x1_tuner_config_01.yaml create mode 100644 ranking/ctr/APG/APG_DeepFM_kuaivideo_x1/APG_DeepFM_kuaivideo_x1_tuner_config_01/dataset_config.yaml create mode 100644 ranking/ctr/APG/APG_DeepFM_kuaivideo_x1/APG_DeepFM_kuaivideo_x1_tuner_config_01/model_config.yaml create mode 100644 ranking/ctr/APG/APG_DeepFM_kuaivideo_x1/README.md create mode 100644 ranking/ctr/APG/APG_DeepFM_kuaivideo_x1/environments.txt create mode 100644 ranking/ctr/APG/APG_DeepFM_kuaivideo_x1/results.csv create mode 100644 ranking/ctr/APG/APG_DeepFM_microvideo1.7m_x1/APG_DeepFM_microvideo1.7m_x1_023_d3a3ee84.log create mode 100644 ranking/ctr/APG/APG_DeepFM_microvideo1.7m_x1/APG_DeepFM_microvideo1.7m_x1_tuner_config_01.csv create mode 100644 ranking/ctr/APG/APG_DeepFM_microvideo1.7m_x1/APG_DeepFM_microvideo1.7m_x1_tuner_config_01.yaml create mode 100644 ranking/ctr/APG/APG_DeepFM_microvideo1.7m_x1/APG_DeepFM_microvideo1.7m_x1_tuner_config_01/dataset_config.yaml create mode 100644 ranking/ctr/APG/APG_DeepFM_microvideo1.7m_x1/APG_DeepFM_microvideo1.7m_x1_tuner_config_01/model_config.yaml create mode 100644 ranking/ctr/APG/APG_DeepFM_microvideo1.7m_x1/README.md create mode 100644 ranking/ctr/APG/APG_DeepFM_microvideo1.7m_x1/environments.txt create mode 100644 ranking/ctr/APG/APG_DeepFM_microvideo1.7m_x1/results.csv create mode 100644 ranking/ctr/APG/APG_DeepFM_taobaoad_x1/APG_DeepFM_taobaoad_x1_003_d01b9650.log create mode 100644 ranking/ctr/APG/APG_DeepFM_taobaoad_x1/APG_DeepFM_taobaoad_x1_tuner_config_04.csv create mode 100644 ranking/ctr/APG/APG_DeepFM_taobaoad_x1/APG_DeepFM_taobaoad_x1_tuner_config_04.yaml create mode 100644 ranking/ctr/APG/APG_DeepFM_taobaoad_x1/APG_DeepFM_taobaoad_x1_tuner_config_04/dataset_config.yaml create mode 100644 ranking/ctr/APG/APG_DeepFM_taobaoad_x1/APG_DeepFM_taobaoad_x1_tuner_config_04/model_config.yaml create mode 100644 ranking/ctr/APG/APG_DeepFM_taobaoad_x1/README.md create mode 100644 ranking/ctr/APG/APG_DeepFM_taobaoad_x1/environments.txt create mode 100644 ranking/ctr/APG/APG_DeepFM_taobaoad_x1/results.csv create mode 100644 ranking/ctr/DMIN/DMIN_amazonelectronics_x1/DMIN_amazonelectronics_x1_007_2401549e.log create mode 100644 ranking/ctr/DMIN/DMIN_amazonelectronics_x1/DMIN_amazonelectronics_x1_tuner_config_05.csv create mode 100644 ranking/ctr/DMIN/DMIN_amazonelectronics_x1/DMIN_amazonelectronics_x1_tuner_config_05.yaml create mode 100644 ranking/ctr/DMIN/DMIN_amazonelectronics_x1/DMIN_amazonelectronics_x1_tuner_config_05/dataset_config.yaml create mode 100644 ranking/ctr/DMIN/DMIN_amazonelectronics_x1/DMIN_amazonelectronics_x1_tuner_config_05/model_config.yaml create mode 100644 ranking/ctr/DMIN/DMIN_amazonelectronics_x1/README.md create mode 100644 ranking/ctr/DMIN/DMIN_amazonelectronics_x1/environments.txt create mode 100644 ranking/ctr/DMIN/DMIN_amazonelectronics_x1/results.csv create mode 100644 ranking/ctr/DMIN/DMIN_kuaivideo_x1/DMIN_kuaivideo_x1_020_d155f57e.log create mode 100644 ranking/ctr/DMIN/DMIN_kuaivideo_x1/DMIN_kuaivideo_x1_tuner_config_02.csv create mode 100644 ranking/ctr/DMIN/DMIN_kuaivideo_x1/DMIN_kuaivideo_x1_tuner_config_02.yaml create mode 100644 ranking/ctr/DMIN/DMIN_kuaivideo_x1/DMIN_kuaivideo_x1_tuner_config_02/dataset_config.yaml create mode 100644 ranking/ctr/DMIN/DMIN_kuaivideo_x1/DMIN_kuaivideo_x1_tuner_config_02/model_config.yaml create mode 100644 ranking/ctr/DMIN/DMIN_kuaivideo_x1/README.md create mode 100644 ranking/ctr/DMIN/DMIN_kuaivideo_x1/environments.txt create mode 100644 ranking/ctr/DMIN/DMIN_kuaivideo_x1/results.csv create mode 100644 ranking/ctr/DMIN/DMIN_microvideo1.7m_x1/DMIN_microvideo1.7m_x1_002_27dc4206.log create mode 100644 ranking/ctr/DMIN/DMIN_microvideo1.7m_x1/DMIN_microvideo1.7m_x1_tuner_config_04.csv create mode 100644 ranking/ctr/DMIN/DMIN_microvideo1.7m_x1/DMIN_microvideo1.7m_x1_tuner_config_04.yaml create mode 100644 ranking/ctr/DMIN/DMIN_microvideo1.7m_x1/DMIN_microvideo1.7m_x1_tuner_config_04/dataset_config.yaml create mode 100644 ranking/ctr/DMIN/DMIN_microvideo1.7m_x1/DMIN_microvideo1.7m_x1_tuner_config_04/model_config.yaml create mode 100644 ranking/ctr/DMIN/DMIN_microvideo1.7m_x1/README.md create mode 100644 ranking/ctr/DMIN/DMIN_microvideo1.7m_x1/environments.txt create mode 100644 ranking/ctr/DMIN/DMIN_microvideo1.7m_x1/results.csv create mode 100644 ranking/ctr/DMIN/DMIN_taobaoad_x1/DMIN_taobaoad_x1_011_0be611e8.log create mode 100644 ranking/ctr/DMIN/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05.csv create mode 100644 ranking/ctr/DMIN/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05.yaml create mode 100644 ranking/ctr/DMIN/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05/dataset_config.yaml create mode 100644 ranking/ctr/DMIN/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05/model_config.yaml create mode 100644 ranking/ctr/DMIN/DMIN_taobaoad_x1/README.md create mode 100644 ranking/ctr/DMIN/DMIN_taobaoad_x1/environments.txt create mode 100644 ranking/ctr/DMIN/DMIN_taobaoad_x1/results.csv create mode 100644 ranking/ctr/DMR/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_002_bc859be0.log create mode 100644 ranking/ctr/DMR/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07.csv create mode 100644 ranking/ctr/DMR/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07.yaml create mode 100644 ranking/ctr/DMR/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07/dataset_config.yaml create mode 100644 ranking/ctr/DMR/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07/model_config.yaml create mode 100644 ranking/ctr/DMR/DMR_amazonelectronics_x1/README.md create mode 100644 ranking/ctr/DMR/DMR_amazonelectronics_x1/environments.txt create mode 100644 ranking/ctr/DMR/DMR_amazonelectronics_x1/results.csv create mode 100644 ranking/ctr/DMR/DMR_kuaivideo_x1/DMR_kuaivideo_x1_003_e9fb63c2.log create mode 100644 ranking/ctr/DMR/DMR_kuaivideo_x1/DMR_kuaivideo_x1_tuner_config_01.csv create mode 100644 ranking/ctr/DMR/DMR_kuaivideo_x1/DMR_kuaivideo_x1_tuner_config_01.yaml create mode 100644 ranking/ctr/DMR/DMR_kuaivideo_x1/DMR_kuaivideo_x1_tuner_config_01/dataset_config.yaml create mode 100644 ranking/ctr/DMR/DMR_kuaivideo_x1/DMR_kuaivideo_x1_tuner_config_01/model_config.yaml create mode 100644 ranking/ctr/DMR/DMR_kuaivideo_x1/README.md create mode 100644 ranking/ctr/DMR/DMR_kuaivideo_x1/environments.txt create mode 100644 ranking/ctr/DMR/DMR_kuaivideo_x1/results.csv create mode 100644 ranking/ctr/DMR/DMR_microvideo1.7m_x1/DMR_microvideo1.7m_x1_008_dac65736.log create mode 100644 ranking/ctr/DMR/DMR_microvideo1.7m_x1/DMR_microvideo1.7m_x1_tuner_config_01.csv create mode 100644 ranking/ctr/DMR/DMR_microvideo1.7m_x1/DMR_microvideo1.7m_x1_tuner_config_01.yaml create mode 100644 ranking/ctr/DMR/DMR_microvideo1.7m_x1/DMR_microvideo1.7m_x1_tuner_config_01/dataset_config.yaml create mode 100644 ranking/ctr/DMR/DMR_microvideo1.7m_x1/DMR_microvideo1.7m_x1_tuner_config_01/model_config.yaml create mode 100644 ranking/ctr/DMR/DMR_microvideo1.7m_x1/README.md create mode 100644 ranking/ctr/DMR/DMR_microvideo1.7m_x1/environments.txt create mode 100644 ranking/ctr/DMR/DMR_microvideo1.7m_x1/results.csv create mode 100644 ranking/ctr/DMR/DMR_taobaoad_x1/DMR_taobaoad_x1_014_62a4965f.log create mode 100644 ranking/ctr/DMR/DMR_taobaoad_x1/DMR_taobaoad_x1_tuner_config_01.csv create mode 100644 ranking/ctr/DMR/DMR_taobaoad_x1/DMR_taobaoad_x1_tuner_config_01.yaml create mode 100644 ranking/ctr/DMR/DMR_taobaoad_x1/DMR_taobaoad_x1_tuner_config_01/dataset_config.yaml create mode 100644 ranking/ctr/DMR/DMR_taobaoad_x1/DMR_taobaoad_x1_tuner_config_01/model_config.yaml create mode 100644 ranking/ctr/DMR/DMR_taobaoad_x1/README.md create mode 100644 ranking/ctr/DMR/DMR_taobaoad_x1/environments.txt create mode 100644 ranking/ctr/DMR/DMR_taobaoad_x1/results.csv create mode 100644 ranking/ctr/PPNet/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_023_0b353410.log create mode 100644 ranking/ctr/PPNet/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03.csv create mode 100644 ranking/ctr/PPNet/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03.yaml create mode 100644 ranking/ctr/PPNet/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03/PPNet_amazonelectronics_x1_tuner_config_03/dataset_config.yaml create mode 100644 ranking/ctr/PPNet/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03/PPNet_amazonelectronics_x1_tuner_config_03/model_config.yaml create mode 100644 ranking/ctr/PPNet/PPNet_amazonelectronics_x1/README.md create mode 100644 ranking/ctr/PPNet/PPNet_amazonelectronics_x1/environments.txt create mode 100644 ranking/ctr/PPNet/PPNet_amazonelectronics_x1/results.csv create mode 100644 ranking/ctr/PPNet/PPNet_kuaivideo_x1/PPNet_kuaivideo_x1_018_71ca4227.log create mode 100644 ranking/ctr/PPNet/PPNet_kuaivideo_x1/PPNet_kuaivideo_x1_tuner_config_01.csv create mode 100644 ranking/ctr/PPNet/PPNet_kuaivideo_x1/PPNet_kuaivideo_x1_tuner_config_01.yaml create mode 100644 ranking/ctr/PPNet/PPNet_kuaivideo_x1/PPNet_kuaivideo_x1_tuner_config_01/PPNet_kuaivideo_x1_tuner_config_01/dataset_config.yaml create mode 100644 ranking/ctr/PPNet/PPNet_kuaivideo_x1/PPNet_kuaivideo_x1_tuner_config_01/PPNet_kuaivideo_x1_tuner_config_01/model_config.yaml create mode 100644 ranking/ctr/PPNet/PPNet_kuaivideo_x1/README.md create mode 100644 ranking/ctr/PPNet/PPNet_kuaivideo_x1/environments.txt create mode 100644 ranking/ctr/PPNet/PPNet_kuaivideo_x1/results.csv create mode 100644 ranking/ctr/PPNet/PPNet_microvideo1.7m_x1/PPNet_microvideo1.7m_x1_001_97742c0f.log create mode 100644 ranking/ctr/PPNet/PPNet_microvideo1.7m_x1/PPNet_microvideo1.7m_x1_tuner_config_01.csv create mode 100644 ranking/ctr/PPNet/PPNet_microvideo1.7m_x1/PPNet_microvideo1.7m_x1_tuner_config_01.yaml create mode 100644 ranking/ctr/PPNet/PPNet_microvideo1.7m_x1/PPNet_microvideo1.7m_x1_tuner_config_01/PPNet_microvideo1.7m_x1_tuner_config_01/dataset_config.yaml create mode 100644 ranking/ctr/PPNet/PPNet_microvideo1.7m_x1/PPNet_microvideo1.7m_x1_tuner_config_01/PPNet_microvideo1.7m_x1_tuner_config_01/model_config.yaml create mode 100644 ranking/ctr/PPNet/PPNet_microvideo1.7m_x1/README.md create mode 100644 ranking/ctr/PPNet/PPNet_microvideo1.7m_x1/environments.txt create mode 100644 ranking/ctr/PPNet/PPNet_microvideo1.7m_x1/results.csv create mode 100644 ranking/ctr/PPNet/PPNet_taobao_x1/PPNet_taobaoad_x1_023_a59da105.log create mode 100644 ranking/ctr/PPNet/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01.csv create mode 100644 ranking/ctr/PPNet/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01.yaml create mode 100644 ranking/ctr/PPNet/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01/PPNet_taobaoad_x1_tuner_config_01/dataset_config.yaml create mode 100644 ranking/ctr/PPNet/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01/PPNet_taobaoad_x1_tuner_config_01/model_config.yaml create mode 100644 ranking/ctr/PPNet/PPNet_taobao_x1/README.md create mode 100644 ranking/ctr/PPNet/PPNet_taobao_x1/environments.txt create mode 100644 ranking/ctr/PPNet/PPNet_taobao_x1/results.csv create mode 100644 scripts/gen_readme_md.py diff --git a/CITATION b/CITATION new file mode 100644 index 0000000..58a0e75 --- /dev/null +++ b/CITATION @@ -0,0 +1,14 @@ +@incollection{BARS, + author = {Jieming Zhu and + Quanyu Dai and + Liangcai Su and + Rong Ma and + Jinyang Liu and + Guohao Cai and + Xi Xiao and + Rui Zhang}, + title = {BARS: Towards Open Benchmarking for Recommender Systems}, + booktitle = {The 45th International ACM SIGIR Conference on Research + and Development in Information Retrieval (SIGIR'22)}, + year = {2022} +} diff --git a/docs/CTR/leaderboard/amazonelectronics_x1.csv b/docs/CTR/leaderboard/amazonelectronics_x1.csv index aa85e71..9dfc20c 100644 --- a/docs/CTR/leaderboard/amazonelectronics_x1.csv +++ b/docs/CTR/leaderboard/amazonelectronics_x1.csv @@ -11,3 +11,7 @@ Year,Publication,Model,Paper URL,gAUC,AUC,Logloss,Running Steps,Contributor 2018,KDD'18,DIN,https://www.kdd.org/kdd2018/accepted-papers/view/deep-interest-network-for-click-through-rate-prediction,0.883526,0.886028,0.43019,https://github.com/reczoo/BARS/tree/main/ranking/ctr/DIN/DIN_amazonelectronics_x1,"Zhu et al." 2019,AAAI'19,DIEN,https://arxiv.org/abs/1809.03672,0.885625,0.888777,0.425708,https://github.com/reczoo/BARS/tree/main/ranking/ctr/DIEN/DIEN_amazonelectronics_x1,"Zhu et al." 2019,DLP-KDD'19,BST,https://arxiv.org/abs/1905.06874,0.884108,0.886424,0.430077,https://github.com/reczoo/BARS/tree/main/ranking/ctr/BST/BST_amazonelectronics_x1,"Zhu et al." +2020,CIKM'20,DMIN,https://dl.acm.org/doi/10.1145/3340531.3412092,0.885636,0.887665,0.424567,https://github.com/reczoo/BARS/tree/main/ranking/ctr/DMIN/DMIN_amazonelectronics_x1,"Zhu et al." +2020,AAAI'20,DMR,https://ojs.aaai.org/index.php/AAAI/article/view/5346,0.885142,0.887335,0.427744,https://github.com/reczoo/BARS/tree/main/ranking/ctr/DMR/DMR_amazonelectronics_x1,"Zhu et al." +2023,KDD'23,PPNet,https://arxiv.org/abs/2302.01115,0.87969,0.881667,0.439829,https://github.com/reczoo/BARS/tree/main/ranking/ctr/PPNet/PPNet_amazonelectronics_x1,"Zhu et al." +2022,NeurIPS'22,APG_DCNv2,https://arxiv.org/abs/2203.16218,0.87942,0.882007,0.437314,https://github.com/reczoo/BARS/tree/main/ranking/ctr/APG/APG_DCNv2_amazonelectronics_x1,"Zhu et al." diff --git a/docs/CTR/leaderboard/kuaivideo_x1.csv b/docs/CTR/leaderboard/kuaivideo_x1.csv index 2ad53cd..e794f02 100644 --- a/docs/CTR/leaderboard/kuaivideo_x1.csv +++ b/docs/CTR/leaderboard/kuaivideo_x1.csv @@ -11,3 +11,7 @@ Year,Publication,Model,Paper URL,gAUC,AUC,Logloss,Running Steps,Contributor 2018,KDD'18,DIN,https://www.kdd.org/kdd2018/accepted-papers/view/deep-interest-network-for-click-through-rate-prediction,0.669568,0.749537,0.43212,https://github.com/reczoo/BARS/tree/main/ranking/ctr/DIN/DIN_kuaivideo_x1,"Zhu et al." 2019,AAAI'19,DIEN,https://arxiv.org/abs/1809.03672,0.671148,0.750372,0.433049,https://github.com/reczoo/BARS/tree/main/ranking/ctr/DIEN/DIEN_kuaivideo_x1,"Zhu et al." 2019,DLP-KDD'19,BST,https://arxiv.org/abs/1905.06874,0.669039,0.748407,0.433819,https://github.com/reczoo/BARS/tree/main/ranking/ctr/BST/BST_kuaivideo_x1,"Zhu et al." +2020,CIKM'20,DMIN,https://dl.acm.org/doi/10.1145/3340531.3412092,0.672621,0.750777,0.430187,https://github.com/reczoo/BARS/tree/main/ranking/ctr/DMIN/DMIN_kuaivideo_x1,"Zhu et al." +2020,AAAI'20,DMR,https://ojs.aaai.org/index.php/AAAI/article/view/5346,0.66888,0.748489,0.435421,https://github.com/reczoo/BARS/tree/main/ranking/ctr/DMR/DMR_kuaivideo_x1,"Zhu et al." +2023,KDD'23,PPNet,https://arxiv.org/abs/2302.01115,0.666808,0.746437,0.437027,https://github.com/reczoo/BARS/tree/main/ranking/ctr/PPNet/PPNet_kuaivideo_x1,"Zhu et al." +2022,NeurIPS'22,APG_DCNv2,https://arxiv.org/abs/2203.16218,0.667191,0.746629,0.439467,https://github.com/reczoo/BARS/tree/main/ranking/ctr/APG/APG_DCNv2_kuaivideo_x1,"Zhu et al." diff --git a/docs/CTR/leaderboard/microvideo1.7m_x1.csv b/docs/CTR/leaderboard/microvideo1.7m_x1.csv index 33c71b5..cf2f125 100644 --- a/docs/CTR/leaderboard/microvideo1.7m_x1.csv +++ b/docs/CTR/leaderboard/microvideo1.7m_x1.csv @@ -11,3 +11,7 @@ Year,Publication,Model,Paper URL,gAUC,AUC,Logloss,Running Steps,Contributor 2018,KDD'18,DIN,https://www.kdd.org/kdd2018/accepted-papers/view/deep-interest-network-for-click-through-rate-prediction,0.688282,0.736006,0.411558,https://github.com/reczoo/BARS/tree/main/ranking/ctr/DIN/DIN_microvideo1.7m_x1,"Zhu et al." 2019,AAAI'19,DIEN,https://arxiv.org/abs/1809.03672,0.68672,0.732075,0.412213,https://github.com/reczoo/BARS/tree/main/ranking/ctr/DIEN/DIEN_microvideo1.7m_x1,"Zhu et al." 2019,DLP-KDD'19,BST,https://arxiv.org/abs/1905.06874,0.685436,0.73415,0.411837,https://github.com/reczoo/BARS/tree/main/ranking/ctr/BST/BST_microvideo1.7m_x1,"Zhu et al." +2020,CIKM'20,DMIN,https://dl.acm.org/doi/10.1145/3340531.3412092,0.68791,0.733174,0.411456,https://github.com/reczoo/BARS/tree/main/ranking/ctr/DMIN/DMIN_microvideo1.7m_x1,"Zhu et al." +2020,AAAI'20,DMR,https://ojs.aaai.org/index.php/AAAI/article/view/5346,0.687533,0.735436,0.412249,https://github.com/reczoo/BARS/tree/main/ranking/ctr/DMR/DMR_microvideo1.7m_x1,"Zhu et al." +2023,KDD'23,PPNet,https://arxiv.org/abs/2302.01115,0.686542,0.734938,0.411962,https://github.com/reczoo/BARS/tree/main/ranking/ctr/PPNet/PPNet_microvideo1.7m_x1,"Zhu et al." +2022,NeurIPS'22,APG_DCNv2,https://arxiv.org/abs/2203.16218,0.682735,0.732541,0.412684,https://github.com/reczoo/BARS/tree/main/ranking/ctr/APG/APG_DCNv2_microvideo1.7m_x1,"Zhu et al." diff --git a/docs/CTR/leaderboard/microvideo1.7m_x1.md b/docs/CTR/leaderboard/microvideo1.7m_x1.md index e5ce6c3..c84ef0e 100644 --- a/docs/CTR/leaderboard/microvideo1.7m_x1.md +++ b/docs/CTR/leaderboard/microvideo1.7m_x1.md @@ -14,7 +14,7 @@ jupytext: ```{note} Please use the following evaluation settings for this benchmark: -+ Dataset split: [MicroVideo1.7M_x1](https://github.com/reczoo/Datasets/tree/main/MicroVideo1.7M/MicroVideo1.7M_x1) ++ Dataset split: [MicroVideo1.7M_x1](https://github.com/reczoo/Datasets/tree/main/MicroVideo/MicroVideo1.7M_x1) + Rare features filtering: min_categr_count=1 + Embedding size: 64 ``` diff --git a/docs/CTR/leaderboard/taobaoad_x1.csv b/docs/CTR/leaderboard/taobaoad_x1.csv index f5d275c..2ce0664 100644 --- a/docs/CTR/leaderboard/taobaoad_x1.csv +++ b/docs/CTR/leaderboard/taobaoad_x1.csv @@ -11,3 +11,7 @@ Year,Publication,Model,Paper URL,gAUC,AUC,Logloss,Running Steps,Contributor 2018,KDD'18,DIN,https://www.kdd.org/kdd2018/accepted-papers/view/deep-interest-network-for-click-through-rate-prediction,0.576459,0.652399,0.192445,https://github.com/reczoo/BARS/tree/main/ranking/ctr/DIN/DIN_taobaoad_x1,"Zhu et al." 2019,AAAI'19,DIEN,https://arxiv.org/abs/1809.03672,0.576916,0.652937,0.19284,https://github.com/reczoo/BARS/tree/main/ranking/ctr/DIEN/DIEN_taobaoad_x1,"Zhu et al." 2019,DLP-KDD'19,BST,https://arxiv.org/abs/1905.06874,0.576304,0.651131,0.192842,https://github.com/reczoo/BARS/tree/main/ranking/ctr/BST/BST_taobaoad_x1,"Zhu et al." +2020,CIKM'20,DMIN,https://dl.acm.org/doi/10.1145/3340531.3412092,0.577,0.651103,0.192813,https://github.com/reczoo/BARS/tree/main/ranking/ctr/DMIN/DMIN_taobaoad_x1,"Zhu et al." +2020,AAAI'20,DMR,https://ojs.aaai.org/index.php/AAAI/article/view/5346,0.57677,0.652411,0.193055,https://github.com/reczoo/BARS/tree/main/ranking/ctr/DMR/DMR_taobaoad_x1,"Zhu et al." +2023,KDD'23,PPNet,https://arxiv.org/abs/2302.01115,0.572597,0.647442,0.194488,https://github.com/reczoo/BARS/tree/main/ranking/ctr/PPNet/PPNet_taobaoad_x1,"Zhu et al." +2022,NeurIPS'22,APG_DCNv2,https://arxiv.org/abs/2203.16218,0.575258,0.649595,0.19288,https://github.com/reczoo/BARS/tree/main/ranking/ctr/APG/APG_DCNv2_taobaoad_x1,"Zhu et al." diff --git a/docs/Pretraining/papers.md b/docs/Pretraining/papers.md new file mode 100644 index 0000000..5724802 --- /dev/null +++ b/docs/Pretraining/papers.md @@ -0,0 +1,39 @@ +# Pretraining + +A curated list of pretraining models + + +## User/Item Embedding Pretraining + +| | | | | | | +| :---------:|:------:|:------:|:------:|:------:|:------:| +| **2023** | [MAP](https://arxiv.org/abs/2308.01737) {cite}`MAP`
KDD'23
Huawei | [BERT4CTR](https://arxiv.org/abs/2308.11527) {cite}`BERT4CTR`
KDD'23
Microsoft | [SUM](https://arxiv.org/abs/2311.09544) {cite}`SUM`
Arxiv'23
Meta | [UniM^2Rec](https://arxiv.org/abs/2311.01831) {cite}`UniM2Rec`
Arxiv'23
Tencent | +| **2022** | [GUIM](https://arxiv.org/abs/2207.00750) {cite}`GUIM`
Arxiv'22
Alibaba | + + +## User Model Pretraining + +| | | | | | | +| :---------:|:------:|:------:|:------:|:------:|:------:| +| **2023** | [MAP](https://arxiv.org/abs/2308.01737) {cite}`MAP`
KDD'23
Huawei | [BERT4CTR](https://arxiv.org/abs/2308.11527) {cite}`BERT4CTR`
KDD'23
Microsoft | [SUM](https://arxiv.org/abs/2311.09544) {cite}`SUM`
Arxiv'23
Meta | [UniM^2Rec](https://arxiv.org/abs/2311.01831) {cite}`UniM2Rec`
Arxiv'23
Tencent | +| **2022** | [GUIM](https://arxiv.org/abs/2207.00750) {cite}`GUIM`
Arxiv'22
Alibaba | + + +## Network Pretraining + +| | | | | | | +| :---------:|:------:|:------:|:------:|:------:|:------:| +| **2023** | [MAP](https://arxiv.org/abs/2308.01737) {cite}`MAP`
KDD'23
Huawei | [BERT4CTR](https://arxiv.org/abs/2308.11527) {cite}`BERT4CTR`
KDD'23
Microsoft | [SUM](https://arxiv.org/abs/2311.09544) {cite}`SUM`
Arxiv'23
Meta | [UniM^2Rec](https://arxiv.org/abs/2311.01831) {cite}`UniM2Rec`
Arxiv'23
Tencent | +| **2022** | [GUIM](https://arxiv.org/abs/2207.00750) {cite}`GUIM`
Arxiv'22
Alibaba | + + +## Finetuning + + + +## References + +```{bibliography} +:style: unsrt +:filter: docname in docnames +``` diff --git a/ranking/ctr/APG/APG_DCNv2_amazonelectronics_x1/APG_DCNv2_amazonelectronics_x1_015_a0cca3e4.log b/ranking/ctr/APG/APG_DCNv2_amazonelectronics_x1/APG_DCNv2_amazonelectronics_x1_015_a0cca3e4.log new file mode 100644 index 0000000..8fc967f --- /dev/null +++ b/ranking/ctr/APG/APG_DCNv2_amazonelectronics_x1/APG_DCNv2_amazonelectronics_x1_015_a0cca3e4.log @@ -0,0 +1,145 @@ +2023-05-31 09:46:57,297 P12611 INFO Params: { + "batch_norm": "True", + "batch_size": "1024", + "condition_features": "None", + "condition_mode": "self-wise", + "data_format": "csv", + "data_root": "../data/Amazon/", + "dataset_id": "amazonelectronics_x1_b7a43f49", + "debug_mode": "False", + "dnn_activations": "relu", + "early_stop_patience": "2", + "embedding_dim": "64", + "embedding_regularizer": "0.005", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'user_id', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': 'item_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'name': 'cate_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'feature_encoder': 'layers.MaskedAveragePooling()', 'max_len': 100, 'name': 'item_history', 'share_embedding': 'item_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'feature_encoder': 'layers.MaskedAveragePooling()', 'max_len': 100, 'name': 'cate_history', 'share_embedding': 'cate_id', 'splitter': '^', 'type': 'sequence'}]", + "feature_config": "None", + "feature_specs": "None", + "generate_bias": "True", + "gpu": "6", + "group_id": "user_id", + "hypernet_config": "{'dropout_rates': 0.1, 'hidden_activations': 'relu', 'hidden_units': []}", + "label_col": "{'dtype': 'float', 'name': 'label'}", + "learning_rate": "0.0005", + "loss": "binary_crossentropy", + "low_rank": "32", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "1", + "model": "APG_DCNv2", + "model_id": "APG_DCNv2_amazonelectronics_x1_015_a0cca3e4", + "model_root": "./checkpoints/APG_DCNv2_amazonelectronics_x1/", + "model_structure": "parallel", + "monitor": "{'AUC': 1, 'gAUC': 1}", + "monitor_mode": "max", + "net_dropout": "0.1", + "net_regularizer": "0", + "new_condition_emb": "False", + "num_cross_layers": "2", + "num_experts": "4", + "num_workers": "3", + "optimizer": "adam", + "overparam_p": "[32, 16, 8]", + "parallel_dnn_hidden_units": "[1024, 512, 256]", + "pickle_feature_encoder": "True", + "rank_k": "[32, 16, 8]", + "save_best_only": "True", + "seed": "2022", + "shuffle": "True", + "stacked_dnn_hidden_units": "[500, 500, 500]", + "task": "binary_classification", + "test_data": "../data/Amazon/AmazonElectronics_x1/test.csv", + "train_data": "../data/Amazon/AmazonElectronics_x1/train.csv", + "use_features": "None", + "use_low_rank_mixture": "False", + "valid_data": "../data/Amazon/AmazonElectronics_x1/test.csv", + "verbose": "1" +} +2023-05-31 09:46:57,297 P12611 INFO Set up feature processor... +2023-05-31 09:46:57,297 P12611 WARNING Skip rebuilding ../data/Amazon/amazonelectronics_x1_b7a43f49/feature_map.json. Please delete it manually if rebuilding is required. +2023-05-31 09:46:57,298 P12611 INFO Load feature_map from json: ../data/Amazon/amazonelectronics_x1_b7a43f49/feature_map.json +2023-05-31 09:46:57,298 P12611 INFO Set column index... +2023-05-31 09:46:57,298 P12611 INFO Feature specs: { + "cate_history": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'cate_id', 'padding_idx': 0, 'oov_idx': 802, 'vocab_size': 803, 'max_len': 100}", + "cate_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 802, 'vocab_size': 803}", + "item_history": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'item_id', 'padding_idx': 0, 'oov_idx': 63002, 'vocab_size': 63003, 'max_len': 100}", + "item_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 63002, 'vocab_size': 63003}", + "user_id": "{'type': 'meta'}" +} +2023-05-31 09:47:03,303 P12611 INFO Total number of parameters: 5771329. +2023-05-31 09:47:03,304 P12611 INFO Loading data... +2023-05-31 09:47:03,304 P12611 INFO Loading data from h5: ../data/Amazon/amazonelectronics_x1_b7a43f49/train.h5 +2023-05-31 09:47:06,616 P12611 INFO Train samples: total/2608764, blocks/1 +2023-05-31 09:47:06,617 P12611 INFO Loading data from h5: ../data/Amazon/amazonelectronics_x1_b7a43f49/valid.h5 +2023-05-31 09:47:07,029 P12611 INFO Validation samples: total/384806, blocks/1 +2023-05-31 09:47:07,029 P12611 INFO Loading train and validation data done. +2023-05-31 09:47:07,029 P12611 INFO Start training: 2548 batches/epoch +2023-05-31 09:47:07,029 P12611 INFO ************ Epoch=1 start ************ +2023-05-31 09:52:05,224 P12611 INFO Train loss: 0.637748 +2023-05-31 09:52:05,224 P12611 INFO Evaluation @epoch 1 - batch 2548: +2023-05-31 09:53:38,497 P12611 INFO [Metrics] AUC: 0.834987 - gAUC: 0.833734 +2023-05-31 09:53:38,498 P12611 INFO Save best model: monitor(max)=1.668721 +2023-05-31 09:53:38,600 P12611 INFO ************ Epoch=1 end ************ +2023-05-31 09:58:32,438 P12611 INFO Train loss: 0.595188 +2023-05-31 09:58:32,439 P12611 INFO Evaluation @epoch 2 - batch 2548: +2023-05-31 10:00:06,624 P12611 INFO [Metrics] AUC: 0.847464 - gAUC: 0.844956 +2023-05-31 10:00:06,627 P12611 INFO Save best model: monitor(max)=1.692420 +2023-05-31 10:00:06,797 P12611 INFO ************ Epoch=2 end ************ +2023-05-31 10:05:02,904 P12611 INFO Train loss: 0.578905 +2023-05-31 10:05:02,905 P12611 INFO Evaluation @epoch 3 - batch 2548: +2023-05-31 10:06:36,308 P12611 INFO [Metrics] AUC: 0.852364 - gAUC: 0.850231 +2023-05-31 10:06:36,309 P12611 INFO Save best model: monitor(max)=1.702595 +2023-05-31 10:06:36,509 P12611 INFO ************ Epoch=3 end ************ +2023-05-31 10:11:31,521 P12611 INFO Train loss: 0.573118 +2023-05-31 10:11:31,525 P12611 INFO Evaluation @epoch 4 - batch 2548: +2023-05-31 10:13:05,624 P12611 INFO [Metrics] AUC: 0.854765 - gAUC: 0.851972 +2023-05-31 10:13:05,625 P12611 INFO Save best model: monitor(max)=1.706737 +2023-05-31 10:13:05,741 P12611 INFO ************ Epoch=4 end ************ +2023-05-31 10:18:04,625 P12611 INFO Train loss: 0.569993 +2023-05-31 10:18:04,625 P12611 INFO Evaluation @epoch 5 - batch 2548: +2023-05-31 10:19:39,244 P12611 INFO [Metrics] AUC: 0.856304 - gAUC: 0.854181 +2023-05-31 10:19:39,245 P12611 INFO Save best model: monitor(max)=1.710485 +2023-05-31 10:19:39,372 P12611 INFO ************ Epoch=5 end ************ +2023-05-31 10:24:36,877 P12611 INFO Train loss: 0.568825 +2023-05-31 10:24:36,878 P12611 INFO Evaluation @epoch 6 - batch 2548: +2023-05-31 10:26:09,168 P12611 INFO [Metrics] AUC: 0.855471 - gAUC: 0.853173 +2023-05-31 10:26:09,248 P12611 INFO Monitor(max)=1.708644 STOP! +2023-05-31 10:26:09,248 P12611 INFO Reduce learning rate on plateau: 0.000050 +2023-05-31 10:26:09,353 P12611 INFO ************ Epoch=6 end ************ +2023-05-31 10:30:59,981 P12611 INFO Train loss: 0.472181 +2023-05-31 10:30:59,981 P12611 INFO Evaluation @epoch 7 - batch 2548: +2023-05-31 10:32:35,254 P12611 INFO [Metrics] AUC: 0.876567 - gAUC: 0.873755 +2023-05-31 10:32:35,256 P12611 INFO Save best model: monitor(max)=1.750322 +2023-05-31 10:32:35,391 P12611 INFO ************ Epoch=7 end ************ +2023-05-31 10:37:11,148 P12611 INFO Train loss: 0.427074 +2023-05-31 10:37:11,149 P12611 INFO Evaluation @epoch 8 - batch 2548: +2023-05-31 10:38:38,473 P12611 INFO [Metrics] AUC: 0.880211 - gAUC: 0.877897 +2023-05-31 10:38:38,475 P12611 INFO Save best model: monitor(max)=1.758108 +2023-05-31 10:38:38,601 P12611 INFO ************ Epoch=8 end ************ +2023-05-31 10:43:10,243 P12611 INFO Train loss: 0.407486 +2023-05-31 10:43:10,243 P12611 INFO Evaluation @epoch 9 - batch 2548: +2023-05-31 10:44:33,860 P12611 INFO [Metrics] AUC: 0.882007 - gAUC: 0.879420 +2023-05-31 10:44:33,860 P12611 INFO Save best model: monitor(max)=1.761427 +2023-05-31 10:44:33,990 P12611 INFO ************ Epoch=9 end ************ +2023-05-31 10:48:39,854 P12611 INFO Train loss: 0.394435 +2023-05-31 10:48:39,855 P12611 INFO Evaluation @epoch 10 - batch 2548: +2023-05-31 10:49:55,253 P12611 INFO [Metrics] AUC: 0.880280 - gAUC: 0.877923 +2023-05-31 10:49:55,254 P12611 INFO Monitor(max)=1.758203 STOP! +2023-05-31 10:49:55,254 P12611 INFO Reduce learning rate on plateau: 0.000005 +2023-05-31 10:49:55,331 P12611 INFO ************ Epoch=10 end ************ +2023-05-31 10:53:22,343 P12611 INFO Train loss: 0.332896 +2023-05-31 10:53:22,344 P12611 INFO Evaluation @epoch 11 - batch 2548: +2023-05-31 10:54:28,346 P12611 INFO [Metrics] AUC: 0.874604 - gAUC: 0.872393 +2023-05-31 10:54:28,347 P12611 INFO Monitor(max)=1.746997 STOP! +2023-05-31 10:54:28,347 P12611 INFO Reduce learning rate on plateau: 0.000001 +2023-05-31 10:54:28,347 P12611 INFO ********* Epoch==11 early stop ********* +2023-05-31 10:54:28,415 P12611 INFO Training finished. +2023-05-31 10:54:28,415 P12611 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/APG_DCNv2_amazonelectronics_x1/amazonelectronics_x1_b7a43f49/APG_DCNv2_amazonelectronics_x1_015_a0cca3e4.model +2023-05-31 10:54:28,452 P12611 INFO ****** Validation evaluation ****** +2023-05-31 10:55:32,159 P12611 INFO [Metrics] gAUC: 0.879420 - AUC: 0.882007 - logloss: 0.437314 +2023-05-31 10:55:32,252 P12611 INFO ******** Test evaluation ******** +2023-05-31 10:55:32,253 P12611 INFO Loading data... +2023-05-31 10:55:32,253 P12611 INFO Loading data from h5: ../data/Amazon/amazonelectronics_x1_b7a43f49/test.h5 +2023-05-31 10:55:32,694 P12611 INFO Test samples: total/384806, blocks/1 +2023-05-31 10:55:32,694 P12611 INFO Loading test data done. +2023-05-31 10:56:41,092 P12611 INFO [Metrics] gAUC: 0.879420 - AUC: 0.882007 - logloss: 0.437314 diff --git a/ranking/ctr/APG/APG_DCNv2_amazonelectronics_x1/APG_DCNv2_amazonelectronics_x1_tuner_config_03.csv b/ranking/ctr/APG/APG_DCNv2_amazonelectronics_x1/APG_DCNv2_amazonelectronics_x1_tuner_config_03.csv new file mode 100644 index 0000000..4b5b1b9 --- /dev/null +++ b/ranking/ctr/APG/APG_DCNv2_amazonelectronics_x1/APG_DCNv2_amazonelectronics_x1_tuner_config_03.csv @@ -0,0 +1,16 @@ + 20230531-105641,[command] python run_expid.py --config Amazon/APG_DCNv2_amazonelectronics_x1/APG_DCNv2_amazonelectronics_x1_tuner_config_03 --expid APG_DCNv2_amazonelectronics_x1_015_a0cca3e4 --gpu 6,[exp_id] APG_DCNv2_amazonelectronics_x1_015_a0cca3e4,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.879420 - AUC: 0.882007 - logloss: 0.437314,[test] gAUC: 0.879420 - AUC: 0.882007 - logloss: 0.437314 + 20230531-105642,[command] python run_expid.py --config Amazon/APG_DCNv2_amazonelectronics_x1/APG_DCNv2_amazonelectronics_x1_tuner_config_03 --expid APG_DCNv2_amazonelectronics_x1_007_9b69c8aa --gpu 6,[exp_id] APG_DCNv2_amazonelectronics_x1_007_9b69c8aa,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.879389 - AUC: 0.881636 - logloss: 0.438997,[test] gAUC: 0.879389 - AUC: 0.881636 - logloss: 0.438997 + 20230531-105639,[command] python run_expid.py --config Amazon/APG_DCNv2_amazonelectronics_x1/APG_DCNv2_amazonelectronics_x1_tuner_config_03 --expid APG_DCNv2_amazonelectronics_x1_013_f4fe6139 --gpu 4,[exp_id] APG_DCNv2_amazonelectronics_x1_013_f4fe6139,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.879004 - AUC: 0.880669 - logloss: 0.439664,[test] gAUC: 0.879004 - AUC: 0.880669 - logloss: 0.439664 + 20230531-110113,[command] python run_expid.py --config Amazon/APG_DCNv2_amazonelectronics_x1/APG_DCNv2_amazonelectronics_x1_tuner_config_03 --expid APG_DCNv2_amazonelectronics_x1_008_f4f3ef03 --gpu 7,[exp_id] APG_DCNv2_amazonelectronics_x1_008_f4f3ef03,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.878692 - AUC: 0.880761 - logloss: 0.442629,[test] gAUC: 0.878692 - AUC: 0.880761 - logloss: 0.442629 + 20230531-105216,[command] python run_expid.py --config Amazon/APG_DCNv2_amazonelectronics_x1/APG_DCNv2_amazonelectronics_x1_tuner_config_03 --expid APG_DCNv2_amazonelectronics_x1_005_27ac8802 --gpu 4,[exp_id] APG_DCNv2_amazonelectronics_x1_005_27ac8802,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.878515 - AUC: 0.880608 - logloss: 0.441318,[test] gAUC: 0.878515 - AUC: 0.880608 - logloss: 0.441318 + 20230531-105642,[command] python run_expid.py --config Amazon/APG_DCNv2_amazonelectronics_x1/APG_DCNv2_amazonelectronics_x1_tuner_config_03 --expid APG_DCNv2_amazonelectronics_x1_014_cac97ee6 --gpu 5,[exp_id] APG_DCNv2_amazonelectronics_x1_014_cac97ee6,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.877996 - AUC: 0.880653 - logloss: 0.440029,[test] gAUC: 0.877996 - AUC: 0.880653 - logloss: 0.440029 + 20230531-145711,[command] python run_expid.py --config Amazon/APG_DCNv2_amazonelectronics_x1/APG_DCNv2_amazonelectronics_x1_tuner_config_03 --expid APG_DCNv2_amazonelectronics_x1_009_11a7eb74 --gpu 0,[exp_id] APG_DCNv2_amazonelectronics_x1_009_11a7eb74,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.877783 - AUC: 0.880515 - logloss: 0.441449,[test] gAUC: 0.877783 - AUC: 0.880515 - logloss: 0.441449 + 20230531-210743,[command] python run_expid.py --config Amazon/APG_DCNv2_amazonelectronics_x1/APG_DCNv2_amazonelectronics_x1_tuner_config_03 --expid APG_DCNv2_amazonelectronics_x1_010_31807431 --gpu 4,[exp_id] APG_DCNv2_amazonelectronics_x1_010_31807431,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.877783 - AUC: 0.880515 - logloss: 0.441449,[test] gAUC: 0.877783 - AUC: 0.880515 - logloss: 0.441449 + 20230531-210916,[command] python run_expid.py --config Amazon/APG_DCNv2_amazonelectronics_x1/APG_DCNv2_amazonelectronics_x1_tuner_config_03 --expid APG_DCNv2_amazonelectronics_x1_011_f4fe6139 --gpu 5,[exp_id] APG_DCNv2_amazonelectronics_x1_011_f4fe6139,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.877783 - AUC: 0.880515 - logloss: 0.441449,[test] gAUC: 0.877783 - AUC: 0.880515 - logloss: 0.441449 + 20230531-211357,[command] python run_expid.py --config Amazon/APG_DCNv2_amazonelectronics_x1/APG_DCNv2_amazonelectronics_x1_tuner_config_03 --expid APG_DCNv2_amazonelectronics_x1_012_35183780 --gpu 6,[exp_id] APG_DCNv2_amazonelectronics_x1_012_35183780,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.877783 - AUC: 0.880515 - logloss: 0.441449,[test] gAUC: 0.877783 - AUC: 0.880515 - logloss: 0.441449 + 20230531-213022,[command] python run_expid.py --config Amazon/APG_DCNv2_amazonelectronics_x1/APG_DCNv2_amazonelectronics_x1_tuner_config_03 --expid APG_DCNv2_amazonelectronics_x1_002_73bf2cfb --gpu 1,[exp_id] APG_DCNv2_amazonelectronics_x1_002_73bf2cfb,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.877055 - AUC: 0.879440 - logloss: 0.441660,[test] gAUC: 0.877055 - AUC: 0.879440 - logloss: 0.441660 + 20230531-213053,[command] python run_expid.py --config Amazon/APG_DCNv2_amazonelectronics_x1/APG_DCNv2_amazonelectronics_x1_tuner_config_03 --expid APG_DCNv2_amazonelectronics_x1_004_0a560506 --gpu 3,[exp_id] APG_DCNv2_amazonelectronics_x1_004_0a560506,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.877055 - AUC: 0.879440 - logloss: 0.441660,[test] gAUC: 0.877055 - AUC: 0.879440 - logloss: 0.441660 + 20230531-213223,[command] python run_expid.py --config Amazon/APG_DCNv2_amazonelectronics_x1/APG_DCNv2_amazonelectronics_x1_tuner_config_03 --expid APG_DCNv2_amazonelectronics_x1_003_27ac8802 --gpu 2,[exp_id] APG_DCNv2_amazonelectronics_x1_003_27ac8802,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.877055 - AUC: 0.879440 - logloss: 0.441660,[test] gAUC: 0.877055 - AUC: 0.879440 - logloss: 0.441660 + 20230531-213351,[command] python run_expid.py --config Amazon/APG_DCNv2_amazonelectronics_x1/APG_DCNv2_amazonelectronics_x1_tuner_config_03 --expid APG_DCNv2_amazonelectronics_x1_001_e26e9057 --gpu 0,[exp_id] APG_DCNv2_amazonelectronics_x1_001_e26e9057,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.877055 - AUC: 0.879440 - logloss: 0.441660,[test] gAUC: 0.877055 - AUC: 0.879440 - logloss: 0.441660 + 20230531-104719,[command] python run_expid.py --config Amazon/APG_DCNv2_amazonelectronics_x1/APG_DCNv2_amazonelectronics_x1_tuner_config_03 --expid APG_DCNv2_amazonelectronics_x1_016_2eb14b56 --gpu 7,[exp_id] APG_DCNv2_amazonelectronics_x1_016_2eb14b56,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.876572 - AUC: 0.879143 - logloss: 0.441772,[test] gAUC: 0.876572 - AUC: 0.879143 - logloss: 0.441772 + 20230531-103543,[command] python run_expid.py --config Amazon/APG_DCNv2_amazonelectronics_x1/APG_DCNv2_amazonelectronics_x1_tuner_config_03 --expid APG_DCNv2_amazonelectronics_x1_006_4411e847 --gpu 5,[exp_id] APG_DCNv2_amazonelectronics_x1_006_4411e847,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.854311 - AUC: 0.856134 - logloss: 0.469745,[test] gAUC: 0.854311 - AUC: 0.856134 - logloss: 0.469745 diff --git a/ranking/ctr/APG/APG_DCNv2_amazonelectronics_x1/APG_DCNv2_amazonelectronics_x1_tuner_config_03.yaml b/ranking/ctr/APG/APG_DCNv2_amazonelectronics_x1/APG_DCNv2_amazonelectronics_x1_tuner_config_03.yaml new file mode 100644 index 0000000..d60d7ae --- /dev/null +++ b/ranking/ctr/APG/APG_DCNv2_amazonelectronics_x1/APG_DCNv2_amazonelectronics_x1_tuner_config_03.yaml @@ -0,0 +1,50 @@ +base_config: ../model_zoo/APG/config/ +base_expid: APG_DCNv2 +dataset_id: amazonelectronics_x1 + +dataset_config: + amazonelectronics_x1: + data_root: ../data/Amazon/ + data_format: csv + train_data: ../data/Amazon/AmazonElectronics_x1/train.csv + valid_data: ../data/Amazon/AmazonElectronics_x1/test.csv # no validation data split in original paper + test_data: ../data/Amazon/AmazonElectronics_x1/test.csv + min_categr_count: 1 + feature_cols: + - {name: user_id, active: True, dtype: int, type: meta, remap: False} + - {name: item_id, active: True, dtype: str, type: categorical} + - {name: cate_id, active: True, dtype: str, type: categorical} + - {name: item_history, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, + feature_encoder: "layers.MaskedAveragePooling()", share_embedding: item_id} + - {name: cate_history, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, + feature_encoder: "layers.MaskedAveragePooling()", share_embedding: cate_id} + label_col: {name: label, dtype: float} + +tuner_space: + model_root: './checkpoints/APG_DCNv2_amazonelectronics_x1/' + embedding_dim: 64 + parallel_dnn_hidden_units: [[1024, 512, 256]] + model_structure: parallel + use_low_rank_mixture: False + num_cross_layers: 2 + embedding_regularizer: 5.e-3 + net_dropout: [0, 0.1] + batch_norm: True + hypernet_config: + hidden_units: [] + hidden_activations: relu + dropout_rates: 0.1 + condition_features: null + condition_mode: "self-wise" + rank_k: [null, [32, 16, 8]] + overparam_p: [null, [64, 32, 16], [32, 16, 8], [128, 64, 32]] + generate_bias: True + learning_rate: 5.e-4 + batch_size: 1024 + seed: 2022 + group_id: user_id + metrics: [[gAUC, AUC, logloss]] + monitor: {"gAUC": 1, "AUC": 1} + + + diff --git a/ranking/ctr/APG/APG_DCNv2_amazonelectronics_x1/APG_DCNv2_amazonelectronics_x1_tuner_config_03/dataset_config.yaml b/ranking/ctr/APG/APG_DCNv2_amazonelectronics_x1/APG_DCNv2_amazonelectronics_x1_tuner_config_03/dataset_config.yaml new file mode 100644 index 0000000..860ec27 --- /dev/null +++ b/ranking/ctr/APG/APG_DCNv2_amazonelectronics_x1/APG_DCNv2_amazonelectronics_x1_tuner_config_03/dataset_config.yaml @@ -0,0 +1,16 @@ +amazonelectronics_x1_b7a43f49: + data_format: csv + data_root: ../data/Amazon/ + feature_cols: + - {active: true, dtype: int, name: user_id, remap: false, type: meta} + - {active: true, dtype: str, name: item_id, type: categorical} + - {active: true, dtype: str, name: cate_id, type: categorical} + - {active: true, dtype: str, feature_encoder: layers.MaskedAveragePooling(), max_len: 100, + name: item_history, share_embedding: item_id, splitter: ^, type: sequence} + - {active: true, dtype: str, feature_encoder: layers.MaskedAveragePooling(), max_len: 100, + name: cate_history, share_embedding: cate_id, splitter: ^, type: sequence} + label_col: {dtype: float, name: label} + min_categr_count: 1 + test_data: ../data/Amazon/AmazonElectronics_x1/test.csv + train_data: ../data/Amazon/AmazonElectronics_x1/train.csv + valid_data: ../data/Amazon/AmazonElectronics_x1/test.csv diff --git a/ranking/ctr/APG/APG_DCNv2_amazonelectronics_x1/APG_DCNv2_amazonelectronics_x1_tuner_config_03/model_config.yaml b/ranking/ctr/APG/APG_DCNv2_amazonelectronics_x1/APG_DCNv2_amazonelectronics_x1_tuner_config_03/model_config.yaml new file mode 100644 index 0000000..a3b8d27 --- /dev/null +++ b/ranking/ctr/APG/APG_DCNv2_amazonelectronics_x1/APG_DCNv2_amazonelectronics_x1_tuner_config_03/model_config.yaml @@ -0,0 +1,784 @@ +APG_DCNv2_amazonelectronics_x1_001_e26e9057: + batch_norm: true + batch_size: 1024 + condition_features: null + condition_mode: self-wise + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + dnn_activations: relu + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: user_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_amazonelectronics_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 2 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: null + parallel_dnn_hidden_units: [1024, 512, 256] + pickle_feature_encoder: true + rank_k: null + save_best_only: true + seed: 2022 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_amazonelectronics_x1_002_73bf2cfb: + batch_norm: true + batch_size: 1024 + condition_features: null + condition_mode: self-wise + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + dnn_activations: relu + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: user_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_amazonelectronics_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 2 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [64, 32, 16] + parallel_dnn_hidden_units: [1024, 512, 256] + pickle_feature_encoder: true + rank_k: null + save_best_only: true + seed: 2022 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_amazonelectronics_x1_003_27ac8802: + batch_norm: true + batch_size: 1024 + condition_features: null + condition_mode: self-wise + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + dnn_activations: relu + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: user_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_amazonelectronics_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 2 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [32, 16, 8] + parallel_dnn_hidden_units: [1024, 512, 256] + pickle_feature_encoder: true + rank_k: null + save_best_only: true + seed: 2022 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_amazonelectronics_x1_004_0a560506: + batch_norm: true + batch_size: 1024 + condition_features: null + condition_mode: self-wise + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + dnn_activations: relu + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: user_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_amazonelectronics_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 2 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [128, 64, 32] + parallel_dnn_hidden_units: [1024, 512, 256] + pickle_feature_encoder: true + rank_k: null + save_best_only: true + seed: 2022 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_amazonelectronics_x1_005_27ac8802: + batch_norm: true + batch_size: 1024 + condition_features: null + condition_mode: self-wise + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + dnn_activations: relu + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: user_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_amazonelectronics_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 2 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: null + parallel_dnn_hidden_units: [1024, 512, 256] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 2022 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_amazonelectronics_x1_006_4411e847: + batch_norm: true + batch_size: 1024 + condition_features: null + condition_mode: self-wise + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + dnn_activations: relu + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: user_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_amazonelectronics_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 2 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [64, 32, 16] + parallel_dnn_hidden_units: [1024, 512, 256] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 2022 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_amazonelectronics_x1_007_9b69c8aa: + batch_norm: true + batch_size: 1024 + condition_features: null + condition_mode: self-wise + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + dnn_activations: relu + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: user_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_amazonelectronics_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 2 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [32, 16, 8] + parallel_dnn_hidden_units: [1024, 512, 256] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 2022 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_amazonelectronics_x1_008_f4f3ef03: + batch_norm: true + batch_size: 1024 + condition_features: null + condition_mode: self-wise + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + dnn_activations: relu + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: user_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_amazonelectronics_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 2 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [128, 64, 32] + parallel_dnn_hidden_units: [1024, 512, 256] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 2022 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_amazonelectronics_x1_009_11a7eb74: + batch_norm: true + batch_size: 1024 + condition_features: null + condition_mode: self-wise + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + dnn_activations: relu + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: user_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_amazonelectronics_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 2 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: null + parallel_dnn_hidden_units: [1024, 512, 256] + pickle_feature_encoder: true + rank_k: null + save_best_only: true + seed: 2022 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_amazonelectronics_x1_010_31807431: + batch_norm: true + batch_size: 1024 + condition_features: null + condition_mode: self-wise + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + dnn_activations: relu + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: user_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_amazonelectronics_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 2 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [64, 32, 16] + parallel_dnn_hidden_units: [1024, 512, 256] + pickle_feature_encoder: true + rank_k: null + save_best_only: true + seed: 2022 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_amazonelectronics_x1_011_f4fe6139: + batch_norm: true + batch_size: 1024 + condition_features: null + condition_mode: self-wise + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + dnn_activations: relu + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: user_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_amazonelectronics_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 2 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [32, 16, 8] + parallel_dnn_hidden_units: [1024, 512, 256] + pickle_feature_encoder: true + rank_k: null + save_best_only: true + seed: 2022 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_amazonelectronics_x1_012_35183780: + batch_norm: true + batch_size: 1024 + condition_features: null + condition_mode: self-wise + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + dnn_activations: relu + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: user_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_amazonelectronics_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 2 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [128, 64, 32] + parallel_dnn_hidden_units: [1024, 512, 256] + pickle_feature_encoder: true + rank_k: null + save_best_only: true + seed: 2022 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_amazonelectronics_x1_013_f4fe6139: + batch_norm: true + batch_size: 1024 + condition_features: null + condition_mode: self-wise + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + dnn_activations: relu + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: user_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_amazonelectronics_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 2 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: null + parallel_dnn_hidden_units: [1024, 512, 256] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 2022 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_amazonelectronics_x1_014_cac97ee6: + batch_norm: true + batch_size: 1024 + condition_features: null + condition_mode: self-wise + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + dnn_activations: relu + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: user_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_amazonelectronics_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 2 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [64, 32, 16] + parallel_dnn_hidden_units: [1024, 512, 256] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 2022 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_amazonelectronics_x1_015_a0cca3e4: + batch_norm: true + batch_size: 1024 + condition_features: null + condition_mode: self-wise + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + dnn_activations: relu + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: user_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_amazonelectronics_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 2 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [32, 16, 8] + parallel_dnn_hidden_units: [1024, 512, 256] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 2022 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_amazonelectronics_x1_016_2eb14b56: + batch_norm: true + batch_size: 1024 + condition_features: null + condition_mode: self-wise + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + dnn_activations: relu + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: user_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_amazonelectronics_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 2 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [128, 64, 32] + parallel_dnn_hidden_units: [1024, 512, 256] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 2022 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 diff --git a/ranking/ctr/APG/APG_DCNv2_amazonelectronics_x1/README.md b/ranking/ctr/APG/APG_DCNv2_amazonelectronics_x1/README.md new file mode 100644 index 0000000..1e296e3 --- /dev/null +++ b/ranking/ctr/APG/APG_DCNv2_amazonelectronics_x1/README.md @@ -0,0 +1,220 @@ +## APG_DCNv2_amazonelectronics_x1 + +A hands-on guide to run the APG model on the AmazonElectronics_x1 dataset. + +Author: [BARS Benchmark](https://github.com/reczoo/BARS/blob/main/CITATION) + + +| [Environments](#Environments) | [Dataset](#Dataset) | [Code](#Code) | [Results](#Results) | [Logs](#Logs) | +|:-----------------------------:|:-----------:|:--------:|:--------:|-------| +### Environments ++ Hardware + + ```python + CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz + GPU: Tesla V100 32G + RAM: 755G + + ``` + ++ Software + + ```python + cuda: 10.2 + python: 3.7.10 + pytorch: 1.11.0 + pandas: 1.1.5 + numpy: 1.19.5 + scipy: 1.5.2 + sklearn: 0.22.1 + pyyaml: 6.0 + h5py: 2.8.0 + tqdm: 4.64.0 + fuxictr: 2.0.3 + + ``` + +### Dataset +Please refer to [AmazonElectronics_x1](https://github.com/reczoo/Datasets/tree/main/Amazon/AmazonElectronics_x1) to get the dataset details. + +### Code + +We use the [APG](https://github.com/reczoo/FuxiCTR/tree/v2.0.3/model_zoo/APG) model code from [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/tree/v2.0.3) for this experiment. + +Running steps: + +1. Download [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/archive/refs/tags/v2.0.3.zip) and install all the dependencies listed in the [environments](#environments). + + ```bash + pip uninstall fuxictr + pip install fuxictr==2.0.3 + ``` + +2. Create a data directory and put the downloaded data files in `../data/Amazon/AmazonElectronics_x1`. + +3. Both `dataset_config.yaml` and `model_config.yaml` files are available in [APG_DCNv2_amazonelectronics_x1_tuner_config_03](./APG_DCNv2_amazonelectronics_x1_tuner_config_03). Please make sure that the data paths in `dataset_config.yaml` are correctly set. + +4. Run the following script to start training and evaluation. + + ```bash + cd FuxiCTR/model_zoo/APG + nohup python run_expid.py --config YOUR_PATH/APG/APG_DCNv2_amazonelectronics_x1_tuner_config_03 --expid APG_DCNv2_amazonelectronics_x1_015_a0cca3e4 --gpu 0 > run.log & + tail -f run.log + ``` + +### Results + +| gAUC | AUC | logloss | +|:--------------------:|:--------------------:|:--------------------:| +| 0.879420 | 0.882007 | 0.437314 | + + +### Logs +```python +2023-05-31 09:46:57,297 P12611 INFO Params: { + "batch_norm": "True", + "batch_size": "1024", + "condition_features": "None", + "condition_mode": "self-wise", + "data_format": "csv", + "data_root": "../data/Amazon/", + "dataset_id": "amazonelectronics_x1_b7a43f49", + "debug_mode": "False", + "dnn_activations": "relu", + "early_stop_patience": "2", + "embedding_dim": "64", + "embedding_regularizer": "0.005", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'user_id', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': 'item_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'name': 'cate_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'feature_encoder': 'layers.MaskedAveragePooling()', 'max_len': 100, 'name': 'item_history', 'share_embedding': 'item_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'feature_encoder': 'layers.MaskedAveragePooling()', 'max_len': 100, 'name': 'cate_history', 'share_embedding': 'cate_id', 'splitter': '^', 'type': 'sequence'}]", + "feature_config": "None", + "feature_specs": "None", + "generate_bias": "True", + "gpu": "6", + "group_id": "user_id", + "hypernet_config": "{'dropout_rates': 0.1, 'hidden_activations': 'relu', 'hidden_units': []}", + "label_col": "{'dtype': 'float', 'name': 'label'}", + "learning_rate": "0.0005", + "loss": "binary_crossentropy", + "low_rank": "32", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "1", + "model": "APG_DCNv2", + "model_id": "APG_DCNv2_amazonelectronics_x1_015_a0cca3e4", + "model_root": "./checkpoints/APG_DCNv2_amazonelectronics_x1/", + "model_structure": "parallel", + "monitor": "{'AUC': 1, 'gAUC': 1}", + "monitor_mode": "max", + "net_dropout": "0.1", + "net_regularizer": "0", + "new_condition_emb": "False", + "num_cross_layers": "2", + "num_experts": "4", + "num_workers": "3", + "optimizer": "adam", + "overparam_p": "[32, 16, 8]", + "parallel_dnn_hidden_units": "[1024, 512, 256]", + "pickle_feature_encoder": "True", + "rank_k": "[32, 16, 8]", + "save_best_only": "True", + "seed": "2022", + "shuffle": "True", + "stacked_dnn_hidden_units": "[500, 500, 500]", + "task": "binary_classification", + "test_data": "../data/Amazon/AmazonElectronics_x1/test.csv", + "train_data": "../data/Amazon/AmazonElectronics_x1/train.csv", + "use_features": "None", + "use_low_rank_mixture": "False", + "valid_data": "../data/Amazon/AmazonElectronics_x1/test.csv", + "verbose": "1" +} +2023-05-31 09:46:57,297 P12611 INFO Set up feature processor... +2023-05-31 09:46:57,297 P12611 WARNING Skip rebuilding ../data/Amazon/amazonelectronics_x1_b7a43f49/feature_map.json. Please delete it manually if rebuilding is required. +2023-05-31 09:46:57,298 P12611 INFO Load feature_map from json: ../data/Amazon/amazonelectronics_x1_b7a43f49/feature_map.json +2023-05-31 09:46:57,298 P12611 INFO Set column index... +2023-05-31 09:46:57,298 P12611 INFO Feature specs: { + "cate_history": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'cate_id', 'padding_idx': 0, 'oov_idx': 802, 'vocab_size': 803, 'max_len': 100}", + "cate_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 802, 'vocab_size': 803}", + "item_history": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'item_id', 'padding_idx': 0, 'oov_idx': 63002, 'vocab_size': 63003, 'max_len': 100}", + "item_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 63002, 'vocab_size': 63003}", + "user_id": "{'type': 'meta'}" +} +2023-05-31 09:47:03,303 P12611 INFO Total number of parameters: 5771329. +2023-05-31 09:47:03,304 P12611 INFO Loading data... +2023-05-31 09:47:03,304 P12611 INFO Loading data from h5: ../data/Amazon/amazonelectronics_x1_b7a43f49/train.h5 +2023-05-31 09:47:06,616 P12611 INFO Train samples: total/2608764, blocks/1 +2023-05-31 09:47:06,617 P12611 INFO Loading data from h5: ../data/Amazon/amazonelectronics_x1_b7a43f49/valid.h5 +2023-05-31 09:47:07,029 P12611 INFO Validation samples: total/384806, blocks/1 +2023-05-31 09:47:07,029 P12611 INFO Loading train and validation data done. +2023-05-31 09:47:07,029 P12611 INFO Start training: 2548 batches/epoch +2023-05-31 09:47:07,029 P12611 INFO ************ Epoch=1 start ************ +2023-05-31 09:52:05,224 P12611 INFO Train loss: 0.637748 +2023-05-31 09:52:05,224 P12611 INFO Evaluation @epoch 1 - batch 2548: +2023-05-31 09:53:38,497 P12611 INFO [Metrics] AUC: 0.834987 - gAUC: 0.833734 +2023-05-31 09:53:38,498 P12611 INFO Save best model: monitor(max)=1.668721 +2023-05-31 09:53:38,600 P12611 INFO ************ Epoch=1 end ************ +2023-05-31 09:58:32,438 P12611 INFO Train loss: 0.595188 +2023-05-31 09:58:32,439 P12611 INFO Evaluation @epoch 2 - batch 2548: +2023-05-31 10:00:06,624 P12611 INFO [Metrics] AUC: 0.847464 - gAUC: 0.844956 +2023-05-31 10:00:06,627 P12611 INFO Save best model: monitor(max)=1.692420 +2023-05-31 10:00:06,797 P12611 INFO ************ Epoch=2 end ************ +2023-05-31 10:05:02,904 P12611 INFO Train loss: 0.578905 +2023-05-31 10:05:02,905 P12611 INFO Evaluation @epoch 3 - batch 2548: +2023-05-31 10:06:36,308 P12611 INFO [Metrics] AUC: 0.852364 - gAUC: 0.850231 +2023-05-31 10:06:36,309 P12611 INFO Save best model: monitor(max)=1.702595 +2023-05-31 10:06:36,509 P12611 INFO ************ Epoch=3 end ************ +2023-05-31 10:11:31,521 P12611 INFO Train loss: 0.573118 +2023-05-31 10:11:31,525 P12611 INFO Evaluation @epoch 4 - batch 2548: +2023-05-31 10:13:05,624 P12611 INFO [Metrics] AUC: 0.854765 - gAUC: 0.851972 +2023-05-31 10:13:05,625 P12611 INFO Save best model: monitor(max)=1.706737 +2023-05-31 10:13:05,741 P12611 INFO ************ Epoch=4 end ************ +2023-05-31 10:18:04,625 P12611 INFO Train loss: 0.569993 +2023-05-31 10:18:04,625 P12611 INFO Evaluation @epoch 5 - batch 2548: +2023-05-31 10:19:39,244 P12611 INFO [Metrics] AUC: 0.856304 - gAUC: 0.854181 +2023-05-31 10:19:39,245 P12611 INFO Save best model: monitor(max)=1.710485 +2023-05-31 10:19:39,372 P12611 INFO ************ Epoch=5 end ************ +2023-05-31 10:24:36,877 P12611 INFO Train loss: 0.568825 +2023-05-31 10:24:36,878 P12611 INFO Evaluation @epoch 6 - batch 2548: +2023-05-31 10:26:09,168 P12611 INFO [Metrics] AUC: 0.855471 - gAUC: 0.853173 +2023-05-31 10:26:09,248 P12611 INFO Monitor(max)=1.708644 STOP! +2023-05-31 10:26:09,248 P12611 INFO Reduce learning rate on plateau: 0.000050 +2023-05-31 10:26:09,353 P12611 INFO ************ Epoch=6 end ************ +2023-05-31 10:30:59,981 P12611 INFO Train loss: 0.472181 +2023-05-31 10:30:59,981 P12611 INFO Evaluation @epoch 7 - batch 2548: +2023-05-31 10:32:35,254 P12611 INFO [Metrics] AUC: 0.876567 - gAUC: 0.873755 +2023-05-31 10:32:35,256 P12611 INFO Save best model: monitor(max)=1.750322 +2023-05-31 10:32:35,391 P12611 INFO ************ Epoch=7 end ************ +2023-05-31 10:37:11,148 P12611 INFO Train loss: 0.427074 +2023-05-31 10:37:11,149 P12611 INFO Evaluation @epoch 8 - batch 2548: +2023-05-31 10:38:38,473 P12611 INFO [Metrics] AUC: 0.880211 - gAUC: 0.877897 +2023-05-31 10:38:38,475 P12611 INFO Save best model: monitor(max)=1.758108 +2023-05-31 10:38:38,601 P12611 INFO ************ Epoch=8 end ************ +2023-05-31 10:43:10,243 P12611 INFO Train loss: 0.407486 +2023-05-31 10:43:10,243 P12611 INFO Evaluation @epoch 9 - batch 2548: +2023-05-31 10:44:33,860 P12611 INFO [Metrics] AUC: 0.882007 - gAUC: 0.879420 +2023-05-31 10:44:33,860 P12611 INFO Save best model: monitor(max)=1.761427 +2023-05-31 10:44:33,990 P12611 INFO ************ Epoch=9 end ************ +2023-05-31 10:48:39,854 P12611 INFO Train loss: 0.394435 +2023-05-31 10:48:39,855 P12611 INFO Evaluation @epoch 10 - batch 2548: +2023-05-31 10:49:55,253 P12611 INFO [Metrics] AUC: 0.880280 - gAUC: 0.877923 +2023-05-31 10:49:55,254 P12611 INFO Monitor(max)=1.758203 STOP! +2023-05-31 10:49:55,254 P12611 INFO Reduce learning rate on plateau: 0.000005 +2023-05-31 10:49:55,331 P12611 INFO ************ Epoch=10 end ************ +2023-05-31 10:53:22,343 P12611 INFO Train loss: 0.332896 +2023-05-31 10:53:22,344 P12611 INFO Evaluation @epoch 11 - batch 2548: +2023-05-31 10:54:28,346 P12611 INFO [Metrics] AUC: 0.874604 - gAUC: 0.872393 +2023-05-31 10:54:28,347 P12611 INFO Monitor(max)=1.746997 STOP! +2023-05-31 10:54:28,347 P12611 INFO Reduce learning rate on plateau: 0.000001 +2023-05-31 10:54:28,347 P12611 INFO ********* Epoch==11 early stop ********* +2023-05-31 10:54:28,415 P12611 INFO Training finished. +2023-05-31 10:54:28,415 P12611 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/APG_DCNv2_amazonelectronics_x1/amazonelectronics_x1_b7a43f49/APG_DCNv2_amazonelectronics_x1_015_a0cca3e4.model +2023-05-31 10:54:28,452 P12611 INFO ****** Validation evaluation ****** +2023-05-31 10:55:32,159 P12611 INFO [Metrics] gAUC: 0.879420 - AUC: 0.882007 - logloss: 0.437314 +2023-05-31 10:55:32,252 P12611 INFO ******** Test evaluation ******** +2023-05-31 10:55:32,253 P12611 INFO Loading data... +2023-05-31 10:55:32,253 P12611 INFO Loading data from h5: ../data/Amazon/amazonelectronics_x1_b7a43f49/test.h5 +2023-05-31 10:55:32,694 P12611 INFO Test samples: total/384806, blocks/1 +2023-05-31 10:55:32,694 P12611 INFO Loading test data done. +2023-05-31 10:56:41,092 P12611 INFO [Metrics] gAUC: 0.879420 - AUC: 0.882007 - logloss: 0.437314 + +``` diff --git a/ranking/ctr/APG/APG_DCNv2_amazonelectronics_x1/environments.txt b/ranking/ctr/APG/APG_DCNv2_amazonelectronics_x1/environments.txt new file mode 100644 index 0000000..a39d234 --- /dev/null +++ b/ranking/ctr/APG/APG_DCNv2_amazonelectronics_x1/environments.txt @@ -0,0 +1,17 @@ +[Hardware] +CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz +GPU: Tesla V100 32G +RAM: 755G + +[Software] +cuda: 10.2 +python: 3.7.10 +pytorch: 1.11.0 +pandas: 1.1.5 +numpy: 1.19.5 +scipy: 1.5.2 +sklearn: 0.22.1 +pyyaml: 6.0 +h5py: 2.8.0 +tqdm: 4.64.0 +fuxictr: 2.0.3 diff --git a/ranking/ctr/APG/APG_DCNv2_amazonelectronics_x1/results.csv b/ranking/ctr/APG/APG_DCNv2_amazonelectronics_x1/results.csv new file mode 100644 index 0000000..189df12 --- /dev/null +++ b/ranking/ctr/APG/APG_DCNv2_amazonelectronics_x1/results.csv @@ -0,0 +1 @@ + 20230531-105641,[command] python run_expid.py --config Amazon/APG_DCNv2_amazonelectronics_x1/APG_DCNv2_amazonelectronics_x1_tuner_config_03 --expid APG_DCNv2_amazonelectronics_x1_015_a0cca3e4 --gpu 6,[exp_id] APG_DCNv2_amazonelectronics_x1_015_a0cca3e4,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.879420 - AUC: 0.882007 - logloss: 0.437314,[test] gAUC: 0.879420 - AUC: 0.882007 - logloss: 0.437314 diff --git a/ranking/ctr/APG/APG_DCNv2_kuaivideo_x1/APG_DCNv2_kuaivideo_x1_010_2fb9cb37.log b/ranking/ctr/APG/APG_DCNv2_kuaivideo_x1/APG_DCNv2_kuaivideo_x1_010_2fb9cb37.log new file mode 100644 index 0000000..e2f5431 --- /dev/null +++ b/ranking/ctr/APG/APG_DCNv2_kuaivideo_x1/APG_DCNv2_kuaivideo_x1_010_2fb9cb37.log @@ -0,0 +1,153 @@ +2023-06-04 03:14:45,836 P60332 INFO Params: { + "batch_norm": "True", + "batch_size": "8192", + "condition_features": "['user_id', 'item_id', 'item_emb', 'pos_items', 'neg_items', 'pos_items_emb', 'neg_items_emb']", + "condition_mode": "mix-wise", + "data_format": "csv", + "data_root": "../data/KuaiShou/", + "dataset_id": "kuaivideo_x1_dc7a3035", + "debug_mode": "False", + "dnn_activations": "relu", + "early_stop_patience": "2", + "embedding_dim": "64", + "embedding_regularizer": "0.0001", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'group_id', 'preprocess': 'copy_from(user_id)', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': 'user_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'name': 'item_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'min_categr_count': 1, 'name': 'item_emb', 'preprocess': 'copy_from(item_id)', 'pretrained_emb': '../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'max_len': 100, 'name': 'pos_items', 'padding': 'pre', 'share_embedding': 'item_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 100, 'name': 'neg_items', 'padding': 'pre', 'share_embedding': 'item_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'max_len': 100, 'min_categr_count': 1, 'name': 'pos_items_emb', 'padding': 'pre', 'preprocess': 'copy_from(pos_items)', 'pretrained_emb': '../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5', 'share_embedding': 'item_emb', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'max_len': 100, 'min_categr_count': 1, 'name': 'neg_items_emb', 'padding': 'pre', 'preprocess': 'copy_from(neg_items)', 'pretrained_emb': '../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5', 'share_embedding': 'item_emb', 'splitter': '^', 'type': 'sequence'}]", + "feature_config": "None", + "feature_specs": "[{'feature_encoder': 'nn.Linear(64, 64, bias=False)', 'name': 'item_emb'}, {'feature_encoder': 'layers.MaskedAveragePooling()', 'name': 'pos_items'}, {'feature_encoder': 'layers.MaskedAveragePooling()', 'name': 'neg_items'}, {'feature_encoder': ['layers.MaskedAveragePooling()', 'nn.Linear(64, 64, bias=False)'], 'name': 'pos_items_emb'}, {'feature_encoder': ['layers.MaskedAveragePooling()', 'nn.Linear(64, 64, bias=False)'], 'name': 'neg_items_emb'}]", + "generate_bias": "True", + "gpu": "1", + "group_id": "group_id", + "hypernet_config": "{'dropout_rates': 0.1, 'hidden_activations': 'relu', 'hidden_units': []}", + "label_col": "{'dtype': 'float', 'name': 'is_click'}", + "learning_rate": "0.001", + "loss": "binary_crossentropy", + "low_rank": "32", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "10", + "model": "APG_DCNv2", + "model_id": "APG_DCNv2_kuaivideo_x1_010_2fb9cb37", + "model_root": "./checkpoints/APG_DCNv2_kuaivideo_x1/", + "model_structure": "parallel", + "monitor": "{'AUC': 1, 'gAUC': 1}", + "monitor_mode": "max", + "net_dropout": "0.1", + "net_regularizer": "0", + "new_condition_emb": "False", + "num_cross_layers": "2", + "num_experts": "4", + "num_workers": "3", + "optimizer": "adam", + "overparam_p": "None", + "parallel_dnn_hidden_units": "[1024, 512, 256]", + "pickle_feature_encoder": "True", + "rank_k": "[32, 16, 8]", + "save_best_only": "True", + "seed": "20222023", + "shuffle": "True", + "stacked_dnn_hidden_units": "[500, 500, 500]", + "task": "binary_classification", + "test_data": "../data/KuaiShou/KuaiVideo_x1/test.csv", + "train_data": "../data/KuaiShou/KuaiVideo_x1/train.csv", + "use_features": "None", + "use_low_rank_mixture": "False", + "valid_data": "../data/KuaiShou/KuaiVideo_x1/test.csv", + "verbose": "1" +} +2023-06-04 03:14:45,837 P60332 INFO Set up feature processor... +2023-06-04 03:14:45,837 P60332 WARNING Skip rebuilding ../data/KuaiShou/kuaivideo_x1_dc7a3035/feature_map.json. Please delete it manually if rebuilding is required. +2023-06-04 03:14:45,837 P60332 INFO Load feature_map from json: ../data/KuaiShou/kuaivideo_x1_dc7a3035/feature_map.json +2023-06-04 03:14:45,838 P60332 INFO Set column index... +2023-06-04 03:14:45,838 P60332 INFO Feature specs: { + "group_id": "{'type': 'meta'}", + "item_emb": "{'source': '', 'type': 'categorical', 'embedding_dim': 64, 'pretrained_emb': 'pretrained_emb.h5', 'freeze_emb': True, 'padding_idx': 0, 'oov_idx': 3242316, 'vocab_size': 3242317, 'feature_encoder': 'nn.Linear(64, 64, bias=False)'}", + "item_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 632405, 'vocab_size': 632406}", + "neg_items": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'item_id', 'padding_idx': 0, 'oov_idx': 632405, 'vocab_size': 632406, 'max_len': 100}", + "neg_items_emb": "{'source': '', 'type': 'sequence', 'feature_encoder': ['layers.MaskedAveragePooling()', 'nn.Linear(64, 64, bias=False)'], 'embedding_dim': 64, 'share_embedding': 'item_emb', 'padding_idx': 0, 'oov_idx': 3242316, 'vocab_size': 3242317, 'max_len': 100}", + "pos_items": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'item_id', 'padding_idx': 0, 'oov_idx': 632405, 'vocab_size': 632406, 'max_len': 100}", + "pos_items_emb": "{'source': '', 'type': 'sequence', 'feature_encoder': ['layers.MaskedAveragePooling()', 'nn.Linear(64, 64, bias=False)'], 'embedding_dim': 64, 'share_embedding': 'item_emb', 'padding_idx': 0, 'oov_idx': 3242316, 'vocab_size': 3242317, 'max_len': 100}", + "user_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 10001, 'vocab_size': 10002}" +} +2023-06-04 03:14:53,056 P60332 INFO Total number of parameters: 43018881. +2023-06-04 03:14:53,057 P60332 INFO Loading data... +2023-06-04 03:14:53,057 P60332 INFO Loading data from h5: ../data/KuaiShou/kuaivideo_x1_dc7a3035/train.h5 +2023-06-04 03:15:17,328 P60332 INFO Train samples: total/10931092, blocks/1 +2023-06-04 03:15:17,328 P60332 INFO Loading data from h5: ../data/KuaiShou/kuaivideo_x1_dc7a3035/valid.h5 +2023-06-04 03:15:24,618 P60332 INFO Validation samples: total/2730291, blocks/1 +2023-06-04 03:15:24,619 P60332 INFO Loading train and validation data done. +2023-06-04 03:15:24,619 P60332 INFO Start training: 1335 batches/epoch +2023-06-04 03:15:24,619 P60332 INFO ************ Epoch=1 start ************ +2023-06-04 03:20:38,997 P60332 INFO Train loss: 0.459765 +2023-06-04 03:20:39,003 P60332 INFO Evaluation @epoch 1 - batch 1335: +2023-06-04 03:21:52,962 P60332 INFO [Metrics] AUC: 0.731486 - gAUC: 0.644647 +2023-06-04 03:21:52,970 P60332 INFO Save best model: monitor(max)=1.376133 +2023-06-04 03:21:55,243 P60332 INFO ************ Epoch=1 end ************ +2023-06-04 03:27:14,598 P60332 INFO Train loss: 0.444499 +2023-06-04 03:27:14,603 P60332 INFO Evaluation @epoch 2 - batch 1335: +2023-06-04 03:28:30,974 P60332 INFO [Metrics] AUC: 0.738369 - gAUC: 0.654570 +2023-06-04 03:28:30,978 P60332 INFO Save best model: monitor(max)=1.392939 +2023-06-04 03:28:33,300 P60332 INFO ************ Epoch=2 end ************ +2023-06-04 03:33:47,481 P60332 INFO Train loss: 0.441063 +2023-06-04 03:33:47,481 P60332 INFO Evaluation @epoch 3 - batch 1335: +2023-06-04 03:35:00,971 P60332 INFO [Metrics] AUC: 0.740285 - gAUC: 0.657678 +2023-06-04 03:35:00,975 P60332 INFO Save best model: monitor(max)=1.397963 +2023-06-04 03:35:03,285 P60332 INFO ************ Epoch=3 end ************ +2023-06-04 03:37:55,627 P60332 INFO Train loss: 0.439679 +2023-06-04 03:37:55,627 P60332 INFO Evaluation @epoch 4 - batch 1335: +2023-06-04 03:38:36,077 P60332 INFO [Metrics] AUC: 0.740719 - gAUC: 0.658356 +2023-06-04 03:38:36,079 P60332 INFO Save best model: monitor(max)=1.399075 +2023-06-04 03:38:38,680 P60332 INFO ************ Epoch=4 end ************ +2023-06-04 03:40:37,453 P60332 INFO Train loss: 0.438689 +2023-06-04 03:40:37,454 P60332 INFO Evaluation @epoch 5 - batch 1335: +2023-06-04 03:41:08,288 P60332 INFO [Metrics] AUC: 0.741564 - gAUC: 0.660730 +2023-06-04 03:41:08,293 P60332 INFO Save best model: monitor(max)=1.402295 +2023-06-04 03:41:10,558 P60332 INFO ************ Epoch=5 end ************ +2023-06-04 03:43:07,854 P60332 INFO Train loss: 0.437906 +2023-06-04 03:43:07,854 P60332 INFO Evaluation @epoch 6 - batch 1335: +2023-06-04 03:43:38,366 P60332 INFO [Metrics] AUC: 0.742009 - gAUC: 0.660932 +2023-06-04 03:43:38,368 P60332 INFO Save best model: monitor(max)=1.402941 +2023-06-04 03:43:40,757 P60332 INFO ************ Epoch=6 end ************ +2023-06-04 03:45:40,522 P60332 INFO Train loss: 0.437139 +2023-06-04 03:45:40,522 P60332 INFO Evaluation @epoch 7 - batch 1335: +2023-06-04 03:46:12,219 P60332 INFO [Metrics] AUC: 0.743419 - gAUC: 0.662650 +2023-06-04 03:46:12,220 P60332 INFO Save best model: monitor(max)=1.406069 +2023-06-04 03:46:14,590 P60332 INFO ************ Epoch=7 end ************ +2023-06-04 03:48:15,532 P60332 INFO Train loss: 0.436447 +2023-06-04 03:48:15,532 P60332 INFO Evaluation @epoch 8 - batch 1335: +2023-06-04 03:48:45,193 P60332 INFO [Metrics] AUC: 0.742908 - gAUC: 0.661645 +2023-06-04 03:48:45,199 P60332 INFO Monitor(max)=1.404552 STOP! +2023-06-04 03:48:45,199 P60332 INFO Reduce learning rate on plateau: 0.000100 +2023-06-04 03:48:45,265 P60332 INFO ************ Epoch=8 end ************ +2023-06-04 03:50:46,909 P60332 INFO Train loss: 0.413889 +2023-06-04 03:50:46,910 P60332 INFO Evaluation @epoch 9 - batch 1335: +2023-06-04 03:51:20,226 P60332 INFO [Metrics] AUC: 0.746651 - gAUC: 0.666573 +2023-06-04 03:51:20,230 P60332 INFO Save best model: monitor(max)=1.413224 +2023-06-04 03:51:22,422 P60332 INFO ************ Epoch=9 end ************ +2023-06-04 03:53:16,894 P60332 INFO Train loss: 0.406181 +2023-06-04 03:53:16,895 P60332 INFO Evaluation @epoch 10 - batch 1335: +2023-06-04 03:53:52,258 P60332 INFO [Metrics] AUC: 0.746629 - gAUC: 0.667191 +2023-06-04 03:53:52,287 P60332 INFO Save best model: monitor(max)=1.413820 +2023-06-04 03:53:54,664 P60332 INFO ************ Epoch=10 end ************ +2023-06-04 03:55:37,723 P60332 INFO Train loss: 0.401456 +2023-06-04 03:55:37,724 P60332 INFO Evaluation @epoch 11 - batch 1335: +2023-06-04 03:56:03,461 P60332 INFO [Metrics] AUC: 0.745735 - gAUC: 0.666792 +2023-06-04 03:56:03,463 P60332 INFO Monitor(max)=1.412528 STOP! +2023-06-04 03:56:03,463 P60332 INFO Reduce learning rate on plateau: 0.000010 +2023-06-04 03:56:03,553 P60332 INFO ************ Epoch=11 end ************ +2023-06-04 03:57:37,404 P60332 INFO Train loss: 0.392417 +2023-06-04 03:57:37,404 P60332 INFO Evaluation @epoch 12 - batch 1335: +2023-06-04 03:58:02,030 P60332 INFO [Metrics] AUC: 0.745033 - gAUC: 0.666572 +2023-06-04 03:58:02,031 P60332 INFO Monitor(max)=1.411604 STOP! +2023-06-04 03:58:02,032 P60332 INFO Reduce learning rate on plateau: 0.000001 +2023-06-04 03:58:02,032 P60332 INFO ********* Epoch==12 early stop ********* +2023-06-04 03:58:02,111 P60332 INFO Training finished. +2023-06-04 03:58:02,112 P60332 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/APG_DCNv2_kuaivideo_x1/kuaivideo_x1_dc7a3035/APG_DCNv2_kuaivideo_x1_010_2fb9cb37.model +2023-06-04 03:58:03,031 P60332 INFO ****** Validation evaluation ****** +2023-06-04 03:58:29,216 P60332 INFO [Metrics] gAUC: 0.667191 - AUC: 0.746629 - logloss: 0.439467 +2023-06-04 03:58:29,370 P60332 INFO ******** Test evaluation ******** +2023-06-04 03:58:29,370 P60332 INFO Loading data... +2023-06-04 03:58:29,370 P60332 INFO Loading data from h5: ../data/KuaiShou/kuaivideo_x1_dc7a3035/test.h5 +2023-06-04 03:58:35,161 P60332 INFO Test samples: total/2730291, blocks/1 +2023-06-04 03:58:35,161 P60332 INFO Loading test data done. +2023-06-04 03:59:03,005 P60332 INFO [Metrics] gAUC: 0.667191 - AUC: 0.746629 - logloss: 0.439467 diff --git a/ranking/ctr/APG/APG_DCNv2_kuaivideo_x1/APG_DCNv2_kuaivideo_x1_tuner_config_04.csv b/ranking/ctr/APG/APG_DCNv2_kuaivideo_x1/APG_DCNv2_kuaivideo_x1_tuner_config_04.csv new file mode 100644 index 0000000..c5033f7 --- /dev/null +++ b/ranking/ctr/APG/APG_DCNv2_kuaivideo_x1/APG_DCNv2_kuaivideo_x1_tuner_config_04.csv @@ -0,0 +1,12 @@ + 20230604-021818,[command] python run_expid.py --config KuaiShou/APG_DCNv2_kuaivideo_x1/APG_DCNv2_kuaivideo_x1_tuner_config_04 --expid APG_DCNv2_kuaivideo_x1_010_2fb9cb37 --gpu 1,[exp_id] APG_DCNv2_kuaivideo_x1_010_2fb9cb37,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.667191 - AUC: 0.746629 - logloss: 0.439467,[test] gAUC: 0.667191 - AUC: 0.746629 - logloss: 0.439467 + 20230604-021816,[command] python run_expid.py --config KuaiShou/APG_DCNv2_kuaivideo_x1/APG_DCNv2_kuaivideo_x1_tuner_config_04 --expid APG_DCNv2_kuaivideo_x1_011_b60c3623 --gpu 4,[exp_id] APG_DCNv2_kuaivideo_x1_011_b60c3623,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.666675 - AUC: 0.745497 - logloss: 0.440059,[test] gAUC: 0.666675 - AUC: 0.745497 - logloss: 0.440059 + 20230604-022318,[command] python run_expid.py --config KuaiShou/APG_DCNv2_kuaivideo_x1/APG_DCNv2_kuaivideo_x1_tuner_config_04 --expid APG_DCNv2_kuaivideo_x1_012_5a27a703 --gpu 3,[exp_id] APG_DCNv2_kuaivideo_x1_012_5a27a703,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.666321 - AUC: 0.745885 - logloss: 0.440156,[test] gAUC: 0.666321 - AUC: 0.745885 - logloss: 0.440156 + 20230604-015425,[command] python run_expid.py --config KuaiShou/APG_DCNv2_kuaivideo_x1/APG_DCNv2_kuaivideo_x1_tuner_config_04 --expid APG_DCNv2_kuaivideo_x1_008_9f71b0f8 --gpu 7,[exp_id] APG_DCNv2_kuaivideo_x1_008_9f71b0f8,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.665801 - AUC: 0.745355 - logloss: 0.438423,[test] gAUC: 0.665801 - AUC: 0.745355 - logloss: 0.438423 + 20230604-015423,[command] python run_expid.py --config KuaiShou/APG_DCNv2_kuaivideo_x1/APG_DCNv2_kuaivideo_x1_tuner_config_04 --expid APG_DCNv2_kuaivideo_x1_007_b1bdf133 --gpu 6,[exp_id] APG_DCNv2_kuaivideo_x1_007_b1bdf133,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.665794 - AUC: 0.746203 - logloss: 0.437773,[test] gAUC: 0.665794 - AUC: 0.746203 - logloss: 0.437773 + 20230604-015406,[command] python run_expid.py --config KuaiShou/APG_DCNv2_kuaivideo_x1/APG_DCNv2_kuaivideo_x1_tuner_config_04 --expid APG_DCNv2_kuaivideo_x1_001_14b613bc --gpu 0,[exp_id] APG_DCNv2_kuaivideo_x1_001_14b613bc,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.664952 - AUC: 0.743551 - logloss: 0.443633,[test] gAUC: 0.664952 - AUC: 0.743551 - logloss: 0.443633 + 20230604-015745,[command] python run_expid.py --config KuaiShou/APG_DCNv2_kuaivideo_x1/APG_DCNv2_kuaivideo_x1_tuner_config_04 --expid APG_DCNv2_kuaivideo_x1_003_3962edf1 --gpu 2,[exp_id] APG_DCNv2_kuaivideo_x1_003_3962edf1,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.664578 - AUC: 0.742449 - logloss: 0.447116,[test] gAUC: 0.664578 - AUC: 0.742449 - logloss: 0.447116 + 20230604-021415,[command] python run_expid.py --config KuaiShou/APG_DCNv2_kuaivideo_x1/APG_DCNv2_kuaivideo_x1_tuner_config_04 --expid APG_DCNv2_kuaivideo_x1_009_dcdec9db --gpu 5,[exp_id] APG_DCNv2_kuaivideo_x1_009_dcdec9db,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.664350 - AUC: 0.745252 - logloss: 0.438815,[test] gAUC: 0.664350 - AUC: 0.745252 - logloss: 0.438815 + 20230604-013506,[command] python run_expid.py --config KuaiShou/APG_DCNv2_kuaivideo_x1/APG_DCNv2_kuaivideo_x1_tuner_config_04 --expid APG_DCNv2_kuaivideo_x1_002_66d43fc5 --gpu 1,[exp_id] APG_DCNv2_kuaivideo_x1_002_66d43fc5,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.662906 - AUC: 0.742865 - logloss: 0.441877,[test] gAUC: 0.662906 - AUC: 0.742865 - logloss: 0.441877 + 20230604-014633,[command] python run_expid.py --config KuaiShou/APG_DCNv2_kuaivideo_x1/APG_DCNv2_kuaivideo_x1_tuner_config_04 --expid APG_DCNv2_kuaivideo_x1_004_4696829f --gpu 3,[exp_id] APG_DCNv2_kuaivideo_x1_004_4696829f,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.661034 - AUC: 0.740678 - logloss: 0.445939,[test] gAUC: 0.661034 - AUC: 0.740678 - logloss: 0.445939 + 20230604-013428,[command] python run_expid.py --config KuaiShou/APG_DCNv2_kuaivideo_x1/APG_DCNv2_kuaivideo_x1_tuner_config_04 --expid APG_DCNv2_kuaivideo_x1_006_47657ae4 --gpu 5,[exp_id] APG_DCNv2_kuaivideo_x1_006_47657ae4,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.660444 - AUC: 0.740686 - logloss: 0.445209,[test] gAUC: 0.660444 - AUC: 0.740686 - logloss: 0.445209 + 20230604-014101,[command] python run_expid.py --config KuaiShou/APG_DCNv2_kuaivideo_x1/APG_DCNv2_kuaivideo_x1_tuner_config_04 --expid APG_DCNv2_kuaivideo_x1_005_005702bc --gpu 4,[exp_id] APG_DCNv2_kuaivideo_x1_005_005702bc,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.660201 - AUC: 0.740978 - logloss: 0.443193,[test] gAUC: 0.660201 - AUC: 0.740978 - logloss: 0.443193 diff --git a/ranking/ctr/APG/APG_DCNv2_kuaivideo_x1/APG_DCNv2_kuaivideo_x1_tuner_config_04.yaml b/ranking/ctr/APG/APG_DCNv2_kuaivideo_x1/APG_DCNv2_kuaivideo_x1_tuner_config_04.yaml new file mode 100644 index 0000000..e3dc857 --- /dev/null +++ b/ranking/ctr/APG/APG_DCNv2_kuaivideo_x1/APG_DCNv2_kuaivideo_x1_tuner_config_04.yaml @@ -0,0 +1,67 @@ +base_config: ../model_zoo/APG/config/ +base_expid: APG_DCNv2 +dataset_id: kuaivideo_x1 + +dataset_config: + kuaivideo_x1: + data_root: ../data/KuaiShou/ + data_format: csv + train_data: ../data/KuaiShou/KuaiVideo_x1/train.csv + valid_data: ../data/KuaiShou/KuaiVideo_x1/test.csv # no validation data split in original paper + test_data: ../data/KuaiShou/KuaiVideo_x1/test.csv + min_categr_count: 10 + feature_cols: + - {name: group_id, active: True, dtype: int, type: meta, preprocess: "copy_from(user_id)", remap: False} + - {name: user_id, active: True, dtype: str, type: categorical} + - {name: item_id, active: True, dtype: str, type: categorical} + - {name: item_emb, active: True, dtype: str, type: categorical, embedding_dim: 64, preprocess: "copy_from(item_id)", + pretrained_emb: "../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5", min_categr_count: 1} + - {name: pos_items, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, padding: pre, + share_embedding: item_id} + - {name: neg_items, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, padding: pre, + share_embedding: item_id} + - {name: pos_items_emb, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, embedding_dim: 64, + padding: pre, pretrained_emb: "../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5", min_categr_count: 1, + share_embedding: item_emb, preprocess: "copy_from(pos_items)"} + - {name: neg_items_emb, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, embedding_dim: 64, + padding: pre, pretrained_emb: "../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5", min_categr_count: 1, + share_embedding: item_emb, preprocess: "copy_from(neg_items)"} + label_col: {name: is_click, dtype: float} + + +tuner_space: + model_root: './checkpoints/APG_DCNv2_kuaivideo_x1/' + feature_specs: [[ + {name: item_emb, feature_encoder: "nn.Linear(64, 64, bias=False)"}, + {name: pos_items, feature_encoder: "layers.MaskedAveragePooling()"}, + {name: neg_items, feature_encoder: "layers.MaskedAveragePooling()"}, + {name: pos_items_emb, feature_encoder: ["layers.MaskedAveragePooling()", "nn.Linear(64, 64, bias=False)"]}, + {name: neg_items_emb, feature_encoder: ["layers.MaskedAveragePooling()", "nn.Linear(64, 64, bias=False)"]} + ]] + embedding_dim: 64 + parallel_dnn_hidden_units: [[1024, 512, 256]] + model_structure: parallel + use_low_rank_mixture: False + num_cross_layers: 2 + embedding_regularizer: 1.e-4 + net_dropout: 0.1 + batch_norm: True + hypernet_config: + hidden_units: [] + hidden_activations: relu + dropout_rates: 0.1 + condition_features: [["user_id"], ["item_id"], ["user_id", "item_id", "item_emb"], ["user_id", "item_id", "item_emb", "pos_items", "neg_items", "pos_items_emb", "neg_items_emb"]] + condition_mode: "mix-wise" + rank_k: [[32, 16, 8]] + overparam_p: [null, [64, 32, 16], [128, 64, 32]] + new_condition_emb: False + generate_bias: True + learning_rate: 1.e-3 + batch_size: 8192 + seed: 20222023 + group_id: group_id + metrics: [[gAUC, AUC, logloss]] + monitor: {"gAUC": 1, "AUC": 1} + + + diff --git a/ranking/ctr/APG/APG_DCNv2_kuaivideo_x1/APG_DCNv2_kuaivideo_x1_tuner_config_04/dataset_config.yaml b/ranking/ctr/APG/APG_DCNv2_kuaivideo_x1/APG_DCNv2_kuaivideo_x1_tuner_config_04/dataset_config.yaml new file mode 100644 index 0000000..b43f0c9 --- /dev/null +++ b/ranking/ctr/APG/APG_DCNv2_kuaivideo_x1/APG_DCNv2_kuaivideo_x1_tuner_config_04/dataset_config.yaml @@ -0,0 +1,26 @@ +kuaivideo_x1_dc7a3035: + data_format: csv + data_root: ../data/KuaiShou/ + feature_cols: + - {active: true, dtype: int, name: group_id, preprocess: copy_from(user_id), remap: false, + type: meta} + - {active: true, dtype: str, name: user_id, type: categorical} + - {active: true, dtype: str, name: item_id, type: categorical} + - {active: true, dtype: str, embedding_dim: 64, min_categr_count: 1, name: item_emb, + preprocess: copy_from(item_id), pretrained_emb: ../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5, + type: categorical} + - {active: true, dtype: str, max_len: 100, name: pos_items, padding: pre, share_embedding: item_id, + splitter: ^, type: sequence} + - {active: true, dtype: str, max_len: 100, name: neg_items, padding: pre, share_embedding: item_id, + splitter: ^, type: sequence} + - {active: true, dtype: str, embedding_dim: 64, max_len: 100, min_categr_count: 1, + name: pos_items_emb, padding: pre, preprocess: copy_from(pos_items), pretrained_emb: ../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5, + share_embedding: item_emb, splitter: ^, type: sequence} + - {active: true, dtype: str, embedding_dim: 64, max_len: 100, min_categr_count: 1, + name: neg_items_emb, padding: pre, preprocess: copy_from(neg_items), pretrained_emb: ../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5, + share_embedding: item_emb, splitter: ^, type: sequence} + label_col: {dtype: float, name: is_click} + min_categr_count: 10 + test_data: ../data/KuaiShou/KuaiVideo_x1/test.csv + train_data: ../data/KuaiShou/KuaiVideo_x1/train.csv + valid_data: ../data/KuaiShou/KuaiVideo_x1/test.csv diff --git a/ranking/ctr/APG/APG_DCNv2_kuaivideo_x1/APG_DCNv2_kuaivideo_x1_tuner_config_04/model_config.yaml b/ranking/ctr/APG/APG_DCNv2_kuaivideo_x1/APG_DCNv2_kuaivideo_x1_tuner_config_04/model_config.yaml new file mode 100644 index 0000000..5278fa8 --- /dev/null +++ b/ranking/ctr/APG/APG_DCNv2_kuaivideo_x1/APG_DCNv2_kuaivideo_x1_tuner_config_04/model_config.yaml @@ -0,0 +1,675 @@ +APG_DCNv2_kuaivideo_x1_001_14b613bc: + batch_norm: true + batch_size: 8192 + condition_features: [user_id] + condition_mode: mix-wise + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + dnn_activations: relu + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_kuaivideo_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 2 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: null + parallel_dnn_hidden_units: [1024, 512, 256] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_kuaivideo_x1_002_66d43fc5: + batch_norm: true + batch_size: 8192 + condition_features: [user_id] + condition_mode: mix-wise + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + dnn_activations: relu + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_kuaivideo_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 2 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [64, 32, 16] + parallel_dnn_hidden_units: [1024, 512, 256] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_kuaivideo_x1_003_3962edf1: + batch_norm: true + batch_size: 8192 + condition_features: [user_id] + condition_mode: mix-wise + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + dnn_activations: relu + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_kuaivideo_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 2 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [128, 64, 32] + parallel_dnn_hidden_units: [1024, 512, 256] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_kuaivideo_x1_004_4696829f: + batch_norm: true + batch_size: 8192 + condition_features: [item_id] + condition_mode: mix-wise + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + dnn_activations: relu + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_kuaivideo_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 2 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: null + parallel_dnn_hidden_units: [1024, 512, 256] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_kuaivideo_x1_005_005702bc: + batch_norm: true + batch_size: 8192 + condition_features: [item_id] + condition_mode: mix-wise + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + dnn_activations: relu + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_kuaivideo_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 2 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [64, 32, 16] + parallel_dnn_hidden_units: [1024, 512, 256] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_kuaivideo_x1_006_47657ae4: + batch_norm: true + batch_size: 8192 + condition_features: [item_id] + condition_mode: mix-wise + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + dnn_activations: relu + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_kuaivideo_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 2 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [128, 64, 32] + parallel_dnn_hidden_units: [1024, 512, 256] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_kuaivideo_x1_007_b1bdf133: + batch_norm: true + batch_size: 8192 + condition_features: [user_id, item_id, item_emb] + condition_mode: mix-wise + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + dnn_activations: relu + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_kuaivideo_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 2 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: null + parallel_dnn_hidden_units: [1024, 512, 256] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_kuaivideo_x1_008_9f71b0f8: + batch_norm: true + batch_size: 8192 + condition_features: [user_id, item_id, item_emb] + condition_mode: mix-wise + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + dnn_activations: relu + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_kuaivideo_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 2 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [64, 32, 16] + parallel_dnn_hidden_units: [1024, 512, 256] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_kuaivideo_x1_009_dcdec9db: + batch_norm: true + batch_size: 8192 + condition_features: [user_id, item_id, item_emb] + condition_mode: mix-wise + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + dnn_activations: relu + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_kuaivideo_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 2 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [128, 64, 32] + parallel_dnn_hidden_units: [1024, 512, 256] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_kuaivideo_x1_010_2fb9cb37: + batch_norm: true + batch_size: 8192 + condition_features: [user_id, item_id, item_emb, pos_items, neg_items, pos_items_emb, + neg_items_emb] + condition_mode: mix-wise + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + dnn_activations: relu + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_kuaivideo_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 2 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: null + parallel_dnn_hidden_units: [1024, 512, 256] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_kuaivideo_x1_011_b60c3623: + batch_norm: true + batch_size: 8192 + condition_features: [user_id, item_id, item_emb, pos_items, neg_items, pos_items_emb, + neg_items_emb] + condition_mode: mix-wise + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + dnn_activations: relu + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_kuaivideo_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 2 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [64, 32, 16] + parallel_dnn_hidden_units: [1024, 512, 256] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_kuaivideo_x1_012_5a27a703: + batch_norm: true + batch_size: 8192 + condition_features: [user_id, item_id, item_emb, pos_items, neg_items, pos_items_emb, + neg_items_emb] + condition_mode: mix-wise + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + dnn_activations: relu + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_kuaivideo_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 2 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [128, 64, 32] + parallel_dnn_hidden_units: [1024, 512, 256] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 diff --git a/ranking/ctr/APG/APG_DCNv2_kuaivideo_x1/README.md b/ranking/ctr/APG/APG_DCNv2_kuaivideo_x1/README.md new file mode 100644 index 0000000..0f55b80 --- /dev/null +++ b/ranking/ctr/APG/APG_DCNv2_kuaivideo_x1/README.md @@ -0,0 +1,228 @@ +## APG_DCNv2_kuaivideo_x1 + +A hands-on guide to run the APG model on the KuaiVideo_x1 dataset. + +Author: [BARS Benchmark](https://github.com/reczoo/BARS/blob/main/CITATION) + + +| [Environments](#Environments) | [Dataset](#Dataset) | [Code](#Code) | [Results](#Results) | [Logs](#Logs) | +|:-----------------------------:|:-----------:|:--------:|:--------:|-------| +### Environments ++ Hardware + + ```python + CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz + GPU: Tesla V100 32G + RAM: 755G + + ``` + ++ Software + + ```python + cuda: 10.2 + python: 3.7.10 + pytorch: 1.11.0 + pandas: 1.1.5 + numpy: 1.19.5 + scipy: 1.5.2 + sklearn: 0.22.1 + pyyaml: 6.0 + h5py: 2.8.0 + tqdm: 4.64.0 + fuxictr: 2.0.3 + + ``` + +### Dataset +Please refer to [KuaiVideo_x1](https://github.com/reczoo/Datasets/tree/main/KuaiShou/KuaiVideo_x1) to get the dataset details. + +### Code + +We use the [APG](https://github.com/reczoo/FuxiCTR/tree/v2.0.3/model_zoo/APG) model code from [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/tree/v2.0.3) for this experiment. + +Running steps: + +1. Download [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/archive/refs/tags/v2.0.3.zip) and install all the dependencies listed in the [environments](#environments). + + ```bash + pip uninstall fuxictr + pip install fuxictr==2.0.3 + ``` + +2. Create a data directory and put the downloaded data files in `../data/KuaiShou/KuaiVideo_x1`. + +3. Both `dataset_config.yaml` and `model_config.yaml` files are available in [APG_DCNv2_kuaivideo_x1_tuner_config_04](./APG_DCNv2_kuaivideo_x1_tuner_config_04). Please make sure that the data paths in `dataset_config.yaml` are correctly set. + +4. Run the following script to start training and evaluation. + + ```bash + cd FuxiCTR/model_zoo/APG + nohup python run_expid.py --config YOUR_PATH/APG/APG_DCNv2_kuaivideo_x1_tuner_config_04 --expid APG_DCNv2_kuaivideo_x1_010_2fb9cb37 --gpu 0 > run.log & + tail -f run.log + ``` + +### Results + +| gAUC | AUC | logloss | +|:--------------------:|:--------------------:|:--------------------:| +| 0.667191 | 0.746629 | 0.439467 | + + +### Logs +```python +2023-06-04 03:14:45,836 P60332 INFO Params: { + "batch_norm": "True", + "batch_size": "8192", + "condition_features": "['user_id', 'item_id', 'item_emb', 'pos_items', 'neg_items', 'pos_items_emb', 'neg_items_emb']", + "condition_mode": "mix-wise", + "data_format": "csv", + "data_root": "../data/KuaiShou/", + "dataset_id": "kuaivideo_x1_dc7a3035", + "debug_mode": "False", + "dnn_activations": "relu", + "early_stop_patience": "2", + "embedding_dim": "64", + "embedding_regularizer": "0.0001", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'group_id', 'preprocess': 'copy_from(user_id)', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': 'user_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'name': 'item_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'min_categr_count': 1, 'name': 'item_emb', 'preprocess': 'copy_from(item_id)', 'pretrained_emb': '../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'max_len': 100, 'name': 'pos_items', 'padding': 'pre', 'share_embedding': 'item_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 100, 'name': 'neg_items', 'padding': 'pre', 'share_embedding': 'item_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'max_len': 100, 'min_categr_count': 1, 'name': 'pos_items_emb', 'padding': 'pre', 'preprocess': 'copy_from(pos_items)', 'pretrained_emb': '../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5', 'share_embedding': 'item_emb', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'max_len': 100, 'min_categr_count': 1, 'name': 'neg_items_emb', 'padding': 'pre', 'preprocess': 'copy_from(neg_items)', 'pretrained_emb': '../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5', 'share_embedding': 'item_emb', 'splitter': '^', 'type': 'sequence'}]", + "feature_config": "None", + "feature_specs": "[{'feature_encoder': 'nn.Linear(64, 64, bias=False)', 'name': 'item_emb'}, {'feature_encoder': 'layers.MaskedAveragePooling()', 'name': 'pos_items'}, {'feature_encoder': 'layers.MaskedAveragePooling()', 'name': 'neg_items'}, {'feature_encoder': ['layers.MaskedAveragePooling()', 'nn.Linear(64, 64, bias=False)'], 'name': 'pos_items_emb'}, {'feature_encoder': ['layers.MaskedAveragePooling()', 'nn.Linear(64, 64, bias=False)'], 'name': 'neg_items_emb'}]", + "generate_bias": "True", + "gpu": "1", + "group_id": "group_id", + "hypernet_config": "{'dropout_rates': 0.1, 'hidden_activations': 'relu', 'hidden_units': []}", + "label_col": "{'dtype': 'float', 'name': 'is_click'}", + "learning_rate": "0.001", + "loss": "binary_crossentropy", + "low_rank": "32", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "10", + "model": "APG_DCNv2", + "model_id": "APG_DCNv2_kuaivideo_x1_010_2fb9cb37", + "model_root": "./checkpoints/APG_DCNv2_kuaivideo_x1/", + "model_structure": "parallel", + "monitor": "{'AUC': 1, 'gAUC': 1}", + "monitor_mode": "max", + "net_dropout": "0.1", + "net_regularizer": "0", + "new_condition_emb": "False", + "num_cross_layers": "2", + "num_experts": "4", + "num_workers": "3", + "optimizer": "adam", + "overparam_p": "None", + "parallel_dnn_hidden_units": "[1024, 512, 256]", + "pickle_feature_encoder": "True", + "rank_k": "[32, 16, 8]", + "save_best_only": "True", + "seed": "20222023", + "shuffle": "True", + "stacked_dnn_hidden_units": "[500, 500, 500]", + "task": "binary_classification", + "test_data": "../data/KuaiShou/KuaiVideo_x1/test.csv", + "train_data": "../data/KuaiShou/KuaiVideo_x1/train.csv", + "use_features": "None", + "use_low_rank_mixture": "False", + "valid_data": "../data/KuaiShou/KuaiVideo_x1/test.csv", + "verbose": "1" +} +2023-06-04 03:14:45,837 P60332 INFO Set up feature processor... +2023-06-04 03:14:45,837 P60332 WARNING Skip rebuilding ../data/KuaiShou/kuaivideo_x1_dc7a3035/feature_map.json. Please delete it manually if rebuilding is required. +2023-06-04 03:14:45,837 P60332 INFO Load feature_map from json: ../data/KuaiShou/kuaivideo_x1_dc7a3035/feature_map.json +2023-06-04 03:14:45,838 P60332 INFO Set column index... +2023-06-04 03:14:45,838 P60332 INFO Feature specs: { + "group_id": "{'type': 'meta'}", + "item_emb": "{'source': '', 'type': 'categorical', 'embedding_dim': 64, 'pretrained_emb': 'pretrained_emb.h5', 'freeze_emb': True, 'padding_idx': 0, 'oov_idx': 3242316, 'vocab_size': 3242317, 'feature_encoder': 'nn.Linear(64, 64, bias=False)'}", + "item_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 632405, 'vocab_size': 632406}", + "neg_items": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'item_id', 'padding_idx': 0, 'oov_idx': 632405, 'vocab_size': 632406, 'max_len': 100}", + "neg_items_emb": "{'source': '', 'type': 'sequence', 'feature_encoder': ['layers.MaskedAveragePooling()', 'nn.Linear(64, 64, bias=False)'], 'embedding_dim': 64, 'share_embedding': 'item_emb', 'padding_idx': 0, 'oov_idx': 3242316, 'vocab_size': 3242317, 'max_len': 100}", + "pos_items": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'item_id', 'padding_idx': 0, 'oov_idx': 632405, 'vocab_size': 632406, 'max_len': 100}", + "pos_items_emb": "{'source': '', 'type': 'sequence', 'feature_encoder': ['layers.MaskedAveragePooling()', 'nn.Linear(64, 64, bias=False)'], 'embedding_dim': 64, 'share_embedding': 'item_emb', 'padding_idx': 0, 'oov_idx': 3242316, 'vocab_size': 3242317, 'max_len': 100}", + "user_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 10001, 'vocab_size': 10002}" +} +2023-06-04 03:14:53,056 P60332 INFO Total number of parameters: 43018881. +2023-06-04 03:14:53,057 P60332 INFO Loading data... +2023-06-04 03:14:53,057 P60332 INFO Loading data from h5: ../data/KuaiShou/kuaivideo_x1_dc7a3035/train.h5 +2023-06-04 03:15:17,328 P60332 INFO Train samples: total/10931092, blocks/1 +2023-06-04 03:15:17,328 P60332 INFO Loading data from h5: ../data/KuaiShou/kuaivideo_x1_dc7a3035/valid.h5 +2023-06-04 03:15:24,618 P60332 INFO Validation samples: total/2730291, blocks/1 +2023-06-04 03:15:24,619 P60332 INFO Loading train and validation data done. +2023-06-04 03:15:24,619 P60332 INFO Start training: 1335 batches/epoch +2023-06-04 03:15:24,619 P60332 INFO ************ Epoch=1 start ************ +2023-06-04 03:20:38,997 P60332 INFO Train loss: 0.459765 +2023-06-04 03:20:39,003 P60332 INFO Evaluation @epoch 1 - batch 1335: +2023-06-04 03:21:52,962 P60332 INFO [Metrics] AUC: 0.731486 - gAUC: 0.644647 +2023-06-04 03:21:52,970 P60332 INFO Save best model: monitor(max)=1.376133 +2023-06-04 03:21:55,243 P60332 INFO ************ Epoch=1 end ************ +2023-06-04 03:27:14,598 P60332 INFO Train loss: 0.444499 +2023-06-04 03:27:14,603 P60332 INFO Evaluation @epoch 2 - batch 1335: +2023-06-04 03:28:30,974 P60332 INFO [Metrics] AUC: 0.738369 - gAUC: 0.654570 +2023-06-04 03:28:30,978 P60332 INFO Save best model: monitor(max)=1.392939 +2023-06-04 03:28:33,300 P60332 INFO ************ Epoch=2 end ************ +2023-06-04 03:33:47,481 P60332 INFO Train loss: 0.441063 +2023-06-04 03:33:47,481 P60332 INFO Evaluation @epoch 3 - batch 1335: +2023-06-04 03:35:00,971 P60332 INFO [Metrics] AUC: 0.740285 - gAUC: 0.657678 +2023-06-04 03:35:00,975 P60332 INFO Save best model: monitor(max)=1.397963 +2023-06-04 03:35:03,285 P60332 INFO ************ Epoch=3 end ************ +2023-06-04 03:37:55,627 P60332 INFO Train loss: 0.439679 +2023-06-04 03:37:55,627 P60332 INFO Evaluation @epoch 4 - batch 1335: +2023-06-04 03:38:36,077 P60332 INFO [Metrics] AUC: 0.740719 - gAUC: 0.658356 +2023-06-04 03:38:36,079 P60332 INFO Save best model: monitor(max)=1.399075 +2023-06-04 03:38:38,680 P60332 INFO ************ Epoch=4 end ************ +2023-06-04 03:40:37,453 P60332 INFO Train loss: 0.438689 +2023-06-04 03:40:37,454 P60332 INFO Evaluation @epoch 5 - batch 1335: +2023-06-04 03:41:08,288 P60332 INFO [Metrics] AUC: 0.741564 - gAUC: 0.660730 +2023-06-04 03:41:08,293 P60332 INFO Save best model: monitor(max)=1.402295 +2023-06-04 03:41:10,558 P60332 INFO ************ Epoch=5 end ************ +2023-06-04 03:43:07,854 P60332 INFO Train loss: 0.437906 +2023-06-04 03:43:07,854 P60332 INFO Evaluation @epoch 6 - batch 1335: +2023-06-04 03:43:38,366 P60332 INFO [Metrics] AUC: 0.742009 - gAUC: 0.660932 +2023-06-04 03:43:38,368 P60332 INFO Save best model: monitor(max)=1.402941 +2023-06-04 03:43:40,757 P60332 INFO ************ Epoch=6 end ************ +2023-06-04 03:45:40,522 P60332 INFO Train loss: 0.437139 +2023-06-04 03:45:40,522 P60332 INFO Evaluation @epoch 7 - batch 1335: +2023-06-04 03:46:12,219 P60332 INFO [Metrics] AUC: 0.743419 - gAUC: 0.662650 +2023-06-04 03:46:12,220 P60332 INFO Save best model: monitor(max)=1.406069 +2023-06-04 03:46:14,590 P60332 INFO ************ Epoch=7 end ************ +2023-06-04 03:48:15,532 P60332 INFO Train loss: 0.436447 +2023-06-04 03:48:15,532 P60332 INFO Evaluation @epoch 8 - batch 1335: +2023-06-04 03:48:45,193 P60332 INFO [Metrics] AUC: 0.742908 - gAUC: 0.661645 +2023-06-04 03:48:45,199 P60332 INFO Monitor(max)=1.404552 STOP! +2023-06-04 03:48:45,199 P60332 INFO Reduce learning rate on plateau: 0.000100 +2023-06-04 03:48:45,265 P60332 INFO ************ Epoch=8 end ************ +2023-06-04 03:50:46,909 P60332 INFO Train loss: 0.413889 +2023-06-04 03:50:46,910 P60332 INFO Evaluation @epoch 9 - batch 1335: +2023-06-04 03:51:20,226 P60332 INFO [Metrics] AUC: 0.746651 - gAUC: 0.666573 +2023-06-04 03:51:20,230 P60332 INFO Save best model: monitor(max)=1.413224 +2023-06-04 03:51:22,422 P60332 INFO ************ Epoch=9 end ************ +2023-06-04 03:53:16,894 P60332 INFO Train loss: 0.406181 +2023-06-04 03:53:16,895 P60332 INFO Evaluation @epoch 10 - batch 1335: +2023-06-04 03:53:52,258 P60332 INFO [Metrics] AUC: 0.746629 - gAUC: 0.667191 +2023-06-04 03:53:52,287 P60332 INFO Save best model: monitor(max)=1.413820 +2023-06-04 03:53:54,664 P60332 INFO ************ Epoch=10 end ************ +2023-06-04 03:55:37,723 P60332 INFO Train loss: 0.401456 +2023-06-04 03:55:37,724 P60332 INFO Evaluation @epoch 11 - batch 1335: +2023-06-04 03:56:03,461 P60332 INFO [Metrics] AUC: 0.745735 - gAUC: 0.666792 +2023-06-04 03:56:03,463 P60332 INFO Monitor(max)=1.412528 STOP! +2023-06-04 03:56:03,463 P60332 INFO Reduce learning rate on plateau: 0.000010 +2023-06-04 03:56:03,553 P60332 INFO ************ Epoch=11 end ************ +2023-06-04 03:57:37,404 P60332 INFO Train loss: 0.392417 +2023-06-04 03:57:37,404 P60332 INFO Evaluation @epoch 12 - batch 1335: +2023-06-04 03:58:02,030 P60332 INFO [Metrics] AUC: 0.745033 - gAUC: 0.666572 +2023-06-04 03:58:02,031 P60332 INFO Monitor(max)=1.411604 STOP! +2023-06-04 03:58:02,032 P60332 INFO Reduce learning rate on plateau: 0.000001 +2023-06-04 03:58:02,032 P60332 INFO ********* Epoch==12 early stop ********* +2023-06-04 03:58:02,111 P60332 INFO Training finished. +2023-06-04 03:58:02,112 P60332 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/APG_DCNv2_kuaivideo_x1/kuaivideo_x1_dc7a3035/APG_DCNv2_kuaivideo_x1_010_2fb9cb37.model +2023-06-04 03:58:03,031 P60332 INFO ****** Validation evaluation ****** +2023-06-04 03:58:29,216 P60332 INFO [Metrics] gAUC: 0.667191 - AUC: 0.746629 - logloss: 0.439467 +2023-06-04 03:58:29,370 P60332 INFO ******** Test evaluation ******** +2023-06-04 03:58:29,370 P60332 INFO Loading data... +2023-06-04 03:58:29,370 P60332 INFO Loading data from h5: ../data/KuaiShou/kuaivideo_x1_dc7a3035/test.h5 +2023-06-04 03:58:35,161 P60332 INFO Test samples: total/2730291, blocks/1 +2023-06-04 03:58:35,161 P60332 INFO Loading test data done. +2023-06-04 03:59:03,005 P60332 INFO [Metrics] gAUC: 0.667191 - AUC: 0.746629 - logloss: 0.439467 + +``` diff --git a/ranking/ctr/APG/APG_DCNv2_kuaivideo_x1/environments.txt b/ranking/ctr/APG/APG_DCNv2_kuaivideo_x1/environments.txt new file mode 100644 index 0000000..a39d234 --- /dev/null +++ b/ranking/ctr/APG/APG_DCNv2_kuaivideo_x1/environments.txt @@ -0,0 +1,17 @@ +[Hardware] +CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz +GPU: Tesla V100 32G +RAM: 755G + +[Software] +cuda: 10.2 +python: 3.7.10 +pytorch: 1.11.0 +pandas: 1.1.5 +numpy: 1.19.5 +scipy: 1.5.2 +sklearn: 0.22.1 +pyyaml: 6.0 +h5py: 2.8.0 +tqdm: 4.64.0 +fuxictr: 2.0.3 diff --git a/ranking/ctr/APG/APG_DCNv2_kuaivideo_x1/results.csv b/ranking/ctr/APG/APG_DCNv2_kuaivideo_x1/results.csv new file mode 100644 index 0000000..23a9697 --- /dev/null +++ b/ranking/ctr/APG/APG_DCNv2_kuaivideo_x1/results.csv @@ -0,0 +1 @@ + 20230604-021818,[command] python run_expid.py --config KuaiShou/APG_DCNv2_kuaivideo_x1/APG_DCNv2_kuaivideo_x1_tuner_config_04 --expid APG_DCNv2_kuaivideo_x1_010_2fb9cb37 --gpu 1,[exp_id] APG_DCNv2_kuaivideo_x1_010_2fb9cb37,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.667191 - AUC: 0.746629 - logloss: 0.439467,[test] gAUC: 0.667191 - AUC: 0.746629 - logloss: 0.439467 diff --git a/ranking/ctr/APG/APG_DCNv2_microvideo1.7m_x1/APG_DCNv2_microvideo1.7m_x1_007_863bfc5f.log b/ranking/ctr/APG/APG_DCNv2_microvideo1.7m_x1/APG_DCNv2_microvideo1.7m_x1_007_863bfc5f.log new file mode 100644 index 0000000..7222db2 --- /dev/null +++ b/ranking/ctr/APG/APG_DCNv2_microvideo1.7m_x1/APG_DCNv2_microvideo1.7m_x1_007_863bfc5f.log @@ -0,0 +1,151 @@ +2023-06-05 07:00:27,460 P75716 INFO Params: { + "batch_norm": "True", + "batch_size": "2048", + "condition_features": "None", + "condition_mode": "self-wise", + "data_format": "csv", + "data_root": "../data/MicroVideo1.7M/", + "dataset_id": "microvideo1.7m_x1_0d855fe6", + "debug_mode": "False", + "dnn_activations": "relu", + "early_stop_patience": "2", + "embedding_dim": "64", + "embedding_regularizer": "0.001", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'group_id', 'preprocess': 'copy_from(user_id)', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': 'user_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'name': 'item_id', 'pretrained_emb': '../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'name': 'cate_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'max_len': 100, 'name': 'clicked_items', 'padding': 'pre', 'pretrained_emb': '../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 100, 'name': 'clicked_categories', 'padding': 'pre', 'share_embedding': 'cate_id', 'splitter': '^', 'type': 'sequence'}, {'active': False, 'dtype': 'str', 'name': 'timestamp', 'type': 'categorical'}]", + "feature_config": "None", + "feature_specs": "[{'feature_encoder': 'nn.Linear(64, 64, bias=False)', 'name': 'item_id'}, {'feature_encoder': ['layers.MaskedAveragePooling()', 'nn.Linear(64, 64, bias=False)'], 'name': 'clicked_items'}, {'feature_encoder': 'layers.MaskedAveragePooling()', 'name': 'clicked_categories'}]", + "generate_bias": "True", + "gpu": "6", + "group_id": "group_id", + "hypernet_config": "{'dropout_rates': 0.1, 'hidden_activations': 'relu', 'hidden_units': []}", + "label_col": "{'dtype': 'float', 'name': 'is_click'}", + "learning_rate": "0.0005", + "loss": "binary_crossentropy", + "low_rank": "32", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "1", + "model": "APG_DCNv2", + "model_id": "APG_DCNv2_microvideo1.7m_x1_007_863bfc5f", + "model_root": "./checkpoints/APG_DCNv2_microvideo1.7m_x1/", + "model_structure": "parallel", + "monitor": "{'AUC': 1, 'gAUC': 1}", + "monitor_mode": "max", + "net_dropout": "0.1", + "net_regularizer": "0", + "new_condition_emb": "False", + "num_cross_layers": "3", + "num_experts": "4", + "num_workers": "3", + "optimizer": "adam", + "overparam_p": "[32, 16, 8]", + "parallel_dnn_hidden_units": "[1024, 512, 256]", + "pickle_feature_encoder": "True", + "rank_k": "[32, 16, 8]", + "save_best_only": "True", + "seed": "2022", + "shuffle": "True", + "stacked_dnn_hidden_units": "[500, 500, 500]", + "task": "binary_classification", + "test_data": "../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv", + "train_data": "../data/MicroVideo1.7M/MicroVideo1.7M_x1/train.csv", + "use_features": "None", + "use_low_rank_mixture": "False", + "valid_data": "../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv", + "verbose": "1" +} +2023-06-05 07:00:27,461 P75716 INFO Set up feature processor... +2023-06-05 07:00:27,461 P75716 WARNING Skip rebuilding ../data/MicroVideo1.7M/microvideo1.7m_x1_0d855fe6/feature_map.json. Please delete it manually if rebuilding is required. +2023-06-05 07:00:27,461 P75716 INFO Load feature_map from json: ../data/MicroVideo1.7M/microvideo1.7m_x1_0d855fe6/feature_map.json +2023-06-05 07:00:27,461 P75716 INFO Set column index... +2023-06-05 07:00:27,461 P75716 INFO Feature specs: { + "cate_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 513, 'vocab_size': 514}", + "clicked_categories": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'cate_id', 'padding_idx': 0, 'oov_idx': 513, 'vocab_size': 514, 'max_len': 100}", + "clicked_items": "{'source': '', 'type': 'sequence', 'feature_encoder': ['layers.MaskedAveragePooling()', 'nn.Linear(64, 64, bias=False)'], 'embedding_dim': 64, 'pretrained_emb': 'pretrained_emb.h5', 'freeze_emb': True, 'padding_idx': 0, 'oov_idx': 1704881, 'vocab_size': 1704882, 'max_len': 100}", + "group_id": "{'type': 'meta'}", + "item_id": "{'source': '', 'type': 'categorical', 'embedding_dim': 64, 'pretrained_emb': 'pretrained_emb.h5', 'freeze_emb': True, 'padding_idx': 0, 'oov_idx': 1704881, 'vocab_size': 1704882, 'feature_encoder': 'nn.Linear(64, 64, bias=False)'}", + "user_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 10987, 'vocab_size': 10988}" +} +2023-06-05 07:00:35,594 P75716 INFO Total number of parameters: 2741825. +2023-06-05 07:00:35,595 P75716 INFO Loading data... +2023-06-05 07:00:35,595 P75716 INFO Loading data from h5: ../data/MicroVideo1.7M/microvideo1.7m_x1_0d855fe6/train.h5 +2023-06-05 07:00:45,726 P75716 INFO Train samples: total/8970309, blocks/1 +2023-06-05 07:00:45,727 P75716 INFO Loading data from h5: ../data/MicroVideo1.7M/microvideo1.7m_x1_0d855fe6/valid.h5 +2023-06-05 07:00:49,865 P75716 INFO Validation samples: total/3767308, blocks/1 +2023-06-05 07:00:49,865 P75716 INFO Loading train and validation data done. +2023-06-05 07:00:49,865 P75716 INFO Start training: 4381 batches/epoch +2023-06-05 07:00:49,865 P75716 INFO ************ Epoch=1 start ************ +2023-06-05 07:04:49,365 P75716 INFO Train loss: 0.458991 +2023-06-05 07:04:49,365 P75716 INFO Evaluation @epoch 1 - batch 4381: +2023-06-05 07:06:38,963 P75716 INFO [Metrics] AUC: 0.719110 - gAUC: 0.670555 +2023-06-05 07:06:38,969 P75716 INFO Save best model: monitor(max)=1.389665 +2023-06-05 07:06:41,374 P75716 INFO ************ Epoch=1 end ************ +2023-06-05 07:10:45,981 P75716 INFO Train loss: 0.440881 +2023-06-05 07:10:45,981 P75716 INFO Evaluation @epoch 2 - batch 4381: +2023-06-05 07:12:32,395 P75716 INFO [Metrics] AUC: 0.721810 - gAUC: 0.672201 +2023-06-05 07:12:32,395 P75716 INFO Save best model: monitor(max)=1.394011 +2023-06-05 07:12:34,368 P75716 INFO ************ Epoch=2 end ************ +2023-06-05 07:16:58,462 P75716 INFO Train loss: 0.438760 +2023-06-05 07:16:58,462 P75716 INFO Evaluation @epoch 3 - batch 4381: +2023-06-05 07:18:41,773 P75716 INFO [Metrics] AUC: 0.723777 - gAUC: 0.674748 +2023-06-05 07:18:41,774 P75716 INFO Save best model: monitor(max)=1.398525 +2023-06-05 07:18:43,718 P75716 INFO ************ Epoch=3 end ************ +2023-06-05 07:22:48,556 P75716 INFO Train loss: 0.437439 +2023-06-05 07:22:48,556 P75716 INFO Evaluation @epoch 4 - batch 4381: +2023-06-05 07:24:31,158 P75716 INFO [Metrics] AUC: 0.724921 - gAUC: 0.677001 +2023-06-05 07:24:31,160 P75716 INFO Save best model: monitor(max)=1.401923 +2023-06-05 07:24:33,146 P75716 INFO ************ Epoch=4 end ************ +2023-06-05 07:28:32,968 P75716 INFO Train loss: 0.436534 +2023-06-05 07:28:32,968 P75716 INFO Evaluation @epoch 5 - batch 4381: +2023-06-05 07:30:18,914 P75716 INFO [Metrics] AUC: 0.724518 - gAUC: 0.676459 +2023-06-05 07:30:18,915 P75716 INFO Monitor(max)=1.400977 STOP! +2023-06-05 07:30:18,915 P75716 INFO Reduce learning rate on plateau: 0.000050 +2023-06-05 07:30:19,002 P75716 INFO ************ Epoch=5 end ************ +2023-06-05 07:34:16,315 P75716 INFO Train loss: 0.423939 +2023-06-05 07:34:16,315 P75716 INFO Evaluation @epoch 6 - batch 4381: +2023-06-05 07:35:56,019 P75716 INFO [Metrics] AUC: 0.731578 - gAUC: 0.681731 +2023-06-05 07:35:56,020 P75716 INFO Save best model: monitor(max)=1.413309 +2023-06-05 07:35:57,900 P75716 INFO ************ Epoch=6 end ************ +2023-06-05 07:39:56,593 P75716 INFO Train loss: 0.419004 +2023-06-05 07:39:56,593 P75716 INFO Evaluation @epoch 7 - batch 4381: +2023-06-05 07:41:31,031 P75716 INFO [Metrics] AUC: 0.732223 - gAUC: 0.682287 +2023-06-05 07:41:31,032 P75716 INFO Save best model: monitor(max)=1.414510 +2023-06-05 07:41:33,042 P75716 INFO ************ Epoch=7 end ************ +2023-06-05 07:45:38,269 P75716 INFO Train loss: 0.416882 +2023-06-05 07:45:38,269 P75716 INFO Evaluation @epoch 8 - batch 4381: +2023-06-05 07:47:16,078 P75716 INFO [Metrics] AUC: 0.732484 - gAUC: 0.682546 +2023-06-05 07:47:16,080 P75716 INFO Save best model: monitor(max)=1.415029 +2023-06-05 07:47:18,056 P75716 INFO ************ Epoch=8 end ************ +2023-06-05 07:51:23,447 P75716 INFO Train loss: 0.415176 +2023-06-05 07:51:23,447 P75716 INFO Evaluation @epoch 9 - batch 4381: +2023-06-05 07:53:01,166 P75716 INFO [Metrics] AUC: 0.732472 - gAUC: 0.682655 +2023-06-05 07:53:01,168 P75716 INFO Save best model: monitor(max)=1.415127 +2023-06-05 07:53:03,036 P75716 INFO ************ Epoch=9 end ************ +2023-06-05 07:57:09,997 P75716 INFO Train loss: 0.413706 +2023-06-05 07:57:09,998 P75716 INFO Evaluation @epoch 10 - batch 4381: +2023-06-05 07:58:50,345 P75716 INFO [Metrics] AUC: 0.732541 - gAUC: 0.682735 +2023-06-05 07:58:50,347 P75716 INFO Save best model: monitor(max)=1.415276 +2023-06-05 07:58:52,314 P75716 INFO ************ Epoch=10 end ************ +2023-06-05 08:03:06,305 P75716 INFO Train loss: 0.412341 +2023-06-05 08:03:06,306 P75716 INFO Evaluation @epoch 11 - batch 4381: +2023-06-05 08:04:41,451 P75716 INFO [Metrics] AUC: 0.732394 - gAUC: 0.682724 +2023-06-05 08:04:41,452 P75716 INFO Monitor(max)=1.415118 STOP! +2023-06-05 08:04:41,452 P75716 INFO Reduce learning rate on plateau: 0.000005 +2023-06-05 08:04:41,533 P75716 INFO ************ Epoch=11 end ************ +2023-06-05 08:08:50,960 P75716 INFO Train loss: 0.406497 +2023-06-05 08:08:50,961 P75716 INFO Evaluation @epoch 12 - batch 4381: +2023-06-05 08:10:31,176 P75716 INFO [Metrics] AUC: 0.731831 - gAUC: 0.682006 +2023-06-05 08:10:31,177 P75716 INFO Monitor(max)=1.413837 STOP! +2023-06-05 08:10:31,177 P75716 INFO Reduce learning rate on plateau: 0.000001 +2023-06-05 08:10:31,177 P75716 INFO ********* Epoch==12 early stop ********* +2023-06-05 08:10:31,264 P75716 INFO Training finished. +2023-06-05 08:10:31,264 P75716 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/APG_DCNv2_microvideo1.7m_x1/microvideo1.7m_x1_0d855fe6/APG_DCNv2_microvideo1.7m_x1_007_863bfc5f.model +2023-06-05 08:10:31,955 P75716 INFO ****** Validation evaluation ****** +2023-06-05 08:11:39,195 P75716 INFO [Metrics] gAUC: 0.682735 - AUC: 0.732541 - logloss: 0.412684 +2023-06-05 08:11:39,300 P75716 INFO ******** Test evaluation ******** +2023-06-05 08:11:39,300 P75716 INFO Loading data... +2023-06-05 08:11:39,300 P75716 INFO Loading data from h5: ../data/MicroVideo1.7M/microvideo1.7m_x1_0d855fe6/test.h5 +2023-06-05 08:11:43,376 P75716 INFO Test samples: total/3767308, blocks/1 +2023-06-05 08:11:43,376 P75716 INFO Loading test data done. +2023-06-05 08:12:19,350 P75716 INFO [Metrics] gAUC: 0.682735 - AUC: 0.732541 - logloss: 0.412684 diff --git a/ranking/ctr/APG/APG_DCNv2_microvideo1.7m_x1/APG_DCNv2_microvideo1.7m_x1_tuner_config_01.csv b/ranking/ctr/APG/APG_DCNv2_microvideo1.7m_x1/APG_DCNv2_microvideo1.7m_x1_tuner_config_01.csv new file mode 100644 index 0000000..eacee5d --- /dev/null +++ b/ranking/ctr/APG/APG_DCNv2_microvideo1.7m_x1/APG_DCNv2_microvideo1.7m_x1_tuner_config_01.csv @@ -0,0 +1,4 @@ + 20230604-184225,[command] python run_expid.py --config MicroVideo1.7M/APG_DCNv2_microvideo1.7m_x1/APG_DCNv2_microvideo1.7m_x1_tuner_config_01 --expid APG_DCNv2_microvideo1.7m_x1_007_863bfc5f --gpu 6,[exp_id] APG_DCNv2_microvideo1.7m_x1_007_863bfc5f,[dataset_id] microvideo1.7m_x1_0d855fe6,[train] N.A.,[val] gAUC: 0.682735 - AUC: 0.732541 - logloss: 0.412684,[test] gAUC: 0.682735 - AUC: 0.732541 - logloss: 0.412684 + 20230604-184048,[command] python run_expid.py --config MicroVideo1.7M/APG_DCNv2_microvideo1.7m_x1/APG_DCNv2_microvideo1.7m_x1_tuner_config_01 --expid APG_DCNv2_microvideo1.7m_x1_005_8789fb51 --gpu 4,[exp_id] APG_DCNv2_microvideo1.7m_x1_005_8789fb51,[dataset_id] microvideo1.7m_x1_0d855fe6,[train] N.A.,[val] gAUC: 0.682313 - AUC: 0.732169 - logloss: 0.413693,[test] gAUC: 0.682313 - AUC: 0.732169 - logloss: 0.413693 + 20230604-184207,[command] python run_expid.py --config MicroVideo1.7M/APG_DCNv2_microvideo1.7m_x1/APG_DCNv2_microvideo1.7m_x1_tuner_config_01 --expid APG_DCNv2_microvideo1.7m_x1_008_3e0047f5 --gpu 7,[exp_id] APG_DCNv2_microvideo1.7m_x1_008_3e0047f5,[dataset_id] microvideo1.7m_x1_0d855fe6,[train] N.A.,[val] gAUC: 0.681762 - AUC: 0.731750 - logloss: 0.412940,[test] gAUC: 0.681762 - AUC: 0.731750 - logloss: 0.412940 + 20230604-183714,[command] python run_expid.py --config MicroVideo1.7M/APG_DCNv2_microvideo1.7m_x1/APG_DCNv2_microvideo1.7m_x1_tuner_config_01 --expid APG_DCNv2_microvideo1.7m_x1_006_f53201f0 --gpu 5,[exp_id] APG_DCNv2_microvideo1.7m_x1_006_f53201f0,[dataset_id] microvideo1.7m_x1_0d855fe6,[train] N.A.,[val] gAUC: 0.680623 - AUC: 0.730828 - logloss: 0.412891,[test] gAUC: 0.680623 - AUC: 0.730828 - logloss: 0.412891 diff --git a/ranking/ctr/APG/APG_DCNv2_microvideo1.7m_x1/APG_DCNv2_microvideo1.7m_x1_tuner_config_01.yaml b/ranking/ctr/APG/APG_DCNv2_microvideo1.7m_x1/APG_DCNv2_microvideo1.7m_x1_tuner_config_01.yaml new file mode 100644 index 0000000..b30c9ae --- /dev/null +++ b/ranking/ctr/APG/APG_DCNv2_microvideo1.7m_x1/APG_DCNv2_microvideo1.7m_x1_tuner_config_01.yaml @@ -0,0 +1,59 @@ +base_config: ../model_zoo/APG/config/ +base_expid: APG_DCNv2 +dataset_id: microvideo1.7m_x1 + +dataset_config: + microvideo1.7m_x1: + data_root: ../data/MicroVideo1.7M/ + data_format: csv + train_data: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/train.csv + valid_data: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv # no validation data split in original paper + test_data: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv + min_categr_count: 1 + feature_cols: + - {name: group_id, active: True, dtype: int, type: meta, preprocess: "copy_from(user_id)", remap: False} + - {name: user_id, active: True, dtype: str, type: categorical} + - {name: item_id, active: True, dtype: str, type: categorical, embedding_dim: 64, + pretrained_emb: "../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5"} + - {name: cate_id, active: True, dtype: str, type: categorical} + - {name: clicked_items, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, embedding_dim: 64, + padding: pre, pretrained_emb: "../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5"} + - {name: clicked_categories, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, padding: pre, + share_embedding: cate_id} + - {name: timestamp, active: False, dtype: str, type: categorical} + label_col: {name: is_click, dtype: float} + + +tuner_space: + model_root: './checkpoints/APG_DCNv2_microvideo1.7m_x1/' + feature_specs: [[ + {name: item_id, feature_encoder: "nn.Linear(64, 64, bias=False)"}, + {name: clicked_items, feature_encoder: ["layers.MaskedAveragePooling()", "nn.Linear(64, 64, bias=False)"]}, + {name: clicked_categories, feature_encoder: "layers.MaskedAveragePooling()"} + ]] + embedding_dim: 64 + parallel_dnn_hidden_units: [[1024, 512, 256]] + model_structure: parallel + use_low_rank_mixture: False + num_cross_layers: 3 + embedding_regularizer: 1.e-3 + net_dropout: 0.1 + batch_norm: True + hypernet_config: + hidden_units: [] + hidden_activations: relu + dropout_rates: 0.1 + condition_features: null + condition_mode: "self-wise" + rank_k: [null, [32, 16, 8]] + overparam_p: [null, [64, 32, 16], [32, 16, 8], [512, 256, 128]] + generate_bias: True + learning_rate: 5.e-4 + batch_size: 2048 + seed: 2022 + group_id: group_id + metrics: [[gAUC, AUC, logloss]] + monitor: {"gAUC": 1, "AUC": 1} + + + diff --git a/ranking/ctr/APG/APG_DCNv2_microvideo1.7m_x1/APG_DCNv2_microvideo1.7m_x1_tuner_config_01/dataset_config.yaml b/ranking/ctr/APG/APG_DCNv2_microvideo1.7m_x1/APG_DCNv2_microvideo1.7m_x1_tuner_config_01/dataset_config.yaml new file mode 100644 index 0000000..5ea90a8 --- /dev/null +++ b/ranking/ctr/APG/APG_DCNv2_microvideo1.7m_x1/APG_DCNv2_microvideo1.7m_x1_tuner_config_01/dataset_config.yaml @@ -0,0 +1,21 @@ +microvideo1.7m_x1_0d855fe6: + data_format: csv + data_root: ../data/MicroVideo1.7M/ + feature_cols: + - {active: true, dtype: int, name: group_id, preprocess: copy_from(user_id), remap: false, + type: meta} + - {active: true, dtype: str, name: user_id, type: categorical} + - {active: true, dtype: str, embedding_dim: 64, name: item_id, pretrained_emb: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5, + type: categorical} + - {active: true, dtype: str, name: cate_id, type: categorical} + - {active: true, dtype: str, embedding_dim: 64, max_len: 100, name: clicked_items, + padding: pre, pretrained_emb: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5, + splitter: ^, type: sequence} + - {active: true, dtype: str, max_len: 100, name: clicked_categories, padding: pre, + share_embedding: cate_id, splitter: ^, type: sequence} + - {active: false, dtype: str, name: timestamp, type: categorical} + label_col: {dtype: float, name: is_click} + min_categr_count: 1 + test_data: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv + train_data: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/train.csv + valid_data: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv diff --git a/ranking/ctr/APG/APG_DCNv2_microvideo1.7m_x1/APG_DCNv2_microvideo1.7m_x1_tuner_config_01/model_config.yaml b/ranking/ctr/APG/APG_DCNv2_microvideo1.7m_x1/APG_DCNv2_microvideo1.7m_x1_tuner_config_01/model_config.yaml new file mode 100644 index 0000000..e564845 --- /dev/null +++ b/ranking/ctr/APG/APG_DCNv2_microvideo1.7m_x1/APG_DCNv2_microvideo1.7m_x1_tuner_config_01/model_config.yaml @@ -0,0 +1,424 @@ +APG_DCNv2_microvideo1.7m_x1_001_072a8997: + batch_norm: true + batch_size: 2048 + condition_features: null + condition_mode: self-wise + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + dnn_activations: relu + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.001 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_microvideo1.7m_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 3 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: null + parallel_dnn_hidden_units: [1024, 512, 256] + pickle_feature_encoder: true + rank_k: null + save_best_only: true + seed: 2022 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_microvideo1.7m_x1_002_61953eea: + batch_norm: true + batch_size: 2048 + condition_features: null + condition_mode: self-wise + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + dnn_activations: relu + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.001 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_microvideo1.7m_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 3 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [64, 32, 16] + parallel_dnn_hidden_units: [1024, 512, 256] + pickle_feature_encoder: true + rank_k: null + save_best_only: true + seed: 2022 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_microvideo1.7m_x1_003_8789fb51: + batch_norm: true + batch_size: 2048 + condition_features: null + condition_mode: self-wise + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + dnn_activations: relu + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.001 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_microvideo1.7m_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 3 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [32, 16, 8] + parallel_dnn_hidden_units: [1024, 512, 256] + pickle_feature_encoder: true + rank_k: null + save_best_only: true + seed: 2022 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_microvideo1.7m_x1_004_0cadbacd: + batch_norm: true + batch_size: 2048 + condition_features: null + condition_mode: self-wise + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + dnn_activations: relu + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.001 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_microvideo1.7m_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 3 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [512, 256, 128] + parallel_dnn_hidden_units: [1024, 512, 256] + pickle_feature_encoder: true + rank_k: null + save_best_only: true + seed: 2022 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_microvideo1.7m_x1_005_8789fb51: + batch_norm: true + batch_size: 2048 + condition_features: null + condition_mode: self-wise + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + dnn_activations: relu + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.001 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_microvideo1.7m_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 3 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: null + parallel_dnn_hidden_units: [1024, 512, 256] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 2022 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_microvideo1.7m_x1_006_f53201f0: + batch_norm: true + batch_size: 2048 + condition_features: null + condition_mode: self-wise + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + dnn_activations: relu + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.001 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_microvideo1.7m_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 3 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [64, 32, 16] + parallel_dnn_hidden_units: [1024, 512, 256] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 2022 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_microvideo1.7m_x1_007_863bfc5f: + batch_norm: true + batch_size: 2048 + condition_features: null + condition_mode: self-wise + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + dnn_activations: relu + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.001 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_microvideo1.7m_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 3 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [32, 16, 8] + parallel_dnn_hidden_units: [1024, 512, 256] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 2022 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_microvideo1.7m_x1_008_3e0047f5: + batch_norm: true + batch_size: 2048 + condition_features: null + condition_mode: self-wise + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + dnn_activations: relu + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.001 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_microvideo1.7m_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 3 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [512, 256, 128] + parallel_dnn_hidden_units: [1024, 512, 256] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 2022 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 diff --git a/ranking/ctr/APG/APG_DCNv2_microvideo1.7m_x1/README.md b/ranking/ctr/APG/APG_DCNv2_microvideo1.7m_x1/README.md new file mode 100644 index 0000000..e0d650a --- /dev/null +++ b/ranking/ctr/APG/APG_DCNv2_microvideo1.7m_x1/README.md @@ -0,0 +1,226 @@ +## APG_DCNv2_microvideo1.7m_x1 + +A hands-on guide to run the APG model on the MicroVideo1.7M_x1 dataset. + +Author: [BARS Benchmark](https://github.com/reczoo/BARS/blob/main/CITATION) + + +| [Environments](#Environments) | [Dataset](#Dataset) | [Code](#Code) | [Results](#Results) | [Logs](#Logs) | +|:-----------------------------:|:-----------:|:--------:|:--------:|-------| +### Environments ++ Hardware + + ```python + CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz + GPU: Tesla V100 32G + RAM: 755G + + ``` + ++ Software + + ```python + cuda: 10.2 + python: 3.7.10 + pytorch: 1.11.0 + pandas: 1.1.5 + numpy: 1.19.5 + scipy: 1.5.2 + sklearn: 0.22.1 + pyyaml: 6.0 + h5py: 2.8.0 + tqdm: 4.64.0 + fuxictr: 2.0.3 + + ``` + +### Dataset +Please refer to [MicroVideo1.7M_x1](https://github.com/reczoo/Datasets/tree/main/MicroVideo/MicroVideo1.7M_x1) to get the dataset details. + +### Code + +We use the [APG](https://github.com/reczoo/FuxiCTR/tree/v2.0.3/model_zoo/APG) model code from [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/tree/v2.0.3) for this experiment. + +Running steps: + +1. Download [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/archive/refs/tags/v2.0.3.zip) and install all the dependencies listed in the [environments](#environments). + + ```bash + pip uninstall fuxictr + pip install fuxictr==2.0.3 + ``` + +2. Create a data directory and put the downloaded data files in `../data/MicroVideo/MicroVideo1.7M_x1`. + +3. Both `dataset_config.yaml` and `model_config.yaml` files are available in [APG_DCNv2_microvideo1.7m_x1_tuner_config_01](./APG_DCNv2_microvideo1.7m_x1_tuner_config_01). Please make sure that the data paths in `dataset_config.yaml` are correctly set. + +4. Run the following script to start training and evaluation. + + ```bash + cd FuxiCTR/model_zoo/APG + nohup python run_expid.py --config YOUR_PATH/APG/APG_DCNv2_microvideo1.7m_x1_tuner_config_01 --expid APG_DCNv2_microvideo1 --gpu 0 > run.log & + tail -f run.log + ``` + +### Results + +| gAUC | AUC | logloss | +|:--------------------:|:--------------------:|:--------------------:| +| 0.682735 | 0.732541 | 0.412684 | + + +### Logs +```python +2023-06-05 07:00:27,460 P75716 INFO Params: { + "batch_norm": "True", + "batch_size": "2048", + "condition_features": "None", + "condition_mode": "self-wise", + "data_format": "csv", + "data_root": "../data/MicroVideo1.7M/", + "dataset_id": "microvideo1.7m_x1_0d855fe6", + "debug_mode": "False", + "dnn_activations": "relu", + "early_stop_patience": "2", + "embedding_dim": "64", + "embedding_regularizer": "0.001", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'group_id', 'preprocess': 'copy_from(user_id)', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': 'user_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'name': 'item_id', 'pretrained_emb': '../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'name': 'cate_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'max_len': 100, 'name': 'clicked_items', 'padding': 'pre', 'pretrained_emb': '../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 100, 'name': 'clicked_categories', 'padding': 'pre', 'share_embedding': 'cate_id', 'splitter': '^', 'type': 'sequence'}, {'active': False, 'dtype': 'str', 'name': 'timestamp', 'type': 'categorical'}]", + "feature_config": "None", + "feature_specs": "[{'feature_encoder': 'nn.Linear(64, 64, bias=False)', 'name': 'item_id'}, {'feature_encoder': ['layers.MaskedAveragePooling()', 'nn.Linear(64, 64, bias=False)'], 'name': 'clicked_items'}, {'feature_encoder': 'layers.MaskedAveragePooling()', 'name': 'clicked_categories'}]", + "generate_bias": "True", + "gpu": "6", + "group_id": "group_id", + "hypernet_config": "{'dropout_rates': 0.1, 'hidden_activations': 'relu', 'hidden_units': []}", + "label_col": "{'dtype': 'float', 'name': 'is_click'}", + "learning_rate": "0.0005", + "loss": "binary_crossentropy", + "low_rank": "32", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "1", + "model": "APG_DCNv2", + "model_id": "APG_DCNv2_microvideo1.7m_x1_007_863bfc5f", + "model_root": "./checkpoints/APG_DCNv2_microvideo1.7m_x1/", + "model_structure": "parallel", + "monitor": "{'AUC': 1, 'gAUC': 1}", + "monitor_mode": "max", + "net_dropout": "0.1", + "net_regularizer": "0", + "new_condition_emb": "False", + "num_cross_layers": "3", + "num_experts": "4", + "num_workers": "3", + "optimizer": "adam", + "overparam_p": "[32, 16, 8]", + "parallel_dnn_hidden_units": "[1024, 512, 256]", + "pickle_feature_encoder": "True", + "rank_k": "[32, 16, 8]", + "save_best_only": "True", + "seed": "2022", + "shuffle": "True", + "stacked_dnn_hidden_units": "[500, 500, 500]", + "task": "binary_classification", + "test_data": "../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv", + "train_data": "../data/MicroVideo1.7M/MicroVideo1.7M_x1/train.csv", + "use_features": "None", + "use_low_rank_mixture": "False", + "valid_data": "../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv", + "verbose": "1" +} +2023-06-05 07:00:27,461 P75716 INFO Set up feature processor... +2023-06-05 07:00:27,461 P75716 WARNING Skip rebuilding ../data/MicroVideo1.7M/microvideo1.7m_x1_0d855fe6/feature_map.json. Please delete it manually if rebuilding is required. +2023-06-05 07:00:27,461 P75716 INFO Load feature_map from json: ../data/MicroVideo1.7M/microvideo1.7m_x1_0d855fe6/feature_map.json +2023-06-05 07:00:27,461 P75716 INFO Set column index... +2023-06-05 07:00:27,461 P75716 INFO Feature specs: { + "cate_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 513, 'vocab_size': 514}", + "clicked_categories": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'cate_id', 'padding_idx': 0, 'oov_idx': 513, 'vocab_size': 514, 'max_len': 100}", + "clicked_items": "{'source': '', 'type': 'sequence', 'feature_encoder': ['layers.MaskedAveragePooling()', 'nn.Linear(64, 64, bias=False)'], 'embedding_dim': 64, 'pretrained_emb': 'pretrained_emb.h5', 'freeze_emb': True, 'padding_idx': 0, 'oov_idx': 1704881, 'vocab_size': 1704882, 'max_len': 100}", + "group_id": "{'type': 'meta'}", + "item_id": "{'source': '', 'type': 'categorical', 'embedding_dim': 64, 'pretrained_emb': 'pretrained_emb.h5', 'freeze_emb': True, 'padding_idx': 0, 'oov_idx': 1704881, 'vocab_size': 1704882, 'feature_encoder': 'nn.Linear(64, 64, bias=False)'}", + "user_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 10987, 'vocab_size': 10988}" +} +2023-06-05 07:00:35,594 P75716 INFO Total number of parameters: 2741825. +2023-06-05 07:00:35,595 P75716 INFO Loading data... +2023-06-05 07:00:35,595 P75716 INFO Loading data from h5: ../data/MicroVideo1.7M/microvideo1.7m_x1_0d855fe6/train.h5 +2023-06-05 07:00:45,726 P75716 INFO Train samples: total/8970309, blocks/1 +2023-06-05 07:00:45,727 P75716 INFO Loading data from h5: ../data/MicroVideo1.7M/microvideo1.7m_x1_0d855fe6/valid.h5 +2023-06-05 07:00:49,865 P75716 INFO Validation samples: total/3767308, blocks/1 +2023-06-05 07:00:49,865 P75716 INFO Loading train and validation data done. +2023-06-05 07:00:49,865 P75716 INFO Start training: 4381 batches/epoch +2023-06-05 07:00:49,865 P75716 INFO ************ Epoch=1 start ************ +2023-06-05 07:04:49,365 P75716 INFO Train loss: 0.458991 +2023-06-05 07:04:49,365 P75716 INFO Evaluation @epoch 1 - batch 4381: +2023-06-05 07:06:38,963 P75716 INFO [Metrics] AUC: 0.719110 - gAUC: 0.670555 +2023-06-05 07:06:38,969 P75716 INFO Save best model: monitor(max)=1.389665 +2023-06-05 07:06:41,374 P75716 INFO ************ Epoch=1 end ************ +2023-06-05 07:10:45,981 P75716 INFO Train loss: 0.440881 +2023-06-05 07:10:45,981 P75716 INFO Evaluation @epoch 2 - batch 4381: +2023-06-05 07:12:32,395 P75716 INFO [Metrics] AUC: 0.721810 - gAUC: 0.672201 +2023-06-05 07:12:32,395 P75716 INFO Save best model: monitor(max)=1.394011 +2023-06-05 07:12:34,368 P75716 INFO ************ Epoch=2 end ************ +2023-06-05 07:16:58,462 P75716 INFO Train loss: 0.438760 +2023-06-05 07:16:58,462 P75716 INFO Evaluation @epoch 3 - batch 4381: +2023-06-05 07:18:41,773 P75716 INFO [Metrics] AUC: 0.723777 - gAUC: 0.674748 +2023-06-05 07:18:41,774 P75716 INFO Save best model: monitor(max)=1.398525 +2023-06-05 07:18:43,718 P75716 INFO ************ Epoch=3 end ************ +2023-06-05 07:22:48,556 P75716 INFO Train loss: 0.437439 +2023-06-05 07:22:48,556 P75716 INFO Evaluation @epoch 4 - batch 4381: +2023-06-05 07:24:31,158 P75716 INFO [Metrics] AUC: 0.724921 - gAUC: 0.677001 +2023-06-05 07:24:31,160 P75716 INFO Save best model: monitor(max)=1.401923 +2023-06-05 07:24:33,146 P75716 INFO ************ Epoch=4 end ************ +2023-06-05 07:28:32,968 P75716 INFO Train loss: 0.436534 +2023-06-05 07:28:32,968 P75716 INFO Evaluation @epoch 5 - batch 4381: +2023-06-05 07:30:18,914 P75716 INFO [Metrics] AUC: 0.724518 - gAUC: 0.676459 +2023-06-05 07:30:18,915 P75716 INFO Monitor(max)=1.400977 STOP! +2023-06-05 07:30:18,915 P75716 INFO Reduce learning rate on plateau: 0.000050 +2023-06-05 07:30:19,002 P75716 INFO ************ Epoch=5 end ************ +2023-06-05 07:34:16,315 P75716 INFO Train loss: 0.423939 +2023-06-05 07:34:16,315 P75716 INFO Evaluation @epoch 6 - batch 4381: +2023-06-05 07:35:56,019 P75716 INFO [Metrics] AUC: 0.731578 - gAUC: 0.681731 +2023-06-05 07:35:56,020 P75716 INFO Save best model: monitor(max)=1.413309 +2023-06-05 07:35:57,900 P75716 INFO ************ Epoch=6 end ************ +2023-06-05 07:39:56,593 P75716 INFO Train loss: 0.419004 +2023-06-05 07:39:56,593 P75716 INFO Evaluation @epoch 7 - batch 4381: +2023-06-05 07:41:31,031 P75716 INFO [Metrics] AUC: 0.732223 - gAUC: 0.682287 +2023-06-05 07:41:31,032 P75716 INFO Save best model: monitor(max)=1.414510 +2023-06-05 07:41:33,042 P75716 INFO ************ Epoch=7 end ************ +2023-06-05 07:45:38,269 P75716 INFO Train loss: 0.416882 +2023-06-05 07:45:38,269 P75716 INFO Evaluation @epoch 8 - batch 4381: +2023-06-05 07:47:16,078 P75716 INFO [Metrics] AUC: 0.732484 - gAUC: 0.682546 +2023-06-05 07:47:16,080 P75716 INFO Save best model: monitor(max)=1.415029 +2023-06-05 07:47:18,056 P75716 INFO ************ Epoch=8 end ************ +2023-06-05 07:51:23,447 P75716 INFO Train loss: 0.415176 +2023-06-05 07:51:23,447 P75716 INFO Evaluation @epoch 9 - batch 4381: +2023-06-05 07:53:01,166 P75716 INFO [Metrics] AUC: 0.732472 - gAUC: 0.682655 +2023-06-05 07:53:01,168 P75716 INFO Save best model: monitor(max)=1.415127 +2023-06-05 07:53:03,036 P75716 INFO ************ Epoch=9 end ************ +2023-06-05 07:57:09,997 P75716 INFO Train loss: 0.413706 +2023-06-05 07:57:09,998 P75716 INFO Evaluation @epoch 10 - batch 4381: +2023-06-05 07:58:50,345 P75716 INFO [Metrics] AUC: 0.732541 - gAUC: 0.682735 +2023-06-05 07:58:50,347 P75716 INFO Save best model: monitor(max)=1.415276 +2023-06-05 07:58:52,314 P75716 INFO ************ Epoch=10 end ************ +2023-06-05 08:03:06,305 P75716 INFO Train loss: 0.412341 +2023-06-05 08:03:06,306 P75716 INFO Evaluation @epoch 11 - batch 4381: +2023-06-05 08:04:41,451 P75716 INFO [Metrics] AUC: 0.732394 - gAUC: 0.682724 +2023-06-05 08:04:41,452 P75716 INFO Monitor(max)=1.415118 STOP! +2023-06-05 08:04:41,452 P75716 INFO Reduce learning rate on plateau: 0.000005 +2023-06-05 08:04:41,533 P75716 INFO ************ Epoch=11 end ************ +2023-06-05 08:08:50,960 P75716 INFO Train loss: 0.406497 +2023-06-05 08:08:50,961 P75716 INFO Evaluation @epoch 12 - batch 4381: +2023-06-05 08:10:31,176 P75716 INFO [Metrics] AUC: 0.731831 - gAUC: 0.682006 +2023-06-05 08:10:31,177 P75716 INFO Monitor(max)=1.413837 STOP! +2023-06-05 08:10:31,177 P75716 INFO Reduce learning rate on plateau: 0.000001 +2023-06-05 08:10:31,177 P75716 INFO ********* Epoch==12 early stop ********* +2023-06-05 08:10:31,264 P75716 INFO Training finished. +2023-06-05 08:10:31,264 P75716 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/APG_DCNv2_microvideo1.7m_x1/microvideo1.7m_x1_0d855fe6/APG_DCNv2_microvideo1.7m_x1_007_863bfc5f.model +2023-06-05 08:10:31,955 P75716 INFO ****** Validation evaluation ****** +2023-06-05 08:11:39,195 P75716 INFO [Metrics] gAUC: 0.682735 - AUC: 0.732541 - logloss: 0.412684 +2023-06-05 08:11:39,300 P75716 INFO ******** Test evaluation ******** +2023-06-05 08:11:39,300 P75716 INFO Loading data... +2023-06-05 08:11:39,300 P75716 INFO Loading data from h5: ../data/MicroVideo1.7M/microvideo1.7m_x1_0d855fe6/test.h5 +2023-06-05 08:11:43,376 P75716 INFO Test samples: total/3767308, blocks/1 +2023-06-05 08:11:43,376 P75716 INFO Loading test data done. +2023-06-05 08:12:19,350 P75716 INFO [Metrics] gAUC: 0.682735 - AUC: 0.732541 - logloss: 0.412684 + +``` diff --git a/ranking/ctr/APG/APG_DCNv2_microvideo1.7m_x1/environments.txt b/ranking/ctr/APG/APG_DCNv2_microvideo1.7m_x1/environments.txt new file mode 100644 index 0000000..a39d234 --- /dev/null +++ b/ranking/ctr/APG/APG_DCNv2_microvideo1.7m_x1/environments.txt @@ -0,0 +1,17 @@ +[Hardware] +CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz +GPU: Tesla V100 32G +RAM: 755G + +[Software] +cuda: 10.2 +python: 3.7.10 +pytorch: 1.11.0 +pandas: 1.1.5 +numpy: 1.19.5 +scipy: 1.5.2 +sklearn: 0.22.1 +pyyaml: 6.0 +h5py: 2.8.0 +tqdm: 4.64.0 +fuxictr: 2.0.3 diff --git a/ranking/ctr/APG/APG_DCNv2_microvideo1.7m_x1/results.csv b/ranking/ctr/APG/APG_DCNv2_microvideo1.7m_x1/results.csv new file mode 100644 index 0000000..4c3692a --- /dev/null +++ b/ranking/ctr/APG/APG_DCNv2_microvideo1.7m_x1/results.csv @@ -0,0 +1 @@ + 20230604-184225,[command] python run_expid.py --config MicroVideo1.7M/APG_DCNv2_microvideo1.7m_x1/APG_DCNv2_microvideo1.7m_x1_tuner_config_01 --expid APG_DCNv2_microvideo1.7m_x1_007_863bfc5f --gpu 6,[exp_id] APG_DCNv2_microvideo1.7m_x1_007_863bfc5f,[dataset_id] microvideo1.7m_x1_0d855fe6,[train] N.A.,[val] gAUC: 0.682735 - AUC: 0.732541 - logloss: 0.412684,[test] gAUC: 0.682735 - AUC: 0.732541 - logloss: 0.412684 diff --git a/ranking/ctr/APG/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_030_5fbce754.log b/ranking/ctr/APG/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_030_5fbce754.log new file mode 100644 index 0000000..68dc897 --- /dev/null +++ b/ranking/ctr/APG/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_030_5fbce754.log @@ -0,0 +1,129 @@ +2023-05-31 23:26:32,257 P100601 INFO Params: { + "batch_norm": "False", + "batch_size": "8192", + "condition_features": "None", + "condition_mode": "self-wise", + "data_format": "csv", + "data_root": "../data/Taobao/", + "dataset_id": "taobaoad_x1_2753db8a", + "debug_mode": "False", + "dnn_activations": "relu", + "early_stop_patience": "1", + "embedding_dim": "32", + "embedding_regularizer": "5e-06", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'group_id', 'preprocess': 'copy_from(userid)', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': ['userid', 'cms_segid', 'cms_group_id', 'final_gender_code', 'age_level', 'pvalue_level', 'shopping_level', 'occupation', 'new_user_class_level', 'adgroup_id', 'cate_id', 'campaign_id', 'customer', 'brand', 'pid', 'btag'], 'type': 'categorical'}, {'active': True, 'dtype': 'float', 'name': 'price', 'type': 'numeric'}, {'active': True, 'dtype': 'str', 'max_len': 50, 'name': 'cate_his', 'padding': 'pre', 'share_embedding': 'cate_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 50, 'name': 'brand_his', 'padding': 'pre', 'share_embedding': 'brand', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 50, 'name': 'btag_his', 'padding': 'pre', 'share_embedding': 'btag', 'splitter': '^', 'type': 'sequence'}]", + "feature_config": "None", + "feature_specs": "None", + "generate_bias": "True", + "gpu": "7", + "group_id": "group_id", + "hypernet_config": "{'dropout_rates': 0.1, 'hidden_activations': 'relu', 'hidden_units': []}", + "label_col": "{'dtype': 'float', 'name': 'clk'}", + "learning_rate": "0.001", + "loss": "binary_crossentropy", + "low_rank": "32", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "10", + "model": "APG_DCNv2", + "model_id": "APG_DCNv2_taobaoad_x1_030_5fbce754", + "model_root": "./checkpoints/APG_DCNv2_taobaoad_x1/", + "model_structure": "parallel", + "monitor": "{'AUC': 1, 'gAUC': 1}", + "monitor_mode": "max", + "net_dropout": "0.1", + "net_regularizer": "0", + "new_condition_emb": "False", + "num_cross_layers": "4", + "num_experts": "4", + "num_workers": "3", + "optimizer": "adam", + "overparam_p": "[128, 64, 32]", + "parallel_dnn_hidden_units": "[512, 256, 128]", + "pickle_feature_encoder": "True", + "rank_k": "[32, 16, 8]", + "save_best_only": "True", + "seed": "20222023", + "shuffle": "True", + "stacked_dnn_hidden_units": "[500, 500, 500]", + "task": "binary_classification", + "test_data": "../data/Taobao/TaobaoAd_x1/test.csv", + "train_data": "../data/Taobao/TaobaoAd_x1/train.csv", + "use_features": "None", + "use_low_rank_mixture": "False", + "valid_data": "../data/Taobao/TaobaoAd_x1/test.csv", + "verbose": "1" +} +2023-05-31 23:26:32,258 P100601 INFO Set up feature processor... +2023-05-31 23:26:32,259 P100601 WARNING Skip rebuilding ../data/Taobao/taobaoad_x1_2753db8a/feature_map.json. Please delete it manually if rebuilding is required. +2023-05-31 23:26:32,259 P100601 INFO Load feature_map from json: ../data/Taobao/taobaoad_x1_2753db8a/feature_map.json +2023-05-31 23:26:32,259 P100601 INFO Set column index... +2023-05-31 23:26:32,259 P100601 INFO Feature specs: { + "adgroup_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 246850, 'vocab_size': 246851}", + "age_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 8, 'vocab_size': 9}", + "brand": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 308869, 'vocab_size': 308870}", + "brand_his": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'brand', 'padding_idx': 0, 'oov_idx': 308869, 'vocab_size': 308870, 'max_len': 50}", + "btag": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 5, 'vocab_size': 6}", + "btag_his": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'btag', 'padding_idx': 0, 'oov_idx': 5, 'vocab_size': 6, 'max_len': 50}", + "campaign_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 191770, 'vocab_size': 191771}", + "cate_his": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'cate_id', 'padding_idx': 0, 'oov_idx': 11329, 'vocab_size': 11330, 'max_len': 50}", + "cate_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 11329, 'vocab_size': 11330}", + "cms_group_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 14, 'vocab_size': 15}", + "cms_segid": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 98, 'vocab_size': 99}", + "customer": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 132135, 'vocab_size': 132136}", + "final_gender_code": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 3, 'vocab_size': 4}", + "group_id": "{'type': 'meta'}", + "new_user_class_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 6, 'vocab_size': 7}", + "occupation": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 3, 'vocab_size': 4}", + "pid": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 3, 'vocab_size': 4}", + "price": "{'source': '', 'type': 'numeric'}", + "pvalue_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 5, 'vocab_size': 6}", + "shopping_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 4, 'vocab_size': 5}", + "userid": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 403957, 'vocab_size': 403958}" +} +2023-05-31 23:26:36,793 P100601 INFO Total number of parameters: 44600385. +2023-05-31 23:26:36,793 P100601 INFO Loading data... +2023-05-31 23:26:36,794 P100601 INFO Loading data from h5: ../data/Taobao/taobaoad_x1_2753db8a/train.h5 +2023-05-31 23:27:03,523 P100601 INFO Train samples: total/21929911, blocks/1 +2023-05-31 23:27:03,523 P100601 INFO Loading data from h5: ../data/Taobao/taobaoad_x1_2753db8a/valid.h5 +2023-05-31 23:27:07,188 P100601 INFO Validation samples: total/3099515, blocks/1 +2023-05-31 23:27:07,188 P100601 INFO Loading train and validation data done. +2023-05-31 23:27:07,188 P100601 INFO Start training: 2677 batches/epoch +2023-05-31 23:27:07,188 P100601 INFO ************ Epoch=1 start ************ +2023-05-31 23:30:46,547 P100601 INFO Train loss: 0.204391 +2023-05-31 23:30:46,548 P100601 INFO Evaluation @epoch 1 - batch 2677: +2023-05-31 23:32:17,157 P100601 INFO [Metrics] AUC: 0.643445 - gAUC: 0.567565 +2023-05-31 23:32:17,159 P100601 INFO Save best model: monitor(max)=1.211010 +2023-05-31 23:32:17,488 P100601 INFO ************ Epoch=1 end ************ +2023-05-31 23:35:43,502 P100601 INFO Train loss: 0.200060 +2023-05-31 23:35:43,503 P100601 INFO Evaluation @epoch 2 - batch 2677: +2023-05-31 23:37:18,926 P100601 INFO [Metrics] AUC: 0.646287 - gAUC: 0.572210 +2023-05-31 23:37:18,928 P100601 INFO Save best model: monitor(max)=1.218497 +2023-05-31 23:37:19,393 P100601 INFO ************ Epoch=2 end ************ +2023-05-31 23:41:13,610 P100601 INFO Train loss: 0.198432 +2023-05-31 23:41:13,611 P100601 INFO Evaluation @epoch 3 - batch 2677: +2023-05-31 23:42:48,272 P100601 INFO [Metrics] AUC: 0.648910 - gAUC: 0.574236 +2023-05-31 23:42:48,273 P100601 INFO Save best model: monitor(max)=1.223146 +2023-05-31 23:42:48,781 P100601 INFO ************ Epoch=3 end ************ +2023-05-31 23:48:06,450 P100601 INFO Train loss: 0.198764 +2023-05-31 23:48:06,451 P100601 INFO Evaluation @epoch 4 - batch 2677: +2023-05-31 23:49:40,605 P100601 INFO [Metrics] AUC: 0.649595 - gAUC: 0.575258 +2023-05-31 23:49:40,606 P100601 INFO Save best model: monitor(max)=1.224853 +2023-05-31 23:49:41,023 P100601 INFO ************ Epoch=4 end ************ +2023-05-31 23:52:51,199 P100601 INFO Train loss: 0.199276 +2023-05-31 23:52:51,200 P100601 INFO Evaluation @epoch 5 - batch 2677: +2023-05-31 23:54:15,672 P100601 INFO [Metrics] AUC: 0.648382 - gAUC: 0.573086 +2023-05-31 23:54:15,673 P100601 INFO Monitor(max)=1.221469 STOP! +2023-05-31 23:54:15,673 P100601 INFO Reduce learning rate on plateau: 0.000100 +2023-05-31 23:54:15,673 P100601 INFO ********* Epoch==5 early stop ********* +2023-05-31 23:54:15,799 P100601 INFO Training finished. +2023-05-31 23:54:15,799 P100601 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/APG_DCNv2_taobaoad_x1/taobaoad_x1_2753db8a/APG_DCNv2_taobaoad_x1_030_5fbce754.model +2023-05-31 23:54:15,941 P100601 INFO ****** Validation evaluation ****** +2023-05-31 23:55:50,427 P100601 INFO [Metrics] gAUC: 0.575258 - AUC: 0.649595 - logloss: 0.192880 +2023-05-31 23:55:50,613 P100601 INFO ******** Test evaluation ******** +2023-05-31 23:55:50,613 P100601 INFO Loading data... +2023-05-31 23:55:50,613 P100601 INFO Loading data from h5: ../data/Taobao/taobaoad_x1_2753db8a/test.h5 +2023-05-31 23:55:54,481 P100601 INFO Test samples: total/3099515, blocks/1 +2023-05-31 23:55:54,481 P100601 INFO Loading test data done. +2023-05-31 23:57:27,124 P100601 INFO [Metrics] gAUC: 0.575258 - AUC: 0.649595 - logloss: 0.192880 diff --git a/ranking/ctr/APG/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01.csv b/ranking/ctr/APG/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01.csv new file mode 100644 index 0000000..547ab4a --- /dev/null +++ b/ranking/ctr/APG/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01.csv @@ -0,0 +1,22 @@ + 20230531-235727,[command] python run_expid.py --config Taobao/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01 --expid APG_DCNv2_taobaoad_x1_030_5fbce754 --gpu 7,[exp_id] APG_DCNv2_taobaoad_x1_030_5fbce754,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.575258 - AUC: 0.649595 - logloss: 0.192880,[test] gAUC: 0.575258 - AUC: 0.649595 - logloss: 0.192880 + 20230601-000424,[command] python run_expid.py --config Taobao/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01 --expid APG_DCNv2_taobaoad_x1_032_53086803 --gpu 6,[exp_id] APG_DCNv2_taobaoad_x1_032_53086803,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.574771 - AUC: 0.649244 - logloss: 0.193088,[test] gAUC: 0.574771 - AUC: 0.649244 - logloss: 0.193088 + 20230601-000036,[command] python run_expid.py --config Taobao/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01 --expid APG_DCNv2_taobaoad_x1_031_b0249825 --gpu 4,[exp_id] APG_DCNv2_taobaoad_x1_031_b0249825,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.574153 - AUC: 0.648769 - logloss: 0.193155,[test] gAUC: 0.574153 - AUC: 0.648769 - logloss: 0.193155 + 20230531-233014,[command] python run_expid.py --config Taobao/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01 --expid APG_DCNv2_taobaoad_x1_026_f1406fa0 --gpu 4,[exp_id] APG_DCNv2_taobaoad_x1_026_f1406fa0,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.573934 - AUC: 0.649255 - logloss: 0.192646,[test] gAUC: 0.573934 - AUC: 0.649255 - logloss: 0.192646 + 20230531-233505,[command] python run_expid.py --config Taobao/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01 --expid APG_DCNv2_taobaoad_x1_027_bd2f8a3b --gpu 6,[exp_id] APG_DCNv2_taobaoad_x1_027_bd2f8a3b,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.573899 - AUC: 0.649305 - logloss: 0.192791,[test] gAUC: 0.573899 - AUC: 0.649305 - logloss: 0.192791 + 20230531-232625,[command] python run_expid.py --config Taobao/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01 --expid APG_DCNv2_taobaoad_x1_021_f915e5e9 --gpu 7,[exp_id] APG_DCNv2_taobaoad_x1_021_f915e5e9,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.573731 - AUC: 0.648982 - logloss: 0.193202,[test] gAUC: 0.573731 - AUC: 0.648982 - logloss: 0.193202 + 20230531-231807,[command] python run_expid.py --config Taobao/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01 --expid APG_DCNv2_taobaoad_x1_022_f96fea7e --gpu 5,[exp_id] APG_DCNv2_taobaoad_x1_022_f96fea7e,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.573612 - AUC: 0.646644 - logloss: 0.193209,[test] gAUC: 0.573612 - AUC: 0.646644 - logloss: 0.193209 + 20230531-224012,[command] python run_expid.py --config Taobao/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01 --expid APG_DCNv2_taobaoad_x1_014_c7cb17e9 --gpu 5,[exp_id] APG_DCNv2_taobaoad_x1_014_c7cb17e9,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.573417 - AUC: 0.650010 - logloss: 0.192331,[test] gAUC: 0.573417 - AUC: 0.650010 - logloss: 0.192331 + 20230531-234936,[command] python run_expid.py --config Taobao/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01 --expid APG_DCNv2_taobaoad_x1_029_b3791a2f --gpu 5,[exp_id] APG_DCNv2_taobaoad_x1_029_b3791a2f,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.573207 - AUC: 0.648670 - logloss: 0.193018,[test] gAUC: 0.573207 - AUC: 0.648670 - logloss: 0.193018 + 20230601-041220,[command] python run_expid.py --config Taobao/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01 --expid APG_DCNv2_taobaoad_x1_002_a93c7179 --gpu 1,[exp_id] APG_DCNv2_taobaoad_x1_002_a93c7179,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.572740 - AUC: 0.649843 - logloss: 0.192477,[test] gAUC: 0.572740 - AUC: 0.649843 - logloss: 0.192477 + 20230601-041404,[command] python run_expid.py --config Taobao/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01 --expid APG_DCNv2_taobaoad_x1_004_767e8055 --gpu 3,[exp_id] APG_DCNv2_taobaoad_x1_004_767e8055,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.572740 - AUC: 0.649843 - logloss: 0.192477,[test] gAUC: 0.572740 - AUC: 0.649843 - logloss: 0.192477 + 20230601-041445,[command] python run_expid.py --config Taobao/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01 --expid APG_DCNv2_taobaoad_x1_003_576a8bb0 --gpu 2,[exp_id] APG_DCNv2_taobaoad_x1_003_576a8bb0,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.572740 - AUC: 0.649843 - logloss: 0.192477,[test] gAUC: 0.572740 - AUC: 0.649843 - logloss: 0.192477 + 20230601-041745,[command] python run_expid.py --config Taobao/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01 --expid APG_DCNv2_taobaoad_x1_001_f4e94439 --gpu 0,[exp_id] APG_DCNv2_taobaoad_x1_001_f4e94439,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.572740 - AUC: 0.649843 - logloss: 0.192477,[test] gAUC: 0.572740 - AUC: 0.649843 - logloss: 0.192477 + 20230531-214446,[command] python run_expid.py --config Taobao/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01 --expid APG_DCNv2_taobaoad_x1_010_92f18a3b --gpu 7,[exp_id] APG_DCNv2_taobaoad_x1_010_92f18a3b,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.572539 - AUC: 0.649408 - logloss: 0.192487,[test] gAUC: 0.572539 - AUC: 0.649408 - logloss: 0.192487 + 20230531-222304,[command] python run_expid.py --config Taobao/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01 --expid APG_DCNv2_taobaoad_x1_011_799f1b00 --gpu 6,[exp_id] APG_DCNv2_taobaoad_x1_011_799f1b00,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.572370 - AUC: 0.649620 - logloss: 0.192511,[test] gAUC: 0.572370 - AUC: 0.649620 - logloss: 0.192511 + 20230531-230346,[command] python run_expid.py --config Taobao/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01 --expid APG_DCNv2_taobaoad_x1_025_9db84c96 --gpu 4,[exp_id] APG_DCNv2_taobaoad_x1_025_9db84c96,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.572333 - AUC: 0.646698 - logloss: 0.192922,[test] gAUC: 0.572333 - AUC: 0.646698 - logloss: 0.192922 + 20230531-214637,[command] python run_expid.py --config Taobao/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01 --expid APG_DCNv2_taobaoad_x1_006_bfcdf970 --gpu 5,[exp_id] APG_DCNv2_taobaoad_x1_006_bfcdf970,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.572266 - AUC: 0.649516 - logloss: 0.192478,[test] gAUC: 0.572266 - AUC: 0.649516 - logloss: 0.192478 + 20230531-230816,[command] python run_expid.py --config Taobao/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01 --expid APG_DCNv2_taobaoad_x1_016_a4182a72 --gpu 6,[exp_id] APG_DCNv2_taobaoad_x1_016_a4182a72,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.572258 - AUC: 0.649099 - logloss: 0.192597,[test] gAUC: 0.572258 - AUC: 0.649099 - logloss: 0.192597 + 20230531-224158,[command] python run_expid.py --config Taobao/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01 --expid APG_DCNv2_taobaoad_x1_015_e424e2ba --gpu 4,[exp_id] APG_DCNv2_taobaoad_x1_015_e424e2ba,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.572133 - AUC: 0.649303 - logloss: 0.192478,[test] gAUC: 0.572133 - AUC: 0.649303 - logloss: 0.192478 + 20230531-212550,[command] python run_expid.py --config Taobao/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01 --expid APG_DCNv2_taobaoad_x1_009_576a8bb0 --gpu 6,[exp_id] APG_DCNv2_taobaoad_x1_009_576a8bb0,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.572042 - AUC: 0.648949 - logloss: 0.192507,[test] gAUC: 0.572042 - AUC: 0.648949 - logloss: 0.192507 + 20230531-223820,[command] python run_expid.py --config Taobao/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01 --expid APG_DCNv2_taobaoad_x1_013_767e8055 --gpu 7,[exp_id] APG_DCNv2_taobaoad_x1_013_767e8055,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.571683 - AUC: 0.649607 - logloss: 0.192489,[test] gAUC: 0.571683 - AUC: 0.649607 - logloss: 0.192489 + 20230531-215945,[command] python run_expid.py --config Taobao/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01 --expid APG_DCNv2_taobaoad_x1_005_a93c7179 --gpu 4,[exp_id] APG_DCNv2_taobaoad_x1_005_a93c7179,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.571342 - AUC: 0.648831 - logloss: 0.192913,[test] gAUC: 0.571342 - AUC: 0.648831 - logloss: 0.192913 diff --git a/ranking/ctr/APG/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01.yaml b/ranking/ctr/APG/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01.yaml new file mode 100644 index 0000000..4e06686 --- /dev/null +++ b/ranking/ctr/APG/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01.yaml @@ -0,0 +1,53 @@ +base_config: ../model_zoo/APG/config/ +base_expid: APG_DCNv2 +dataset_id: taobaoad_x1 + +dataset_config: + taobaoad_x1: + data_root: ../data/Taobao/ + data_format: csv + train_data: ../data/Taobao/TaobaoAd_x1/train.csv + valid_data: ../data/Taobao/TaobaoAd_x1/test.csv + test_data: ../data/Taobao/TaobaoAd_x1/test.csv + min_categr_count: 10 + feature_cols: + - {name: "group_id", active: True, dtype: int, type: meta, preprocess: "copy_from(userid)", remap: False} + - {name: ["userid","cms_segid","cms_group_id","final_gender_code","age_level","pvalue_level","shopping_level", + "occupation","new_user_class_level","adgroup_id","cate_id","campaign_id","customer","brand","pid","btag"], + active: True, dtype: str, type: categorical} + - {name: price, active: True, dtype: float, type: numeric} + - {name: cate_his, active: True, dtype: str, splitter: ^, type: sequence, max_len: 50, padding: pre, + share_embedding: cate_id} + - {name: brand_his, active: True, dtype: str, splitter: ^, type: sequence, max_len: 50, padding: pre, + share_embedding: brand} + - {name: btag_his, active: True, dtype: str, splitter: ^, type: sequence, max_len: 50, padding: pre, + share_embedding: btag} + label_col: {name: clk, dtype: float} + +tuner_space: + model_root: './checkpoints/APG_DCNv2_taobaoad_x1/' + embedding_dim: 32 + parallel_dnn_hidden_units: [[512, 256, 128]] + model_structure: parallel + use_low_rank_mixture: False + num_cross_layers: 4 + embedding_regularizer: 5.e-6 + net_dropout: 0.1 + batch_norm: False + hypernet_config: + hidden_units: [] + hidden_activations: relu + dropout_rates: 0.1 + condition_features: null + condition_mode: "self-wise" + rank_k: [null, [128, 64, 32], [64, 32, 16], [32, 16, 8]] + overparam_p: [null, [128, 64, 32], [64, 32, 16], [32, 16, 8]] + generate_bias: True + learning_rate: 1.e-3 + batch_size: [4096, 8192] + seed: 20222023 + early_stop_patience: 1 + group_id: group_id + metrics: [[gAUC, AUC, logloss]] + monitor: {"gAUC": 1, "AUC": 1} + diff --git a/ranking/ctr/APG/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01/dataset_config.yaml b/ranking/ctr/APG/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01/dataset_config.yaml new file mode 100644 index 0000000..0bf0fe3 --- /dev/null +++ b/ranking/ctr/APG/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01/dataset_config.yaml @@ -0,0 +1,24 @@ +taobaoad_x1_2753db8a: + data_format: csv + data_root: ../data/Taobao/ + feature_cols: + - {active: true, dtype: int, name: group_id, preprocess: copy_from(userid), remap: false, + type: meta} + - active: true + dtype: str + name: [userid, cms_segid, cms_group_id, final_gender_code, age_level, pvalue_level, + shopping_level, occupation, new_user_class_level, adgroup_id, cate_id, + campaign_id, customer, brand, pid, btag] + type: categorical + - {active: true, dtype: float, name: price, type: numeric} + - {active: true, dtype: str, max_len: 50, name: cate_his, padding: pre, share_embedding: cate_id, + splitter: ^, type: sequence} + - {active: true, dtype: str, max_len: 50, name: brand_his, padding: pre, share_embedding: brand, + splitter: ^, type: sequence} + - {active: true, dtype: str, max_len: 50, name: btag_his, padding: pre, share_embedding: btag, + splitter: ^, type: sequence} + label_col: {dtype: float, name: clk} + min_categr_count: 10 + test_data: ../data/Taobao/TaobaoAd_x1/test.csv + train_data: ../data/Taobao/TaobaoAd_x1/train.csv + valid_data: ../data/Taobao/TaobaoAd_x1/test.csv diff --git a/ranking/ctr/APG/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01/model_config.yaml b/ranking/ctr/APG/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01/model_config.yaml new file mode 100644 index 0000000..cab353b --- /dev/null +++ b/ranking/ctr/APG/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01/model_config.yaml @@ -0,0 +1,1568 @@ +APG_DCNv2_taobaoad_x1_001_f4e94439: + batch_norm: false + batch_size: 4096 + condition_features: null + condition_mode: self-wise + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + dnn_activations: relu + early_stop_patience: 1 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_taobaoad_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 4 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: null + parallel_dnn_hidden_units: [512, 256, 128] + pickle_feature_encoder: true + rank_k: null + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_taobaoad_x1_002_a93c7179: + batch_norm: false + batch_size: 4096 + condition_features: null + condition_mode: self-wise + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + dnn_activations: relu + early_stop_patience: 1 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_taobaoad_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 4 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [128, 64, 32] + parallel_dnn_hidden_units: [512, 256, 128] + pickle_feature_encoder: true + rank_k: null + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_taobaoad_x1_003_576a8bb0: + batch_norm: false + batch_size: 4096 + condition_features: null + condition_mode: self-wise + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + dnn_activations: relu + early_stop_patience: 1 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_taobaoad_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 4 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [64, 32, 16] + parallel_dnn_hidden_units: [512, 256, 128] + pickle_feature_encoder: true + rank_k: null + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_taobaoad_x1_004_767e8055: + batch_norm: false + batch_size: 4096 + condition_features: null + condition_mode: self-wise + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + dnn_activations: relu + early_stop_patience: 1 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_taobaoad_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 4 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [32, 16, 8] + parallel_dnn_hidden_units: [512, 256, 128] + pickle_feature_encoder: true + rank_k: null + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_taobaoad_x1_005_a93c7179: + batch_norm: false + batch_size: 4096 + condition_features: null + condition_mode: self-wise + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + dnn_activations: relu + early_stop_patience: 1 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_taobaoad_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 4 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: null + parallel_dnn_hidden_units: [512, 256, 128] + pickle_feature_encoder: true + rank_k: [128, 64, 32] + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_taobaoad_x1_006_bfcdf970: + batch_norm: false + batch_size: 4096 + condition_features: null + condition_mode: self-wise + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + dnn_activations: relu + early_stop_patience: 1 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_taobaoad_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 4 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [128, 64, 32] + parallel_dnn_hidden_units: [512, 256, 128] + pickle_feature_encoder: true + rank_k: [128, 64, 32] + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_taobaoad_x1_007_92f18a3b: + batch_norm: false + batch_size: 4096 + condition_features: null + condition_mode: self-wise + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + dnn_activations: relu + early_stop_patience: 1 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_taobaoad_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 4 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [64, 32, 16] + parallel_dnn_hidden_units: [512, 256, 128] + pickle_feature_encoder: true + rank_k: [128, 64, 32] + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_taobaoad_x1_008_c7cb17e9: + batch_norm: false + batch_size: 4096 + condition_features: null + condition_mode: self-wise + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + dnn_activations: relu + early_stop_patience: 1 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_taobaoad_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 4 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [32, 16, 8] + parallel_dnn_hidden_units: [512, 256, 128] + pickle_feature_encoder: true + rank_k: [128, 64, 32] + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_taobaoad_x1_009_576a8bb0: + batch_norm: false + batch_size: 4096 + condition_features: null + condition_mode: self-wise + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + dnn_activations: relu + early_stop_patience: 1 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_taobaoad_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 4 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: null + parallel_dnn_hidden_units: [512, 256, 128] + pickle_feature_encoder: true + rank_k: [64, 32, 16] + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_taobaoad_x1_010_92f18a3b: + batch_norm: false + batch_size: 4096 + condition_features: null + condition_mode: self-wise + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + dnn_activations: relu + early_stop_patience: 1 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_taobaoad_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 4 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [128, 64, 32] + parallel_dnn_hidden_units: [512, 256, 128] + pickle_feature_encoder: true + rank_k: [64, 32, 16] + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_taobaoad_x1_011_799f1b00: + batch_norm: false + batch_size: 4096 + condition_features: null + condition_mode: self-wise + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + dnn_activations: relu + early_stop_patience: 1 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_taobaoad_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 4 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [64, 32, 16] + parallel_dnn_hidden_units: [512, 256, 128] + pickle_feature_encoder: true + rank_k: [64, 32, 16] + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_taobaoad_x1_012_e424e2ba: + batch_norm: false + batch_size: 4096 + condition_features: null + condition_mode: self-wise + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + dnn_activations: relu + early_stop_patience: 1 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_taobaoad_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 4 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [32, 16, 8] + parallel_dnn_hidden_units: [512, 256, 128] + pickle_feature_encoder: true + rank_k: [64, 32, 16] + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_taobaoad_x1_013_767e8055: + batch_norm: false + batch_size: 4096 + condition_features: null + condition_mode: self-wise + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + dnn_activations: relu + early_stop_patience: 1 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_taobaoad_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 4 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: null + parallel_dnn_hidden_units: [512, 256, 128] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_taobaoad_x1_014_c7cb17e9: + batch_norm: false + batch_size: 4096 + condition_features: null + condition_mode: self-wise + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + dnn_activations: relu + early_stop_patience: 1 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_taobaoad_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 4 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [128, 64, 32] + parallel_dnn_hidden_units: [512, 256, 128] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_taobaoad_x1_015_e424e2ba: + batch_norm: false + batch_size: 4096 + condition_features: null + condition_mode: self-wise + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + dnn_activations: relu + early_stop_patience: 1 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_taobaoad_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 4 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [64, 32, 16] + parallel_dnn_hidden_units: [512, 256, 128] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_taobaoad_x1_016_a4182a72: + batch_norm: false + batch_size: 4096 + condition_features: null + condition_mode: self-wise + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + dnn_activations: relu + early_stop_patience: 1 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_taobaoad_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 4 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [32, 16, 8] + parallel_dnn_hidden_units: [512, 256, 128] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_taobaoad_x1_017_49e054a3: + batch_norm: false + batch_size: 8192 + condition_features: null + condition_mode: self-wise + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + dnn_activations: relu + early_stop_patience: 1 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_taobaoad_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 4 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: null + parallel_dnn_hidden_units: [512, 256, 128] + pickle_feature_encoder: true + rank_k: null + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_taobaoad_x1_018_f915e5e9: + batch_norm: false + batch_size: 8192 + condition_features: null + condition_mode: self-wise + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + dnn_activations: relu + early_stop_patience: 1 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_taobaoad_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 4 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [128, 64, 32] + parallel_dnn_hidden_units: [512, 256, 128] + pickle_feature_encoder: true + rank_k: null + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_taobaoad_x1_019_9db84c96: + batch_norm: false + batch_size: 8192 + condition_features: null + condition_mode: self-wise + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + dnn_activations: relu + early_stop_patience: 1 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_taobaoad_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 4 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [64, 32, 16] + parallel_dnn_hidden_units: [512, 256, 128] + pickle_feature_encoder: true + rank_k: null + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_taobaoad_x1_020_b3791a2f: + batch_norm: false + batch_size: 8192 + condition_features: null + condition_mode: self-wise + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + dnn_activations: relu + early_stop_patience: 1 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_taobaoad_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 4 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [32, 16, 8] + parallel_dnn_hidden_units: [512, 256, 128] + pickle_feature_encoder: true + rank_k: null + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_taobaoad_x1_021_f915e5e9: + batch_norm: false + batch_size: 8192 + condition_features: null + condition_mode: self-wise + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + dnn_activations: relu + early_stop_patience: 1 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_taobaoad_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 4 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: null + parallel_dnn_hidden_units: [512, 256, 128] + pickle_feature_encoder: true + rank_k: [128, 64, 32] + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_taobaoad_x1_022_f96fea7e: + batch_norm: false + batch_size: 8192 + condition_features: null + condition_mode: self-wise + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + dnn_activations: relu + early_stop_patience: 1 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_taobaoad_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 4 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [128, 64, 32] + parallel_dnn_hidden_units: [512, 256, 128] + pickle_feature_encoder: true + rank_k: [128, 64, 32] + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_taobaoad_x1_023_f1406fa0: + batch_norm: false + batch_size: 8192 + condition_features: null + condition_mode: self-wise + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + dnn_activations: relu + early_stop_patience: 1 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_taobaoad_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 4 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [64, 32, 16] + parallel_dnn_hidden_units: [512, 256, 128] + pickle_feature_encoder: true + rank_k: [128, 64, 32] + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_taobaoad_x1_024_5fbce754: + batch_norm: false + batch_size: 8192 + condition_features: null + condition_mode: self-wise + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + dnn_activations: relu + early_stop_patience: 1 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_taobaoad_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 4 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [32, 16, 8] + parallel_dnn_hidden_units: [512, 256, 128] + pickle_feature_encoder: true + rank_k: [128, 64, 32] + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_taobaoad_x1_025_9db84c96: + batch_norm: false + batch_size: 8192 + condition_features: null + condition_mode: self-wise + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + dnn_activations: relu + early_stop_patience: 1 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_taobaoad_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 4 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: null + parallel_dnn_hidden_units: [512, 256, 128] + pickle_feature_encoder: true + rank_k: [64, 32, 16] + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_taobaoad_x1_026_f1406fa0: + batch_norm: false + batch_size: 8192 + condition_features: null + condition_mode: self-wise + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + dnn_activations: relu + early_stop_patience: 1 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_taobaoad_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 4 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [128, 64, 32] + parallel_dnn_hidden_units: [512, 256, 128] + pickle_feature_encoder: true + rank_k: [64, 32, 16] + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_taobaoad_x1_027_bd2f8a3b: + batch_norm: false + batch_size: 8192 + condition_features: null + condition_mode: self-wise + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + dnn_activations: relu + early_stop_patience: 1 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_taobaoad_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 4 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [64, 32, 16] + parallel_dnn_hidden_units: [512, 256, 128] + pickle_feature_encoder: true + rank_k: [64, 32, 16] + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_taobaoad_x1_028_b0249825: + batch_norm: false + batch_size: 8192 + condition_features: null + condition_mode: self-wise + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + dnn_activations: relu + early_stop_patience: 1 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_taobaoad_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 4 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [32, 16, 8] + parallel_dnn_hidden_units: [512, 256, 128] + pickle_feature_encoder: true + rank_k: [64, 32, 16] + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_taobaoad_x1_029_b3791a2f: + batch_norm: false + batch_size: 8192 + condition_features: null + condition_mode: self-wise + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + dnn_activations: relu + early_stop_patience: 1 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_taobaoad_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 4 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: null + parallel_dnn_hidden_units: [512, 256, 128] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_taobaoad_x1_030_5fbce754: + batch_norm: false + batch_size: 8192 + condition_features: null + condition_mode: self-wise + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + dnn_activations: relu + early_stop_patience: 1 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_taobaoad_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 4 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [128, 64, 32] + parallel_dnn_hidden_units: [512, 256, 128] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_taobaoad_x1_031_b0249825: + batch_norm: false + batch_size: 8192 + condition_features: null + condition_mode: self-wise + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + dnn_activations: relu + early_stop_patience: 1 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_taobaoad_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 4 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [64, 32, 16] + parallel_dnn_hidden_units: [512, 256, 128] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 +APG_DCNv2_taobaoad_x1_032_53086803: + batch_norm: false + batch_size: 8192 + condition_features: null + condition_mode: self-wise + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + dnn_activations: relu + early_stop_patience: 1 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: group_id + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + low_rank: 32 + metrics: [gAUC, AUC, logloss] + model: APG_DCNv2 + model_root: ./checkpoints/APG_DCNv2_taobaoad_x1/ + model_structure: parallel + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_cross_layers: 4 + num_experts: 4 + num_workers: 3 + optimizer: adam + overparam_p: [32, 16, 8] + parallel_dnn_hidden_units: [512, 256, 128] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 20222023 + shuffle: true + stacked_dnn_hidden_units: [500, 500, 500] + task: binary_classification + use_features: null + use_low_rank_mixture: false + verbose: 1 diff --git a/ranking/ctr/APG/APG_DCNv2_taobaoad_x1/README.md b/ranking/ctr/APG/APG_DCNv2_taobaoad_x1/README.md new file mode 100644 index 0000000..d20049a --- /dev/null +++ b/ranking/ctr/APG/APG_DCNv2_taobaoad_x1/README.md @@ -0,0 +1,204 @@ +## APG_DCNv2_taobaoad_x1 + +A hands-on guide to run the APG model on the TaobaoAd_x1 dataset. + +Author: [BARS Benchmark](https://github.com/reczoo/BARS/blob/main/CITATION) + + +| [Environments](#Environments) | [Dataset](#Dataset) | [Code](#Code) | [Results](#Results) | [Logs](#Logs) | +|:-----------------------------:|:-----------:|:--------:|:--------:|-------| +### Environments ++ Hardware + + ```python + CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz + GPU: Tesla V100 32G + RAM: 755G + + ``` + ++ Software + + ```python + cuda: 10.2 + python: 3.7.10 + pytorch: 1.11.0 + pandas: 1.1.5 + numpy: 1.19.5 + scipy: 1.5.2 + sklearn: 0.22.1 + pyyaml: 6.0 + h5py: 2.8.0 + tqdm: 4.64.0 + fuxictr: 2.0.3 + + ``` + +### Dataset +Please refer to [TaobaoAd_x1](https://github.com/reczoo/Datasets/tree/main/Taobao/TaobaoAd_x1) to get the dataset details. + +### Code + +We use the [APG](https://github.com/reczoo/FuxiCTR/tree/v2.0.3/model_zoo/APG) model code from [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/tree/v2.0.3) for this experiment. + +Running steps: + +1. Download [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/archive/refs/tags/v2.0.3.zip) and install all the dependencies listed in the [environments](#environments). + + ```bash + pip uninstall fuxictr + pip install fuxictr==2.0.3 + ``` + +2. Create a data directory and put the downloaded data files in `../data/Taobao/TaobaoAd_x1`. + +3. Both `dataset_config.yaml` and `model_config.yaml` files are available in [APG_DCNv2_taobaoad_x1_tuner_config_01](./APG_DCNv2_taobaoad_x1_tuner_config_01). Please make sure that the data paths in `dataset_config.yaml` are correctly set. + +4. Run the following script to start training and evaluation. + + ```bash + cd FuxiCTR/model_zoo/APG + nohup python run_expid.py --config YOUR_PATH/APG/APG_DCNv2_taobaoad_x1_tuner_config_01 --expid APG_DCNv2_taobaoad_x1_030_5fbce754 --gpu 0 > run.log & + tail -f run.log + ``` + +### Results + +| gAUC | AUC | logloss | +|:--------------------:|:--------------------:|:--------------------:| +| 0.575258 | 0.649595 | 0.192880 | + + +### Logs +```python +2023-05-31 23:26:32,257 P100601 INFO Params: { + "batch_norm": "False", + "batch_size": "8192", + "condition_features": "None", + "condition_mode": "self-wise", + "data_format": "csv", + "data_root": "../data/Taobao/", + "dataset_id": "taobaoad_x1_2753db8a", + "debug_mode": "False", + "dnn_activations": "relu", + "early_stop_patience": "1", + "embedding_dim": "32", + "embedding_regularizer": "5e-06", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'group_id', 'preprocess': 'copy_from(userid)', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': ['userid', 'cms_segid', 'cms_group_id', 'final_gender_code', 'age_level', 'pvalue_level', 'shopping_level', 'occupation', 'new_user_class_level', 'adgroup_id', 'cate_id', 'campaign_id', 'customer', 'brand', 'pid', 'btag'], 'type': 'categorical'}, {'active': True, 'dtype': 'float', 'name': 'price', 'type': 'numeric'}, {'active': True, 'dtype': 'str', 'max_len': 50, 'name': 'cate_his', 'padding': 'pre', 'share_embedding': 'cate_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 50, 'name': 'brand_his', 'padding': 'pre', 'share_embedding': 'brand', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 50, 'name': 'btag_his', 'padding': 'pre', 'share_embedding': 'btag', 'splitter': '^', 'type': 'sequence'}]", + "feature_config": "None", + "feature_specs": "None", + "generate_bias": "True", + "gpu": "7", + "group_id": "group_id", + "hypernet_config": "{'dropout_rates': 0.1, 'hidden_activations': 'relu', 'hidden_units': []}", + "label_col": "{'dtype': 'float', 'name': 'clk'}", + "learning_rate": "0.001", + "loss": "binary_crossentropy", + "low_rank": "32", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "10", + "model": "APG_DCNv2", + "model_id": "APG_DCNv2_taobaoad_x1_030_5fbce754", + "model_root": "./checkpoints/APG_DCNv2_taobaoad_x1/", + "model_structure": "parallel", + "monitor": "{'AUC': 1, 'gAUC': 1}", + "monitor_mode": "max", + "net_dropout": "0.1", + "net_regularizer": "0", + "new_condition_emb": "False", + "num_cross_layers": "4", + "num_experts": "4", + "num_workers": "3", + "optimizer": "adam", + "overparam_p": "[128, 64, 32]", + "parallel_dnn_hidden_units": "[512, 256, 128]", + "pickle_feature_encoder": "True", + "rank_k": "[32, 16, 8]", + "save_best_only": "True", + "seed": "20222023", + "shuffle": "True", + "stacked_dnn_hidden_units": "[500, 500, 500]", + "task": "binary_classification", + "test_data": "../data/Taobao/TaobaoAd_x1/test.csv", + "train_data": "../data/Taobao/TaobaoAd_x1/train.csv", + "use_features": "None", + "use_low_rank_mixture": "False", + "valid_data": "../data/Taobao/TaobaoAd_x1/test.csv", + "verbose": "1" +} +2023-05-31 23:26:32,258 P100601 INFO Set up feature processor... +2023-05-31 23:26:32,259 P100601 WARNING Skip rebuilding ../data/Taobao/taobaoad_x1_2753db8a/feature_map.json. Please delete it manually if rebuilding is required. +2023-05-31 23:26:32,259 P100601 INFO Load feature_map from json: ../data/Taobao/taobaoad_x1_2753db8a/feature_map.json +2023-05-31 23:26:32,259 P100601 INFO Set column index... +2023-05-31 23:26:32,259 P100601 INFO Feature specs: { + "adgroup_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 246850, 'vocab_size': 246851}", + "age_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 8, 'vocab_size': 9}", + "brand": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 308869, 'vocab_size': 308870}", + "brand_his": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'brand', 'padding_idx': 0, 'oov_idx': 308869, 'vocab_size': 308870, 'max_len': 50}", + "btag": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 5, 'vocab_size': 6}", + "btag_his": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'btag', 'padding_idx': 0, 'oov_idx': 5, 'vocab_size': 6, 'max_len': 50}", + "campaign_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 191770, 'vocab_size': 191771}", + "cate_his": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'cate_id', 'padding_idx': 0, 'oov_idx': 11329, 'vocab_size': 11330, 'max_len': 50}", + "cate_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 11329, 'vocab_size': 11330}", + "cms_group_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 14, 'vocab_size': 15}", + "cms_segid": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 98, 'vocab_size': 99}", + "customer": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 132135, 'vocab_size': 132136}", + "final_gender_code": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 3, 'vocab_size': 4}", + "group_id": "{'type': 'meta'}", + "new_user_class_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 6, 'vocab_size': 7}", + "occupation": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 3, 'vocab_size': 4}", + "pid": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 3, 'vocab_size': 4}", + "price": "{'source': '', 'type': 'numeric'}", + "pvalue_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 5, 'vocab_size': 6}", + "shopping_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 4, 'vocab_size': 5}", + "userid": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 403957, 'vocab_size': 403958}" +} +2023-05-31 23:26:36,793 P100601 INFO Total number of parameters: 44600385. +2023-05-31 23:26:36,793 P100601 INFO Loading data... +2023-05-31 23:26:36,794 P100601 INFO Loading data from h5: ../data/Taobao/taobaoad_x1_2753db8a/train.h5 +2023-05-31 23:27:03,523 P100601 INFO Train samples: total/21929911, blocks/1 +2023-05-31 23:27:03,523 P100601 INFO Loading data from h5: ../data/Taobao/taobaoad_x1_2753db8a/valid.h5 +2023-05-31 23:27:07,188 P100601 INFO Validation samples: total/3099515, blocks/1 +2023-05-31 23:27:07,188 P100601 INFO Loading train and validation data done. +2023-05-31 23:27:07,188 P100601 INFO Start training: 2677 batches/epoch +2023-05-31 23:27:07,188 P100601 INFO ************ Epoch=1 start ************ +2023-05-31 23:30:46,547 P100601 INFO Train loss: 0.204391 +2023-05-31 23:30:46,548 P100601 INFO Evaluation @epoch 1 - batch 2677: +2023-05-31 23:32:17,157 P100601 INFO [Metrics] AUC: 0.643445 - gAUC: 0.567565 +2023-05-31 23:32:17,159 P100601 INFO Save best model: monitor(max)=1.211010 +2023-05-31 23:32:17,488 P100601 INFO ************ Epoch=1 end ************ +2023-05-31 23:35:43,502 P100601 INFO Train loss: 0.200060 +2023-05-31 23:35:43,503 P100601 INFO Evaluation @epoch 2 - batch 2677: +2023-05-31 23:37:18,926 P100601 INFO [Metrics] AUC: 0.646287 - gAUC: 0.572210 +2023-05-31 23:37:18,928 P100601 INFO Save best model: monitor(max)=1.218497 +2023-05-31 23:37:19,393 P100601 INFO ************ Epoch=2 end ************ +2023-05-31 23:41:13,610 P100601 INFO Train loss: 0.198432 +2023-05-31 23:41:13,611 P100601 INFO Evaluation @epoch 3 - batch 2677: +2023-05-31 23:42:48,272 P100601 INFO [Metrics] AUC: 0.648910 - gAUC: 0.574236 +2023-05-31 23:42:48,273 P100601 INFO Save best model: monitor(max)=1.223146 +2023-05-31 23:42:48,781 P100601 INFO ************ Epoch=3 end ************ +2023-05-31 23:48:06,450 P100601 INFO Train loss: 0.198764 +2023-05-31 23:48:06,451 P100601 INFO Evaluation @epoch 4 - batch 2677: +2023-05-31 23:49:40,605 P100601 INFO [Metrics] AUC: 0.649595 - gAUC: 0.575258 +2023-05-31 23:49:40,606 P100601 INFO Save best model: monitor(max)=1.224853 +2023-05-31 23:49:41,023 P100601 INFO ************ Epoch=4 end ************ +2023-05-31 23:52:51,199 P100601 INFO Train loss: 0.199276 +2023-05-31 23:52:51,200 P100601 INFO Evaluation @epoch 5 - batch 2677: +2023-05-31 23:54:15,672 P100601 INFO [Metrics] AUC: 0.648382 - gAUC: 0.573086 +2023-05-31 23:54:15,673 P100601 INFO Monitor(max)=1.221469 STOP! +2023-05-31 23:54:15,673 P100601 INFO Reduce learning rate on plateau: 0.000100 +2023-05-31 23:54:15,673 P100601 INFO ********* Epoch==5 early stop ********* +2023-05-31 23:54:15,799 P100601 INFO Training finished. +2023-05-31 23:54:15,799 P100601 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/APG_DCNv2_taobaoad_x1/taobaoad_x1_2753db8a/APG_DCNv2_taobaoad_x1_030_5fbce754.model +2023-05-31 23:54:15,941 P100601 INFO ****** Validation evaluation ****** +2023-05-31 23:55:50,427 P100601 INFO [Metrics] gAUC: 0.575258 - AUC: 0.649595 - logloss: 0.192880 +2023-05-31 23:55:50,613 P100601 INFO ******** Test evaluation ******** +2023-05-31 23:55:50,613 P100601 INFO Loading data... +2023-05-31 23:55:50,613 P100601 INFO Loading data from h5: ../data/Taobao/taobaoad_x1_2753db8a/test.h5 +2023-05-31 23:55:54,481 P100601 INFO Test samples: total/3099515, blocks/1 +2023-05-31 23:55:54,481 P100601 INFO Loading test data done. +2023-05-31 23:57:27,124 P100601 INFO [Metrics] gAUC: 0.575258 - AUC: 0.649595 - logloss: 0.192880 + +``` diff --git a/ranking/ctr/APG/APG_DCNv2_taobaoad_x1/environments.txt b/ranking/ctr/APG/APG_DCNv2_taobaoad_x1/environments.txt new file mode 100644 index 0000000..a39d234 --- /dev/null +++ b/ranking/ctr/APG/APG_DCNv2_taobaoad_x1/environments.txt @@ -0,0 +1,17 @@ +[Hardware] +CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz +GPU: Tesla V100 32G +RAM: 755G + +[Software] +cuda: 10.2 +python: 3.7.10 +pytorch: 1.11.0 +pandas: 1.1.5 +numpy: 1.19.5 +scipy: 1.5.2 +sklearn: 0.22.1 +pyyaml: 6.0 +h5py: 2.8.0 +tqdm: 4.64.0 +fuxictr: 2.0.3 diff --git a/ranking/ctr/APG/APG_DCNv2_taobaoad_x1/results.csv b/ranking/ctr/APG/APG_DCNv2_taobaoad_x1/results.csv new file mode 100644 index 0000000..b3c7054 --- /dev/null +++ b/ranking/ctr/APG/APG_DCNv2_taobaoad_x1/results.csv @@ -0,0 +1 @@ + 20230531-235727,[command] python run_expid.py --config Taobao/APG_DCNv2_taobaoad_x1/APG_DCNv2_taobaoad_x1_tuner_config_01 --expid APG_DCNv2_taobaoad_x1_030_5fbce754 --gpu 7,[exp_id] APG_DCNv2_taobaoad_x1_030_5fbce754,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.575258 - AUC: 0.649595 - logloss: 0.192880,[test] gAUC: 0.575258 - AUC: 0.649595 - logloss: 0.192880 diff --git a/ranking/ctr/APG/APG_DeepFM_amazonelectronics_x1/APG_DeepFM_amazonelectronics_x1_001_daf845b0.log b/ranking/ctr/APG/APG_DeepFM_amazonelectronics_x1/APG_DeepFM_amazonelectronics_x1_001_daf845b0.log new file mode 100644 index 0000000..bcef40f --- /dev/null +++ b/ranking/ctr/APG/APG_DeepFM_amazonelectronics_x1/APG_DeepFM_amazonelectronics_x1_001_daf845b0.log @@ -0,0 +1,149 @@ +2023-05-31 07:46:22,585 P50072 INFO Params: { + "batch_norm": "True", + "batch_size": "1024", + "condition_features": "None", + "condition_mode": "self-wise", + "data_format": "csv", + "data_root": "../data/Amazon/", + "dataset_id": "amazonelectronics_x1_b7a43f49", + "debug_mode": "False", + "early_stop_patience": "2", + "embedding_dim": "64", + "embedding_regularizer": "0.005", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'user_id', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': 'item_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'name': 'cate_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'feature_encoder': 'layers.MaskedAveragePooling()', 'max_len': 100, 'name': 'item_history', 'share_embedding': 'item_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'feature_encoder': 'layers.MaskedAveragePooling()', 'max_len': 100, 'name': 'cate_history', 'share_embedding': 'cate_id', 'splitter': '^', 'type': 'sequence'}]", + "feature_config": "None", + "feature_specs": "None", + "generate_bias": "True", + "gpu": "0", + "group_id": "user_id", + "hidden_activations": "relu", + "hidden_units": "[1024, 512, 256]", + "hypernet_config": "{'dropout_rates': 0.1, 'hidden_activations': 'relu', 'hidden_units': []}", + "label_col": "{'dtype': 'float', 'name': 'label'}", + "learning_rate": "0.0005", + "loss": "binary_crossentropy", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "1", + "model": "APG_DeepFM", + "model_id": "APG_DeepFM_amazonelectronics_x1_001_daf845b0", + "model_root": "./checkpoints/APG_DeepFM_amazonelectronics_x1/", + "monitor": "{'AUC': 1, 'gAUC': 1}", + "monitor_mode": "max", + "net_dropout": "0.1", + "net_regularizer": "0", + "new_condition_emb": "False", + "num_workers": "3", + "optimizer": "adam", + "overparam_p": "None", + "pickle_feature_encoder": "True", + "rank_k": "[32, 16, 8]", + "save_best_only": "True", + "seed": "20222023", + "shuffle": "True", + "task": "binary_classification", + "test_data": "../data/Amazon/AmazonElectronics_x1/test.csv", + "train_data": "../data/Amazon/AmazonElectronics_x1/train.csv", + "use_features": "None", + "valid_data": "../data/Amazon/AmazonElectronics_x1/test.csv", + "verbose": "1" +} +2023-05-31 07:46:22,585 P50072 INFO Set up feature processor... +2023-05-31 07:46:22,585 P50072 WARNING Skip rebuilding ../data/Amazon/amazonelectronics_x1_b7a43f49/feature_map.json. Please delete it manually if rebuilding is required. +2023-05-31 07:46:22,585 P50072 INFO Load feature_map from json: ../data/Amazon/amazonelectronics_x1_b7a43f49/feature_map.json +2023-05-31 07:46:22,586 P50072 INFO Set column index... +2023-05-31 07:46:22,586 P50072 INFO Feature specs: { + "cate_history": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'cate_id', 'padding_idx': 0, 'oov_idx': 802, 'vocab_size': 803, 'max_len': 100}", + "cate_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 802, 'vocab_size': 803}", + "item_history": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'item_id', 'padding_idx': 0, 'oov_idx': 63002, 'vocab_size': 63003, 'max_len': 100}", + "item_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 63002, 'vocab_size': 63003}", + "user_id": "{'type': 'meta'}" +} +2023-05-31 07:46:27,353 P50072 INFO Total number of parameters: 5764414. +2023-05-31 07:46:27,354 P50072 INFO Loading data... +2023-05-31 07:46:27,354 P50072 INFO Loading data from h5: ../data/Amazon/amazonelectronics_x1_b7a43f49/train.h5 +2023-05-31 07:46:30,303 P50072 INFO Train samples: total/2608764, blocks/1 +2023-05-31 07:46:30,303 P50072 INFO Loading data from h5: ../data/Amazon/amazonelectronics_x1_b7a43f49/valid.h5 +2023-05-31 07:46:30,714 P50072 INFO Validation samples: total/384806, blocks/1 +2023-05-31 07:46:30,714 P50072 INFO Loading train and validation data done. +2023-05-31 07:46:30,714 P50072 INFO Start training: 2548 batches/epoch +2023-05-31 07:46:30,715 P50072 INFO ************ Epoch=1 start ************ +2023-05-31 07:51:16,222 P50072 INFO Train loss: 0.638213 +2023-05-31 07:51:16,222 P50072 INFO Evaluation @epoch 1 - batch 2548: +2023-05-31 07:52:48,320 P50072 INFO [Metrics] AUC: 0.831274 - gAUC: 0.829119 +2023-05-31 07:52:48,321 P50072 INFO Save best model: monitor(max)=1.660393 +2023-05-31 07:52:48,458 P50072 INFO ************ Epoch=1 end ************ +2023-05-31 07:57:29,405 P50072 INFO Train loss: 0.593494 +2023-05-31 07:57:29,405 P50072 INFO Evaluation @epoch 2 - batch 2548: +2023-05-31 07:59:03,390 P50072 INFO [Metrics] AUC: 0.845894 - gAUC: 0.844046 +2023-05-31 07:59:03,391 P50072 INFO Save best model: monitor(max)=1.689940 +2023-05-31 07:59:03,585 P50072 INFO ************ Epoch=2 end ************ +2023-05-31 08:03:49,117 P50072 INFO Train loss: 0.578527 +2023-05-31 08:03:49,118 P50072 INFO Evaluation @epoch 3 - batch 2548: +2023-05-31 08:05:26,905 P50072 INFO [Metrics] AUC: 0.850897 - gAUC: 0.848376 +2023-05-31 08:05:26,906 P50072 INFO Save best model: monitor(max)=1.699273 +2023-05-31 08:05:27,068 P50072 INFO ************ Epoch=3 end ************ +2023-05-31 08:10:08,489 P50072 INFO Train loss: 0.572567 +2023-05-31 08:10:08,490 P50072 INFO Evaluation @epoch 4 - batch 2548: +2023-05-31 08:11:43,438 P50072 INFO [Metrics] AUC: 0.851587 - gAUC: 0.848802 +2023-05-31 08:11:43,439 P50072 INFO Save best model: monitor(max)=1.700389 +2023-05-31 08:11:43,613 P50072 INFO ************ Epoch=4 end ************ +2023-05-31 08:16:26,946 P50072 INFO Train loss: 0.569565 +2023-05-31 08:16:26,947 P50072 INFO Evaluation @epoch 5 - batch 2548: +2023-05-31 08:18:00,913 P50072 INFO [Metrics] AUC: 0.854329 - gAUC: 0.851759 +2023-05-31 08:18:00,915 P50072 INFO Save best model: monitor(max)=1.706088 +2023-05-31 08:18:01,082 P50072 INFO ************ Epoch=5 end ************ +2023-05-31 08:22:40,250 P50072 INFO Train loss: 0.567909 +2023-05-31 08:22:40,250 P50072 INFO Evaluation @epoch 6 - batch 2548: +2023-05-31 08:24:14,192 P50072 INFO [Metrics] AUC: 0.856020 - gAUC: 0.854103 +2023-05-31 08:24:14,194 P50072 INFO Save best model: monitor(max)=1.710123 +2023-05-31 08:24:14,366 P50072 INFO ************ Epoch=6 end ************ +2023-05-31 08:28:58,830 P50072 INFO Train loss: 0.566446 +2023-05-31 08:28:58,831 P50072 INFO Evaluation @epoch 7 - batch 2548: +2023-05-31 08:30:34,543 P50072 INFO [Metrics] AUC: 0.856143 - gAUC: 0.854082 +2023-05-31 08:30:34,544 P50072 INFO Save best model: monitor(max)=1.710226 +2023-05-31 08:30:34,693 P50072 INFO ************ Epoch=7 end ************ +2023-05-31 08:35:17,623 P50072 INFO Train loss: 0.566004 +2023-05-31 08:35:17,623 P50072 INFO Evaluation @epoch 8 - batch 2548: +2023-05-31 08:36:50,699 P50072 INFO [Metrics] AUC: 0.855911 - gAUC: 0.853999 +2023-05-31 08:36:50,700 P50072 INFO Monitor(max)=1.709910 STOP! +2023-05-31 08:36:50,700 P50072 INFO Reduce learning rate on plateau: 0.000050 +2023-05-31 08:36:50,793 P50072 INFO ************ Epoch=8 end ************ +2023-05-31 08:41:31,260 P50072 INFO Train loss: 0.469837 +2023-05-31 08:41:31,261 P50072 INFO Evaluation @epoch 9 - batch 2548: +2023-05-31 08:43:04,068 P50072 INFO [Metrics] AUC: 0.876257 - gAUC: 0.873936 +2023-05-31 08:43:04,070 P50072 INFO Save best model: monitor(max)=1.750194 +2023-05-31 08:43:04,236 P50072 INFO ************ Epoch=9 end ************ +2023-05-31 08:47:44,677 P50072 INFO Train loss: 0.425284 +2023-05-31 08:47:44,677 P50072 INFO Evaluation @epoch 10 - batch 2548: +2023-05-31 08:49:16,247 P50072 INFO [Metrics] AUC: 0.879939 - gAUC: 0.877549 +2023-05-31 08:49:16,248 P50072 INFO Save best model: monitor(max)=1.757488 +2023-05-31 08:49:16,415 P50072 INFO ************ Epoch=10 end ************ +2023-05-31 08:53:48,424 P50072 INFO Train loss: 0.405618 +2023-05-31 08:53:48,424 P50072 INFO Evaluation @epoch 11 - batch 2548: +2023-05-31 08:55:10,413 P50072 INFO [Metrics] AUC: 0.881180 - gAUC: 0.878817 +2023-05-31 08:55:10,414 P50072 INFO Save best model: monitor(max)=1.759997 +2023-05-31 08:55:10,570 P50072 INFO ************ Epoch=11 end ************ +2023-05-31 08:58:40,712 P50072 INFO Train loss: 0.393057 +2023-05-31 08:58:40,712 P50072 INFO Evaluation @epoch 12 - batch 2548: +2023-05-31 08:59:40,360 P50072 INFO [Metrics] AUC: 0.880131 - gAUC: 0.878022 +2023-05-31 08:59:40,361 P50072 INFO Monitor(max)=1.758153 STOP! +2023-05-31 08:59:40,361 P50072 INFO Reduce learning rate on plateau: 0.000005 +2023-05-31 08:59:40,427 P50072 INFO ************ Epoch=12 end ************ +2023-05-31 09:01:35,997 P50072 INFO Train loss: 0.334959 +2023-05-31 09:01:35,998 P50072 INFO Evaluation @epoch 13 - batch 2548: +2023-05-31 09:02:26,838 P50072 INFO [Metrics] AUC: 0.874610 - gAUC: 0.873510 +2023-05-31 09:02:26,839 P50072 INFO Monitor(max)=1.748120 STOP! +2023-05-31 09:02:26,839 P50072 INFO Reduce learning rate on plateau: 0.000001 +2023-05-31 09:02:26,839 P50072 INFO ********* Epoch==13 early stop ********* +2023-05-31 09:02:26,903 P50072 INFO Training finished. +2023-05-31 09:02:26,904 P50072 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/APG_DeepFM_amazonelectronics_x1/amazonelectronics_x1_b7a43f49/APG_DeepFM_amazonelectronics_x1_001_daf845b0.model +2023-05-31 09:02:26,933 P50072 INFO ****** Validation evaluation ****** +2023-05-31 09:03:13,140 P50072 INFO [Metrics] gAUC: 0.878817 - AUC: 0.881180 - logloss: 0.439346 +2023-05-31 09:03:13,225 P50072 INFO ******** Test evaluation ******** +2023-05-31 09:03:13,225 P50072 INFO Loading data... +2023-05-31 09:03:13,225 P50072 INFO Loading data from h5: ../data/Amazon/amazonelectronics_x1_b7a43f49/test.h5 +2023-05-31 09:03:13,671 P50072 INFO Test samples: total/384806, blocks/1 +2023-05-31 09:03:13,672 P50072 INFO Loading test data done. +2023-05-31 09:03:56,850 P50072 INFO [Metrics] gAUC: 0.878817 - AUC: 0.881180 - logloss: 0.439346 diff --git a/ranking/ctr/APG/APG_DeepFM_amazonelectronics_x1/APG_DeepFM_amazonelectronics_x1_tuner_config_08.csv b/ranking/ctr/APG/APG_DeepFM_amazonelectronics_x1/APG_DeepFM_amazonelectronics_x1_tuner_config_08.csv new file mode 100644 index 0000000..c662ee0 --- /dev/null +++ b/ranking/ctr/APG/APG_DeepFM_amazonelectronics_x1/APG_DeepFM_amazonelectronics_x1_tuner_config_08.csv @@ -0,0 +1,8 @@ + 20230531-090356,[command] python run_expid.py --config Amazon/APG_DeepFM_amazonelectronics_x1/APG_DeepFM_amazonelectronics_x1_tuner_config_08 --expid APG_DeepFM_amazonelectronics_x1_001_daf845b0 --gpu 0,[exp_id] APG_DeepFM_amazonelectronics_x1_001_daf845b0,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.878817 - AUC: 0.881180 - logloss: 0.439346,[test] gAUC: 0.878817 - AUC: 0.881180 - logloss: 0.439346 + 20230531-090400,[command] python run_expid.py --config Amazon/APG_DeepFM_amazonelectronics_x1/APG_DeepFM_amazonelectronics_x1_tuner_config_08 --expid APG_DeepFM_amazonelectronics_x1_005_10183a98 --gpu 4,[exp_id] APG_DeepFM_amazonelectronics_x1_005_10183a98,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.878328 - AUC: 0.880425 - logloss: 0.440033,[test] gAUC: 0.878328 - AUC: 0.880425 - logloss: 0.440033 + 20230531-090142,[command] python run_expid.py --config Amazon/APG_DeepFM_amazonelectronics_x1/APG_DeepFM_amazonelectronics_x1_tuner_config_08 --expid APG_DeepFM_amazonelectronics_x1_003_d5ff6cfd --gpu 2,[exp_id] APG_DeepFM_amazonelectronics_x1_003_d5ff6cfd,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.878328 - AUC: 0.880226 - logloss: 0.440883,[test] gAUC: 0.878328 - AUC: 0.880226 - logloss: 0.440883 + 20230531-085815,[command] python run_expid.py --config Amazon/APG_DeepFM_amazonelectronics_x1/APG_DeepFM_amazonelectronics_x1_tuner_config_08 --expid APG_DeepFM_amazonelectronics_x1_002_387b911b --gpu 1,[exp_id] APG_DeepFM_amazonelectronics_x1_002_387b911b,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.877970 - AUC: 0.879956 - logloss: 0.439662,[test] gAUC: 0.877970 - AUC: 0.879956 - logloss: 0.439662 + 20230531-085818,[command] python run_expid.py --config Amazon/APG_DeepFM_amazonelectronics_x1/APG_DeepFM_amazonelectronics_x1_tuner_config_08 --expid APG_DeepFM_amazonelectronics_x1_006_82656ace --gpu 5,[exp_id] APG_DeepFM_amazonelectronics_x1_006_82656ace,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.877892 - AUC: 0.880247 - logloss: 0.440637,[test] gAUC: 0.877892 - AUC: 0.880247 - logloss: 0.440637 + 20230531-090402,[command] python run_expid.py --config Amazon/APG_DeepFM_amazonelectronics_x1/APG_DeepFM_amazonelectronics_x1_tuner_config_08 --expid APG_DeepFM_amazonelectronics_x1_007_5a43b9da --gpu 6,[exp_id] APG_DeepFM_amazonelectronics_x1_007_5a43b9da,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.877304 - AUC: 0.879319 - logloss: 0.446152,[test] gAUC: 0.877304 - AUC: 0.879319 - logloss: 0.446152 + 20230531-085818,[command] python run_expid.py --config Amazon/APG_DeepFM_amazonelectronics_x1/APG_DeepFM_amazonelectronics_x1_tuner_config_08 --expid APG_DeepFM_amazonelectronics_x1_008_cab1da7a --gpu 7,[exp_id] APG_DeepFM_amazonelectronics_x1_008_cab1da7a,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.877086 - AUC: 0.879993 - logloss: 0.441090,[test] gAUC: 0.877086 - AUC: 0.879993 - logloss: 0.441090 + 20230531-085234,[command] python run_expid.py --config Amazon/APG_DeepFM_amazonelectronics_x1/APG_DeepFM_amazonelectronics_x1_tuner_config_08 --expid APG_DeepFM_amazonelectronics_x1_004_e052c91f --gpu 3,[exp_id] APG_DeepFM_amazonelectronics_x1_004_e052c91f,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.876546 - AUC: 0.879259 - logloss: 0.442533,[test] gAUC: 0.876546 - AUC: 0.879259 - logloss: 0.442533 diff --git a/ranking/ctr/APG/APG_DeepFM_amazonelectronics_x1/APG_DeepFM_amazonelectronics_x1_tuner_config_08.yaml b/ranking/ctr/APG/APG_DeepFM_amazonelectronics_x1/APG_DeepFM_amazonelectronics_x1_tuner_config_08.yaml new file mode 100644 index 0000000..d73b7c5 --- /dev/null +++ b/ranking/ctr/APG/APG_DeepFM_amazonelectronics_x1/APG_DeepFM_amazonelectronics_x1_tuner_config_08.yaml @@ -0,0 +1,46 @@ +base_config: ../model_zoo/APG/config/ +base_expid: APG_DeepFM +dataset_id: amazonelectronics_x1 + +dataset_config: + amazonelectronics_x1: + data_root: ../data/Amazon/ + data_format: csv + train_data: ../data/Amazon/AmazonElectronics_x1/train.csv + valid_data: ../data/Amazon/AmazonElectronics_x1/test.csv # no validation data split in original paper + test_data: ../data/Amazon/AmazonElectronics_x1/test.csv + min_categr_count: 1 + feature_cols: + - {name: user_id, active: True, dtype: int, type: meta, remap: False} + - {name: item_id, active: True, dtype: str, type: categorical} + - {name: cate_id, active: True, dtype: str, type: categorical} + - {name: item_history, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, + feature_encoder: "layers.MaskedAveragePooling()", share_embedding: item_id} + - {name: cate_history, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, + feature_encoder: "layers.MaskedAveragePooling()", share_embedding: cate_id} + label_col: {name: label, dtype: float} + + +tuner_space: + model_root: './checkpoints/APG_DeepFM_amazonelectronics_x1/' + embedding_dim: 64 + hidden_units: [[1024, 512, 256]] + embedding_regularizer: 5.e-3 + net_dropout: 0.1 + batch_norm: True + hypernet_config: + hidden_units: [] + hidden_activations: relu + dropout_rates: 0.1 + condition_features: null + condition_mode: "self-wise" + rank_k: [[32, 16, 8], [16, 8, 4]] + overparam_p: [null, [64, 32, 16], [32, 16, 8], [128, 64, 32]] + generate_bias: True + learning_rate: 5.e-4 + batch_size: 1024 + seed: 20222023 + group_id: user_id + metrics: [[gAUC, AUC, logloss]] + monitor: {"gAUC": 1, "AUC": 1} + diff --git a/ranking/ctr/APG/APG_DeepFM_amazonelectronics_x1/APG_DeepFM_amazonelectronics_x1_tuner_config_08/dataset_config.yaml b/ranking/ctr/APG/APG_DeepFM_amazonelectronics_x1/APG_DeepFM_amazonelectronics_x1_tuner_config_08/dataset_config.yaml new file mode 100644 index 0000000..860ec27 --- /dev/null +++ b/ranking/ctr/APG/APG_DeepFM_amazonelectronics_x1/APG_DeepFM_amazonelectronics_x1_tuner_config_08/dataset_config.yaml @@ -0,0 +1,16 @@ +amazonelectronics_x1_b7a43f49: + data_format: csv + data_root: ../data/Amazon/ + feature_cols: + - {active: true, dtype: int, name: user_id, remap: false, type: meta} + - {active: true, dtype: str, name: item_id, type: categorical} + - {active: true, dtype: str, name: cate_id, type: categorical} + - {active: true, dtype: str, feature_encoder: layers.MaskedAveragePooling(), max_len: 100, + name: item_history, share_embedding: item_id, splitter: ^, type: sequence} + - {active: true, dtype: str, feature_encoder: layers.MaskedAveragePooling(), max_len: 100, + name: cate_history, share_embedding: cate_id, splitter: ^, type: sequence} + label_col: {dtype: float, name: label} + min_categr_count: 1 + test_data: ../data/Amazon/AmazonElectronics_x1/test.csv + train_data: ../data/Amazon/AmazonElectronics_x1/train.csv + valid_data: ../data/Amazon/AmazonElectronics_x1/test.csv diff --git a/ranking/ctr/APG/APG_DeepFM_amazonelectronics_x1/APG_DeepFM_amazonelectronics_x1_tuner_config_08/model_config.yaml b/ranking/ctr/APG/APG_DeepFM_amazonelectronics_x1/APG_DeepFM_amazonelectronics_x1_tuner_config_08/model_config.yaml new file mode 100644 index 0000000..0163e1d --- /dev/null +++ b/ranking/ctr/APG/APG_DeepFM_amazonelectronics_x1/APG_DeepFM_amazonelectronics_x1_tuner_config_08/model_config.yaml @@ -0,0 +1,344 @@ +APG_DeepFM_amazonelectronics_x1_001_daf845b0: + batch_norm: true + batch_size: 1024 + condition_features: null + condition_mode: self-wise + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: user_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_amazonelectronics_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: null + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_amazonelectronics_x1_002_387b911b: + batch_norm: true + batch_size: 1024 + condition_features: null + condition_mode: self-wise + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: user_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_amazonelectronics_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: [64, 32, 16] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_amazonelectronics_x1_003_d5ff6cfd: + batch_norm: true + batch_size: 1024 + condition_features: null + condition_mode: self-wise + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: user_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_amazonelectronics_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: [32, 16, 8] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_amazonelectronics_x1_004_e052c91f: + batch_norm: true + batch_size: 1024 + condition_features: null + condition_mode: self-wise + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: user_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_amazonelectronics_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: [128, 64, 32] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_amazonelectronics_x1_005_10183a98: + batch_norm: true + batch_size: 1024 + condition_features: null + condition_mode: self-wise + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: user_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_amazonelectronics_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: null + pickle_feature_encoder: true + rank_k: [16, 8, 4] + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_amazonelectronics_x1_006_82656ace: + batch_norm: true + batch_size: 1024 + condition_features: null + condition_mode: self-wise + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: user_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_amazonelectronics_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: [64, 32, 16] + pickle_feature_encoder: true + rank_k: [16, 8, 4] + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_amazonelectronics_x1_007_5a43b9da: + batch_norm: true + batch_size: 1024 + condition_features: null + condition_mode: self-wise + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: user_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_amazonelectronics_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: [32, 16, 8] + pickle_feature_encoder: true + rank_k: [16, 8, 4] + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_amazonelectronics_x1_008_cab1da7a: + batch_norm: true + batch_size: 1024 + condition_features: null + condition_mode: self-wise + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: user_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_amazonelectronics_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: [128, 64, 32] + pickle_feature_encoder: true + rank_k: [16, 8, 4] + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 diff --git a/ranking/ctr/APG/APG_DeepFM_amazonelectronics_x1/README.md b/ranking/ctr/APG/APG_DeepFM_amazonelectronics_x1/README.md new file mode 100644 index 0000000..8b69aa2 --- /dev/null +++ b/ranking/ctr/APG/APG_DeepFM_amazonelectronics_x1/README.md @@ -0,0 +1,224 @@ +## APG_DeepFM_amazonelectronics_x1 + +A hands-on guide to run the APG model on the AmazonElectronics_x1 dataset. + +Author: [BARS Benchmark](https://github.com/reczoo/BARS/blob/main/CITATION) + + +| [Environments](#Environments) | [Dataset](#Dataset) | [Code](#Code) | [Results](#Results) | [Logs](#Logs) | +|:-----------------------------:|:-----------:|:--------:|:--------:|-------| +### Environments ++ Hardware + + ```python + CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz + GPU: Tesla V100 32G + RAM: 755G + + ``` + ++ Software + + ```python + cuda: 10.2 + python: 3.7.10 + pytorch: 1.11.0 + pandas: 1.1.5 + numpy: 1.19.5 + scipy: 1.5.2 + sklearn: 0.22.1 + pyyaml: 6.0 + h5py: 2.8.0 + tqdm: 4.64.0 + fuxictr: 2.0.3 + + ``` + +### Dataset +Please refer to [AmazonElectronics_x1](https://github.com/reczoo/Datasets/tree/main/Amazon/AmazonElectronics_x1) to get the dataset details. + +### Code + +We use the [APG](https://github.com/reczoo/FuxiCTR/tree/v2.0.3/model_zoo/APG) model code from [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/tree/v2.0.3) for this experiment. + +Running steps: + +1. Download [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/archive/refs/tags/v2.0.3.zip) and install all the dependencies listed in the [environments](#environments). + + ```bash + pip uninstall fuxictr + pip install fuxictr==2.0.3 + ``` + +2. Create a data directory and put the downloaded data files in `../data/Amazon/AmazonElectronics_x1`. + +3. Both `dataset_config.yaml` and `model_config.yaml` files are available in [APG_DeepFM_amazonelectronics_x1_tuner_config_08](./APG_DeepFM_amazonelectronics_x1_tuner_config_08). Please make sure that the data paths in `dataset_config.yaml` are correctly set. + +4. Run the following script to start training and evaluation. + + ```bash + cd FuxiCTR/model_zoo/APG + nohup python run_expid.py --config YOUR_PATH/APG/APG_DeepFM_amazonelectronics_x1_tuner_config_08 --expid APG_DeepFM_amazonelectronics_x1_001_daf845b0 --gpu 0 > run.log & + tail -f run.log + ``` + +### Results + +| gAUC | AUC | logloss | +|:--------------------:|:--------------------:|:--------------------:| +| 0.878817 | 0.881180 | 0.439346 | + + +### Logs +```python +2023-05-31 07:46:22,585 P50072 INFO Params: { + "batch_norm": "True", + "batch_size": "1024", + "condition_features": "None", + "condition_mode": "self-wise", + "data_format": "csv", + "data_root": "../data/Amazon/", + "dataset_id": "amazonelectronics_x1_b7a43f49", + "debug_mode": "False", + "early_stop_patience": "2", + "embedding_dim": "64", + "embedding_regularizer": "0.005", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'user_id', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': 'item_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'name': 'cate_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'feature_encoder': 'layers.MaskedAveragePooling()', 'max_len': 100, 'name': 'item_history', 'share_embedding': 'item_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'feature_encoder': 'layers.MaskedAveragePooling()', 'max_len': 100, 'name': 'cate_history', 'share_embedding': 'cate_id', 'splitter': '^', 'type': 'sequence'}]", + "feature_config": "None", + "feature_specs": "None", + "generate_bias": "True", + "gpu": "0", + "group_id": "user_id", + "hidden_activations": "relu", + "hidden_units": "[1024, 512, 256]", + "hypernet_config": "{'dropout_rates': 0.1, 'hidden_activations': 'relu', 'hidden_units': []}", + "label_col": "{'dtype': 'float', 'name': 'label'}", + "learning_rate": "0.0005", + "loss": "binary_crossentropy", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "1", + "model": "APG_DeepFM", + "model_id": "APG_DeepFM_amazonelectronics_x1_001_daf845b0", + "model_root": "./checkpoints/APG_DeepFM_amazonelectronics_x1/", + "monitor": "{'AUC': 1, 'gAUC': 1}", + "monitor_mode": "max", + "net_dropout": "0.1", + "net_regularizer": "0", + "new_condition_emb": "False", + "num_workers": "3", + "optimizer": "adam", + "overparam_p": "None", + "pickle_feature_encoder": "True", + "rank_k": "[32, 16, 8]", + "save_best_only": "True", + "seed": "20222023", + "shuffle": "True", + "task": "binary_classification", + "test_data": "../data/Amazon/AmazonElectronics_x1/test.csv", + "train_data": "../data/Amazon/AmazonElectronics_x1/train.csv", + "use_features": "None", + "valid_data": "../data/Amazon/AmazonElectronics_x1/test.csv", + "verbose": "1" +} +2023-05-31 07:46:22,585 P50072 INFO Set up feature processor... +2023-05-31 07:46:22,585 P50072 WARNING Skip rebuilding ../data/Amazon/amazonelectronics_x1_b7a43f49/feature_map.json. Please delete it manually if rebuilding is required. +2023-05-31 07:46:22,585 P50072 INFO Load feature_map from json: ../data/Amazon/amazonelectronics_x1_b7a43f49/feature_map.json +2023-05-31 07:46:22,586 P50072 INFO Set column index... +2023-05-31 07:46:22,586 P50072 INFO Feature specs: { + "cate_history": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'cate_id', 'padding_idx': 0, 'oov_idx': 802, 'vocab_size': 803, 'max_len': 100}", + "cate_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 802, 'vocab_size': 803}", + "item_history": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'item_id', 'padding_idx': 0, 'oov_idx': 63002, 'vocab_size': 63003, 'max_len': 100}", + "item_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 63002, 'vocab_size': 63003}", + "user_id": "{'type': 'meta'}" +} +2023-05-31 07:46:27,353 P50072 INFO Total number of parameters: 5764414. +2023-05-31 07:46:27,354 P50072 INFO Loading data... +2023-05-31 07:46:27,354 P50072 INFO Loading data from h5: ../data/Amazon/amazonelectronics_x1_b7a43f49/train.h5 +2023-05-31 07:46:30,303 P50072 INFO Train samples: total/2608764, blocks/1 +2023-05-31 07:46:30,303 P50072 INFO Loading data from h5: ../data/Amazon/amazonelectronics_x1_b7a43f49/valid.h5 +2023-05-31 07:46:30,714 P50072 INFO Validation samples: total/384806, blocks/1 +2023-05-31 07:46:30,714 P50072 INFO Loading train and validation data done. +2023-05-31 07:46:30,714 P50072 INFO Start training: 2548 batches/epoch +2023-05-31 07:46:30,715 P50072 INFO ************ Epoch=1 start ************ +2023-05-31 07:51:16,222 P50072 INFO Train loss: 0.638213 +2023-05-31 07:51:16,222 P50072 INFO Evaluation @epoch 1 - batch 2548: +2023-05-31 07:52:48,320 P50072 INFO [Metrics] AUC: 0.831274 - gAUC: 0.829119 +2023-05-31 07:52:48,321 P50072 INFO Save best model: monitor(max)=1.660393 +2023-05-31 07:52:48,458 P50072 INFO ************ Epoch=1 end ************ +2023-05-31 07:57:29,405 P50072 INFO Train loss: 0.593494 +2023-05-31 07:57:29,405 P50072 INFO Evaluation @epoch 2 - batch 2548: +2023-05-31 07:59:03,390 P50072 INFO [Metrics] AUC: 0.845894 - gAUC: 0.844046 +2023-05-31 07:59:03,391 P50072 INFO Save best model: monitor(max)=1.689940 +2023-05-31 07:59:03,585 P50072 INFO ************ Epoch=2 end ************ +2023-05-31 08:03:49,117 P50072 INFO Train loss: 0.578527 +2023-05-31 08:03:49,118 P50072 INFO Evaluation @epoch 3 - batch 2548: +2023-05-31 08:05:26,905 P50072 INFO [Metrics] AUC: 0.850897 - gAUC: 0.848376 +2023-05-31 08:05:26,906 P50072 INFO Save best model: monitor(max)=1.699273 +2023-05-31 08:05:27,068 P50072 INFO ************ Epoch=3 end ************ +2023-05-31 08:10:08,489 P50072 INFO Train loss: 0.572567 +2023-05-31 08:10:08,490 P50072 INFO Evaluation @epoch 4 - batch 2548: +2023-05-31 08:11:43,438 P50072 INFO [Metrics] AUC: 0.851587 - gAUC: 0.848802 +2023-05-31 08:11:43,439 P50072 INFO Save best model: monitor(max)=1.700389 +2023-05-31 08:11:43,613 P50072 INFO ************ Epoch=4 end ************ +2023-05-31 08:16:26,946 P50072 INFO Train loss: 0.569565 +2023-05-31 08:16:26,947 P50072 INFO Evaluation @epoch 5 - batch 2548: +2023-05-31 08:18:00,913 P50072 INFO [Metrics] AUC: 0.854329 - gAUC: 0.851759 +2023-05-31 08:18:00,915 P50072 INFO Save best model: monitor(max)=1.706088 +2023-05-31 08:18:01,082 P50072 INFO ************ Epoch=5 end ************ +2023-05-31 08:22:40,250 P50072 INFO Train loss: 0.567909 +2023-05-31 08:22:40,250 P50072 INFO Evaluation @epoch 6 - batch 2548: +2023-05-31 08:24:14,192 P50072 INFO [Metrics] AUC: 0.856020 - gAUC: 0.854103 +2023-05-31 08:24:14,194 P50072 INFO Save best model: monitor(max)=1.710123 +2023-05-31 08:24:14,366 P50072 INFO ************ Epoch=6 end ************ +2023-05-31 08:28:58,830 P50072 INFO Train loss: 0.566446 +2023-05-31 08:28:58,831 P50072 INFO Evaluation @epoch 7 - batch 2548: +2023-05-31 08:30:34,543 P50072 INFO [Metrics] AUC: 0.856143 - gAUC: 0.854082 +2023-05-31 08:30:34,544 P50072 INFO Save best model: monitor(max)=1.710226 +2023-05-31 08:30:34,693 P50072 INFO ************ Epoch=7 end ************ +2023-05-31 08:35:17,623 P50072 INFO Train loss: 0.566004 +2023-05-31 08:35:17,623 P50072 INFO Evaluation @epoch 8 - batch 2548: +2023-05-31 08:36:50,699 P50072 INFO [Metrics] AUC: 0.855911 - gAUC: 0.853999 +2023-05-31 08:36:50,700 P50072 INFO Monitor(max)=1.709910 STOP! +2023-05-31 08:36:50,700 P50072 INFO Reduce learning rate on plateau: 0.000050 +2023-05-31 08:36:50,793 P50072 INFO ************ Epoch=8 end ************ +2023-05-31 08:41:31,260 P50072 INFO Train loss: 0.469837 +2023-05-31 08:41:31,261 P50072 INFO Evaluation @epoch 9 - batch 2548: +2023-05-31 08:43:04,068 P50072 INFO [Metrics] AUC: 0.876257 - gAUC: 0.873936 +2023-05-31 08:43:04,070 P50072 INFO Save best model: monitor(max)=1.750194 +2023-05-31 08:43:04,236 P50072 INFO ************ Epoch=9 end ************ +2023-05-31 08:47:44,677 P50072 INFO Train loss: 0.425284 +2023-05-31 08:47:44,677 P50072 INFO Evaluation @epoch 10 - batch 2548: +2023-05-31 08:49:16,247 P50072 INFO [Metrics] AUC: 0.879939 - gAUC: 0.877549 +2023-05-31 08:49:16,248 P50072 INFO Save best model: monitor(max)=1.757488 +2023-05-31 08:49:16,415 P50072 INFO ************ Epoch=10 end ************ +2023-05-31 08:53:48,424 P50072 INFO Train loss: 0.405618 +2023-05-31 08:53:48,424 P50072 INFO Evaluation @epoch 11 - batch 2548: +2023-05-31 08:55:10,413 P50072 INFO [Metrics] AUC: 0.881180 - gAUC: 0.878817 +2023-05-31 08:55:10,414 P50072 INFO Save best model: monitor(max)=1.759997 +2023-05-31 08:55:10,570 P50072 INFO ************ Epoch=11 end ************ +2023-05-31 08:58:40,712 P50072 INFO Train loss: 0.393057 +2023-05-31 08:58:40,712 P50072 INFO Evaluation @epoch 12 - batch 2548: +2023-05-31 08:59:40,360 P50072 INFO [Metrics] AUC: 0.880131 - gAUC: 0.878022 +2023-05-31 08:59:40,361 P50072 INFO Monitor(max)=1.758153 STOP! +2023-05-31 08:59:40,361 P50072 INFO Reduce learning rate on plateau: 0.000005 +2023-05-31 08:59:40,427 P50072 INFO ************ Epoch=12 end ************ +2023-05-31 09:01:35,997 P50072 INFO Train loss: 0.334959 +2023-05-31 09:01:35,998 P50072 INFO Evaluation @epoch 13 - batch 2548: +2023-05-31 09:02:26,838 P50072 INFO [Metrics] AUC: 0.874610 - gAUC: 0.873510 +2023-05-31 09:02:26,839 P50072 INFO Monitor(max)=1.748120 STOP! +2023-05-31 09:02:26,839 P50072 INFO Reduce learning rate on plateau: 0.000001 +2023-05-31 09:02:26,839 P50072 INFO ********* Epoch==13 early stop ********* +2023-05-31 09:02:26,903 P50072 INFO Training finished. +2023-05-31 09:02:26,904 P50072 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/APG_DeepFM_amazonelectronics_x1/amazonelectronics_x1_b7a43f49/APG_DeepFM_amazonelectronics_x1_001_daf845b0.model +2023-05-31 09:02:26,933 P50072 INFO ****** Validation evaluation ****** +2023-05-31 09:03:13,140 P50072 INFO [Metrics] gAUC: 0.878817 - AUC: 0.881180 - logloss: 0.439346 +2023-05-31 09:03:13,225 P50072 INFO ******** Test evaluation ******** +2023-05-31 09:03:13,225 P50072 INFO Loading data... +2023-05-31 09:03:13,225 P50072 INFO Loading data from h5: ../data/Amazon/amazonelectronics_x1_b7a43f49/test.h5 +2023-05-31 09:03:13,671 P50072 INFO Test samples: total/384806, blocks/1 +2023-05-31 09:03:13,672 P50072 INFO Loading test data done. +2023-05-31 09:03:56,850 P50072 INFO [Metrics] gAUC: 0.878817 - AUC: 0.881180 - logloss: 0.439346 + +``` diff --git a/ranking/ctr/APG/APG_DeepFM_amazonelectronics_x1/environments.txt b/ranking/ctr/APG/APG_DeepFM_amazonelectronics_x1/environments.txt new file mode 100644 index 0000000..a39d234 --- /dev/null +++ b/ranking/ctr/APG/APG_DeepFM_amazonelectronics_x1/environments.txt @@ -0,0 +1,17 @@ +[Hardware] +CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz +GPU: Tesla V100 32G +RAM: 755G + +[Software] +cuda: 10.2 +python: 3.7.10 +pytorch: 1.11.0 +pandas: 1.1.5 +numpy: 1.19.5 +scipy: 1.5.2 +sklearn: 0.22.1 +pyyaml: 6.0 +h5py: 2.8.0 +tqdm: 4.64.0 +fuxictr: 2.0.3 diff --git a/ranking/ctr/APG/APG_DeepFM_amazonelectronics_x1/results.csv b/ranking/ctr/APG/APG_DeepFM_amazonelectronics_x1/results.csv new file mode 100644 index 0000000..91b25cb --- /dev/null +++ b/ranking/ctr/APG/APG_DeepFM_amazonelectronics_x1/results.csv @@ -0,0 +1 @@ + 20230531-090356,[command] python run_expid.py --config Amazon/APG_DeepFM_amazonelectronics_x1/APG_DeepFM_amazonelectronics_x1_tuner_config_08 --expid APG_DeepFM_amazonelectronics_x1_001_daf845b0 --gpu 0,[exp_id] APG_DeepFM_amazonelectronics_x1_001_daf845b0,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.878817 - AUC: 0.881180 - logloss: 0.439346,[test] gAUC: 0.878817 - AUC: 0.881180 - logloss: 0.439346 diff --git a/ranking/ctr/APG/APG_DeepFM_kuaivideo_x1/APG_DeepFM_kuaivideo_x1_007_5838d908.log b/ranking/ctr/APG/APG_DeepFM_kuaivideo_x1/APG_DeepFM_kuaivideo_x1_007_5838d908.log new file mode 100644 index 0000000..1b15861 --- /dev/null +++ b/ranking/ctr/APG/APG_DeepFM_kuaivideo_x1/APG_DeepFM_kuaivideo_x1_007_5838d908.log @@ -0,0 +1,142 @@ +2023-06-03 06:32:40,135 P70166 INFO Params: { + "batch_norm": "False", + "batch_size": "8192", + "condition_features": "None", + "condition_mode": "self-wise", + "data_format": "csv", + "data_root": "../data/KuaiShou/", + "dataset_id": "kuaivideo_x1_dc7a3035", + "debug_mode": "False", + "early_stop_patience": "2", + "embedding_dim": "64", + "embedding_regularizer": "0.0001", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'group_id', 'preprocess': 'copy_from(user_id)', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': 'user_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'name': 'item_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'min_categr_count': 1, 'name': 'item_emb', 'preprocess': 'copy_from(item_id)', 'pretrained_emb': '../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'max_len': 100, 'name': 'pos_items', 'padding': 'pre', 'share_embedding': 'item_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 100, 'name': 'neg_items', 'padding': 'pre', 'share_embedding': 'item_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'max_len': 100, 'min_categr_count': 1, 'name': 'pos_items_emb', 'padding': 'pre', 'preprocess': 'copy_from(pos_items)', 'pretrained_emb': '../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5', 'share_embedding': 'item_emb', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'max_len': 100, 'min_categr_count': 1, 'name': 'neg_items_emb', 'padding': 'pre', 'preprocess': 'copy_from(neg_items)', 'pretrained_emb': '../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5', 'share_embedding': 'item_emb', 'splitter': '^', 'type': 'sequence'}]", + "feature_config": "None", + "feature_specs": "[{'feature_encoder': 'nn.Linear(64, 64, bias=False)', 'name': 'item_emb'}, {'feature_encoder': 'layers.MaskedAveragePooling()', 'name': 'pos_items'}, {'feature_encoder': 'layers.MaskedAveragePooling()', 'name': 'neg_items'}, {'feature_encoder': ['layers.MaskedAveragePooling()', 'nn.Linear(64, 64, bias=False)'], 'name': 'pos_items_emb'}, {'feature_encoder': ['layers.MaskedAveragePooling()', 'nn.Linear(64, 64, bias=False)'], 'name': 'neg_items_emb'}]", + "generate_bias": "True", + "gpu": "6", + "group_id": "user_id", + "hidden_activations": "relu", + "hidden_units": "[1024, 512, 256]", + "hypernet_config": "{'dropout_rates': 0.1, 'hidden_activations': 'relu', 'hidden_units': []}", + "label_col": "{'dtype': 'float', 'name': 'is_click'}", + "learning_rate": "0.001", + "loss": "binary_crossentropy", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "10", + "model": "APG_DeepFM", + "model_id": "APG_DeepFM_kuaivideo_x1_007_5838d908", + "model_root": "./checkpoints/APG_DeepFM_kuaivideo_x1/", + "monitor": "{'AUC': 1, 'gAUC': 1}", + "monitor_mode": "max", + "net_dropout": "0.1", + "net_regularizer": "0", + "new_condition_emb": "False", + "num_workers": "3", + "optimizer": "adam", + "overparam_p": "[32, 16, 8]", + "pickle_feature_encoder": "True", + "rank_k": "[32, 16, 8]", + "save_best_only": "True", + "seed": "20222023", + "shuffle": "True", + "task": "binary_classification", + "test_data": "../data/KuaiShou/KuaiVideo_x1/test.csv", + "train_data": "../data/KuaiShou/KuaiVideo_x1/train.csv", + "use_features": "None", + "valid_data": "../data/KuaiShou/KuaiVideo_x1/test.csv", + "verbose": "1" +} +2023-06-03 06:32:40,136 P70166 INFO Set up feature processor... +2023-06-03 06:32:40,136 P70166 WARNING Skip rebuilding ../data/KuaiShou/kuaivideo_x1_dc7a3035/feature_map.json. Please delete it manually if rebuilding is required. +2023-06-03 06:32:40,136 P70166 INFO Load feature_map from json: ../data/KuaiShou/kuaivideo_x1_dc7a3035/feature_map.json +2023-06-03 06:32:40,136 P70166 INFO Set column index... +2023-06-03 06:32:40,137 P70166 INFO Feature specs: { + "group_id": "{'type': 'meta'}", + "item_emb": "{'source': '', 'type': 'categorical', 'embedding_dim': 64, 'pretrained_emb': 'pretrained_emb.h5', 'freeze_emb': True, 'padding_idx': 0, 'oov_idx': 3242316, 'vocab_size': 3242317, 'feature_encoder': 'nn.Linear(64, 64, bias=False)'}", + "item_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 632405, 'vocab_size': 632406}", + "neg_items": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'item_id', 'padding_idx': 0, 'oov_idx': 632405, 'vocab_size': 632406, 'max_len': 100}", + "neg_items_emb": "{'source': '', 'type': 'sequence', 'feature_encoder': ['layers.MaskedAveragePooling()', 'nn.Linear(64, 64, bias=False)'], 'embedding_dim': 64, 'share_embedding': 'item_emb', 'padding_idx': 0, 'oov_idx': 3242316, 'vocab_size': 3242317, 'max_len': 100}", + "pos_items": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'item_id', 'padding_idx': 0, 'oov_idx': 632405, 'vocab_size': 632406, 'max_len': 100}", + "pos_items_emb": "{'source': '', 'type': 'sequence', 'feature_encoder': ['layers.MaskedAveragePooling()', 'nn.Linear(64, 64, bias=False)'], 'embedding_dim': 64, 'share_embedding': 'item_emb', 'padding_idx': 0, 'oov_idx': 3242316, 'vocab_size': 3242317, 'max_len': 100}", + "user_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 10001, 'vocab_size': 10002}" +} +2023-06-03 06:32:49,416 P70166 INFO Total number of parameters: 54712253. +2023-06-03 06:32:49,416 P70166 INFO Loading data... +2023-06-03 06:32:49,416 P70166 INFO Loading data from h5: ../data/KuaiShou/kuaivideo_x1_dc7a3035/train.h5 +2023-06-03 06:33:13,469 P70166 INFO Train samples: total/10931092, blocks/1 +2023-06-03 06:33:13,470 P70166 INFO Loading data from h5: ../data/KuaiShou/kuaivideo_x1_dc7a3035/valid.h5 +2023-06-03 06:33:19,255 P70166 INFO Validation samples: total/2730291, blocks/1 +2023-06-03 06:33:19,256 P70166 INFO Loading train and validation data done. +2023-06-03 06:33:19,256 P70166 INFO Start training: 1335 batches/epoch +2023-06-03 06:33:19,256 P70166 INFO ************ Epoch=1 start ************ +2023-06-03 06:37:25,032 P70166 INFO Train loss: 0.515158 +2023-06-03 06:37:25,033 P70166 INFO Evaluation @epoch 1 - batch 1335: +2023-06-03 06:38:44,085 P70166 INFO [Metrics] AUC: 0.713362 - gAUC: 0.639544 +2023-06-03 06:38:44,087 P70166 INFO Save best model: monitor(max)=1.352906 +2023-06-03 06:38:46,690 P70166 INFO ************ Epoch=1 end ************ +2023-06-03 06:44:04,628 P70166 INFO Train loss: 0.468914 +2023-06-03 06:44:04,631 P70166 INFO Evaluation @epoch 2 - batch 1335: +2023-06-03 06:45:25,534 P70166 INFO [Metrics] AUC: 0.713932 - gAUC: 0.643671 +2023-06-03 06:45:25,538 P70166 INFO Save best model: monitor(max)=1.357603 +2023-06-03 06:45:28,150 P70166 INFO ************ Epoch=2 end ************ +2023-06-03 06:50:42,165 P70166 INFO Train loss: 0.463832 +2023-06-03 06:50:42,165 P70166 INFO Evaluation @epoch 3 - batch 1335: +2023-06-03 06:52:05,910 P70166 INFO [Metrics] AUC: 0.718080 - gAUC: 0.649056 +2023-06-03 06:52:05,912 P70166 INFO Save best model: monitor(max)=1.367135 +2023-06-03 06:52:08,391 P70166 INFO ************ Epoch=3 end ************ +2023-06-03 06:57:30,530 P70166 INFO Train loss: 0.461261 +2023-06-03 06:57:30,531 P70166 INFO Evaluation @epoch 4 - batch 1335: +2023-06-03 06:58:51,402 P70166 INFO [Metrics] AUC: 0.717861 - gAUC: 0.651169 +2023-06-03 06:58:51,405 P70166 INFO Save best model: monitor(max)=1.369030 +2023-06-03 06:58:53,795 P70166 INFO ************ Epoch=4 end ************ +2023-06-03 07:04:09,901 P70166 INFO Train loss: 0.459384 +2023-06-03 07:04:09,906 P70166 INFO Evaluation @epoch 5 - batch 1335: +2023-06-03 07:05:32,094 P70166 INFO [Metrics] AUC: 0.721888 - gAUC: 0.655096 +2023-06-03 07:05:32,099 P70166 INFO Save best model: monitor(max)=1.376984 +2023-06-03 07:05:34,645 P70166 INFO ************ Epoch=5 end ************ +2023-06-03 07:10:48,983 P70166 INFO Train loss: 0.457978 +2023-06-03 07:10:48,984 P70166 INFO Evaluation @epoch 6 - batch 1335: +2023-06-03 07:12:09,711 P70166 INFO [Metrics] AUC: 0.722433 - gAUC: 0.656997 +2023-06-03 07:12:09,713 P70166 INFO Save best model: monitor(max)=1.379430 +2023-06-03 07:12:12,330 P70166 INFO ************ Epoch=6 end ************ +2023-06-03 07:17:25,567 P70166 INFO Train loss: 0.456872 +2023-06-03 07:17:25,572 P70166 INFO Evaluation @epoch 7 - batch 1335: +2023-06-03 07:18:47,539 P70166 INFO [Metrics] AUC: 0.721520 - gAUC: 0.656891 +2023-06-03 07:18:47,540 P70166 INFO Monitor(max)=1.378412 STOP! +2023-06-03 07:18:47,540 P70166 INFO Reduce learning rate on plateau: 0.000100 +2023-06-03 07:18:47,611 P70166 INFO ************ Epoch=7 end ************ +2023-06-03 07:24:06,525 P70166 INFO Train loss: 0.418989 +2023-06-03 07:24:06,526 P70166 INFO Evaluation @epoch 8 - batch 1335: +2023-06-03 07:25:28,575 P70166 INFO [Metrics] AUC: 0.744775 - gAUC: 0.666257 +2023-06-03 07:25:28,576 P70166 INFO Save best model: monitor(max)=1.411032 +2023-06-03 07:25:31,005 P70166 INFO ************ Epoch=8 end ************ +2023-06-03 07:30:30,429 P70166 INFO Train loss: 0.408809 +2023-06-03 07:30:30,429 P70166 INFO Evaluation @epoch 9 - batch 1335: +2023-06-03 07:31:43,647 P70166 INFO [Metrics] AUC: 0.745036 - gAUC: 0.667573 +2023-06-03 07:31:43,649 P70166 INFO Save best model: monitor(max)=1.412609 +2023-06-03 07:31:45,961 P70166 INFO ************ Epoch=9 end ************ +2023-06-03 07:36:21,724 P70166 INFO Train loss: 0.403375 +2023-06-03 07:36:21,724 P70166 INFO Evaluation @epoch 10 - batch 1335: +2023-06-03 07:37:32,543 P70166 INFO [Metrics] AUC: 0.744316 - gAUC: 0.667522 +2023-06-03 07:37:32,547 P70166 INFO Monitor(max)=1.411838 STOP! +2023-06-03 07:37:32,547 P70166 INFO Reduce learning rate on plateau: 0.000010 +2023-06-03 07:37:32,608 P70166 INFO ************ Epoch=10 end ************ +2023-06-03 07:41:28,141 P70166 INFO Train loss: 0.388930 +2023-06-03 07:41:28,142 P70166 INFO Evaluation @epoch 11 - batch 1335: +2023-06-03 07:42:10,860 P70166 INFO [Metrics] AUC: 0.742410 - gAUC: 0.665792 +2023-06-03 07:42:10,863 P70166 INFO Monitor(max)=1.408203 STOP! +2023-06-03 07:42:10,863 P70166 INFO Reduce learning rate on plateau: 0.000001 +2023-06-03 07:42:10,863 P70166 INFO ********* Epoch==11 early stop ********* +2023-06-03 07:42:10,941 P70166 INFO Training finished. +2023-06-03 07:42:10,941 P70166 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/APG_DeepFM_kuaivideo_x1/kuaivideo_x1_dc7a3035/APG_DeepFM_kuaivideo_x1_007_5838d908.model +2023-06-03 07:42:11,898 P70166 INFO ****** Validation evaluation ****** +2023-06-03 07:42:59,597 P70166 INFO [Metrics] gAUC: 0.667573 - AUC: 0.745036 - logloss: 0.441939 +2023-06-03 07:42:59,779 P70166 INFO ******** Test evaluation ******** +2023-06-03 07:42:59,779 P70166 INFO Loading data... +2023-06-03 07:42:59,779 P70166 INFO Loading data from h5: ../data/KuaiShou/kuaivideo_x1_dc7a3035/test.h5 +2023-06-03 07:43:06,513 P70166 INFO Test samples: total/2730291, blocks/1 +2023-06-03 07:43:06,513 P70166 INFO Loading test data done. +2023-06-03 07:43:54,144 P70166 INFO [Metrics] gAUC: 0.667573 - AUC: 0.745036 - logloss: 0.441939 diff --git a/ranking/ctr/APG/APG_DeepFM_kuaivideo_x1/APG_DeepFM_kuaivideo_x1_tuner_config_01.csv b/ranking/ctr/APG/APG_DeepFM_kuaivideo_x1/APG_DeepFM_kuaivideo_x1_tuner_config_01.csv new file mode 100644 index 0000000..1e38fe7 --- /dev/null +++ b/ranking/ctr/APG/APG_DeepFM_kuaivideo_x1/APG_DeepFM_kuaivideo_x1_tuner_config_01.csv @@ -0,0 +1,8 @@ + 20230602-111351,[command] python run_expid.py --config KuaiShou/APG_DeepFM_kuaivideo_x1/APG_DeepFM_kuaivideo_x1_tuner_config_01 --expid APG_DeepFM_kuaivideo_x1_007_5838d908 --gpu 6,[exp_id] APG_DeepFM_kuaivideo_x1_007_5838d908,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.667573 - AUC: 0.745036 - logloss: 0.441939,[test] gAUC: 0.667573 - AUC: 0.745036 - logloss: 0.441939 + 20230602-111132,[command] python run_expid.py --config KuaiShou/APG_DeepFM_kuaivideo_x1/APG_DeepFM_kuaivideo_x1_tuner_config_01 --expid APG_DeepFM_kuaivideo_x1_011_163f472e --gpu 2,[exp_id] APG_DeepFM_kuaivideo_x1_011_163f472e,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.666799 - AUC: 0.744956 - logloss: 0.441106,[test] gAUC: 0.666799 - AUC: 0.744956 - logloss: 0.441106 + 20230602-111832,[command] python run_expid.py --config KuaiShou/APG_DeepFM_kuaivideo_x1/APG_DeepFM_kuaivideo_x1_tuner_config_01 --expid APG_DeepFM_kuaivideo_x1_006_c46d6a33 --gpu 5,[exp_id] APG_DeepFM_kuaivideo_x1_006_c46d6a33,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.666652 - AUC: 0.744441 - logloss: 0.444083,[test] gAUC: 0.666652 - AUC: 0.744441 - logloss: 0.444083 + 20230602-111859,[command] python run_expid.py --config KuaiShou/APG_DeepFM_kuaivideo_x1/APG_DeepFM_kuaivideo_x1_tuner_config_01 --expid APG_DeepFM_kuaivideo_x1_009_e30e15b4 --gpu 0,[exp_id] APG_DeepFM_kuaivideo_x1_009_e30e15b4,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.666643 - AUC: 0.744906 - logloss: 0.442957,[test] gAUC: 0.666643 - AUC: 0.744906 - logloss: 0.442957 + 20230602-111440,[command] python run_expid.py --config KuaiShou/APG_DeepFM_kuaivideo_x1/APG_DeepFM_kuaivideo_x1_tuner_config_01 --expid APG_DeepFM_kuaivideo_x1_010_a5167783 --gpu 1,[exp_id] APG_DeepFM_kuaivideo_x1_010_a5167783,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.666541 - AUC: 0.744288 - logloss: 0.442797,[test] gAUC: 0.666541 - AUC: 0.744288 - logloss: 0.442797 + 20230602-111901,[command] python run_expid.py --config KuaiShou/APG_DeepFM_kuaivideo_x1/APG_DeepFM_kuaivideo_x1_tuner_config_01 --expid APG_DeepFM_kuaivideo_x1_012_94430ba9 --gpu 3,[exp_id] APG_DeepFM_kuaivideo_x1_012_94430ba9,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.666495 - AUC: 0.744381 - logloss: 0.442979,[test] gAUC: 0.666495 - AUC: 0.744381 - logloss: 0.442979 + 20230602-111005,[command] python run_expid.py --config KuaiShou/APG_DeepFM_kuaivideo_x1/APG_DeepFM_kuaivideo_x1_tuner_config_01 --expid APG_DeepFM_kuaivideo_x1_005_ab9e42b1 --gpu 4,[exp_id] APG_DeepFM_kuaivideo_x1_005_ab9e42b1,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.666492 - AUC: 0.744704 - logloss: 0.442669,[test] gAUC: 0.666492 - AUC: 0.744704 - logloss: 0.442669 + 20230602-105837,[command] python run_expid.py --config KuaiShou/APG_DeepFM_kuaivideo_x1/APG_DeepFM_kuaivideo_x1_tuner_config_01 --expid APG_DeepFM_kuaivideo_x1_008_ebe12dd5 --gpu 7,[exp_id] APG_DeepFM_kuaivideo_x1_008_ebe12dd5,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.665454 - AUC: 0.744583 - logloss: 0.440734,[test] gAUC: 0.665454 - AUC: 0.744583 - logloss: 0.440734 diff --git a/ranking/ctr/APG/APG_DeepFM_kuaivideo_x1/APG_DeepFM_kuaivideo_x1_tuner_config_01.yaml b/ranking/ctr/APG/APG_DeepFM_kuaivideo_x1/APG_DeepFM_kuaivideo_x1_tuner_config_01.yaml new file mode 100644 index 0000000..7be04de --- /dev/null +++ b/ranking/ctr/APG/APG_DeepFM_kuaivideo_x1/APG_DeepFM_kuaivideo_x1_tuner_config_01.yaml @@ -0,0 +1,61 @@ +base_config: ../model_zoo/APG/config/ +base_expid: APG_DeepFM +dataset_id: kuaivideo_x1 + +dataset_config: + kuaivideo_x1: + data_root: ../data/KuaiShou/ + data_format: csv + train_data: ../data/KuaiShou/KuaiVideo_x1/train.csv + valid_data: ../data/KuaiShou/KuaiVideo_x1/test.csv # no validation data split in original paper + test_data: ../data/KuaiShou/KuaiVideo_x1/test.csv + min_categr_count: 10 + feature_cols: + - {name: group_id, active: True, dtype: int, type: meta, preprocess: "copy_from(user_id)", remap: False} + - {name: user_id, active: True, dtype: str, type: categorical} + - {name: item_id, active: True, dtype: str, type: categorical} + - {name: item_emb, active: True, dtype: str, type: categorical, embedding_dim: 64, preprocess: "copy_from(item_id)", + pretrained_emb: "../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5", min_categr_count: 1} + - {name: pos_items, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, padding: pre, + share_embedding: item_id} + - {name: neg_items, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, padding: pre, + share_embedding: item_id} + - {name: pos_items_emb, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, embedding_dim: 64, + padding: pre, pretrained_emb: "../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5", min_categr_count: 1, + share_embedding: item_emb, preprocess: "copy_from(pos_items)"} + - {name: neg_items_emb, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, embedding_dim: 64, + padding: pre, pretrained_emb: "../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5", min_categr_count: 1, + share_embedding: item_emb, preprocess: "copy_from(neg_items)"} + label_col: {name: is_click, dtype: float} + + +tuner_space: + model_root: './checkpoints/APG_DeepFM_kuaivideo_x1/' + feature_specs: [[ + {name: item_emb, feature_encoder: "nn.Linear(64, 64, bias=False)"}, + {name: pos_items, feature_encoder: "layers.MaskedAveragePooling()"}, + {name: neg_items, feature_encoder: "layers.MaskedAveragePooling()"}, + {name: pos_items_emb, feature_encoder: ["layers.MaskedAveragePooling()", "nn.Linear(64, 64, bias=False)"]}, + {name: neg_items_emb, feature_encoder: ["layers.MaskedAveragePooling()", "nn.Linear(64, 64, bias=False)"]} + ]] + embedding_dim: 64 + hidden_units: [[1024, 512, 256]] + embedding_regularizer: 1.e-4 + net_dropout: 0.1 + batch_norm: False + hypernet_config: + hidden_units: [] + hidden_activations: relu + dropout_rates: 0.1 + condition_features: null + condition_mode: "self-wise" + rank_k: [null, [32, 16, 8], [16, 8, 4]] + overparam_p: [null, [64, 32, 16], [32, 16, 8], [128, 64, 32]] + generate_bias: True + learning_rate: 1.e-3 + batch_size: 8192 + seed: 20222023 + group_id: user_id + metrics: [[gAUC, AUC, logloss]] + monitor: {"gAUC": 1, "AUC": 1} + diff --git a/ranking/ctr/APG/APG_DeepFM_kuaivideo_x1/APG_DeepFM_kuaivideo_x1_tuner_config_01/dataset_config.yaml b/ranking/ctr/APG/APG_DeepFM_kuaivideo_x1/APG_DeepFM_kuaivideo_x1_tuner_config_01/dataset_config.yaml new file mode 100644 index 0000000..b43f0c9 --- /dev/null +++ b/ranking/ctr/APG/APG_DeepFM_kuaivideo_x1/APG_DeepFM_kuaivideo_x1_tuner_config_01/dataset_config.yaml @@ -0,0 +1,26 @@ +kuaivideo_x1_dc7a3035: + data_format: csv + data_root: ../data/KuaiShou/ + feature_cols: + - {active: true, dtype: int, name: group_id, preprocess: copy_from(user_id), remap: false, + type: meta} + - {active: true, dtype: str, name: user_id, type: categorical} + - {active: true, dtype: str, name: item_id, type: categorical} + - {active: true, dtype: str, embedding_dim: 64, min_categr_count: 1, name: item_emb, + preprocess: copy_from(item_id), pretrained_emb: ../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5, + type: categorical} + - {active: true, dtype: str, max_len: 100, name: pos_items, padding: pre, share_embedding: item_id, + splitter: ^, type: sequence} + - {active: true, dtype: str, max_len: 100, name: neg_items, padding: pre, share_embedding: item_id, + splitter: ^, type: sequence} + - {active: true, dtype: str, embedding_dim: 64, max_len: 100, min_categr_count: 1, + name: pos_items_emb, padding: pre, preprocess: copy_from(pos_items), pretrained_emb: ../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5, + share_embedding: item_emb, splitter: ^, type: sequence} + - {active: true, dtype: str, embedding_dim: 64, max_len: 100, min_categr_count: 1, + name: neg_items_emb, padding: pre, preprocess: copy_from(neg_items), pretrained_emb: ../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5, + share_embedding: item_emb, splitter: ^, type: sequence} + label_col: {dtype: float, name: is_click} + min_categr_count: 10 + test_data: ../data/KuaiShou/KuaiVideo_x1/test.csv + train_data: ../data/KuaiShou/KuaiVideo_x1/train.csv + valid_data: ../data/KuaiShou/KuaiVideo_x1/test.csv diff --git a/ranking/ctr/APG/APG_DeepFM_kuaivideo_x1/APG_DeepFM_kuaivideo_x1_tuner_config_01/model_config.yaml b/ranking/ctr/APG/APG_DeepFM_kuaivideo_x1/APG_DeepFM_kuaivideo_x1_tuner_config_01/model_config.yaml new file mode 100644 index 0000000..fd4d4a0 --- /dev/null +++ b/ranking/ctr/APG/APG_DeepFM_kuaivideo_x1/APG_DeepFM_kuaivideo_x1_tuner_config_01/model_config.yaml @@ -0,0 +1,600 @@ +APG_DeepFM_kuaivideo_x1_001_2c068851: + batch_norm: false + batch_size: 8192 + condition_features: null + condition_mode: self-wise + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + generate_bias: true + group_id: user_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: null + pickle_feature_encoder: true + rank_k: null + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_kuaivideo_x1_002_844268b9: + batch_norm: false + batch_size: 8192 + condition_features: null + condition_mode: self-wise + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + generate_bias: true + group_id: user_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: [64, 32, 16] + pickle_feature_encoder: true + rank_k: null + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_kuaivideo_x1_003_ab9e42b1: + batch_norm: false + batch_size: 8192 + condition_features: null + condition_mode: self-wise + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + generate_bias: true + group_id: user_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: [32, 16, 8] + pickle_feature_encoder: true + rank_k: null + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_kuaivideo_x1_004_9ad67997: + batch_norm: false + batch_size: 8192 + condition_features: null + condition_mode: self-wise + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + generate_bias: true + group_id: user_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: [128, 64, 32] + pickle_feature_encoder: true + rank_k: null + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_kuaivideo_x1_005_ab9e42b1: + batch_norm: false + batch_size: 8192 + condition_features: null + condition_mode: self-wise + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + generate_bias: true + group_id: user_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: null + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_kuaivideo_x1_006_c46d6a33: + batch_norm: false + batch_size: 8192 + condition_features: null + condition_mode: self-wise + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + generate_bias: true + group_id: user_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: [64, 32, 16] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_kuaivideo_x1_007_5838d908: + batch_norm: false + batch_size: 8192 + condition_features: null + condition_mode: self-wise + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + generate_bias: true + group_id: user_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: [32, 16, 8] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_kuaivideo_x1_008_ebe12dd5: + batch_norm: false + batch_size: 8192 + condition_features: null + condition_mode: self-wise + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + generate_bias: true + group_id: user_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: [128, 64, 32] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_kuaivideo_x1_009_e30e15b4: + batch_norm: false + batch_size: 8192 + condition_features: null + condition_mode: self-wise + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + generate_bias: true + group_id: user_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: null + pickle_feature_encoder: true + rank_k: [16, 8, 4] + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_kuaivideo_x1_010_a5167783: + batch_norm: false + batch_size: 8192 + condition_features: null + condition_mode: self-wise + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + generate_bias: true + group_id: user_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: [64, 32, 16] + pickle_feature_encoder: true + rank_k: [16, 8, 4] + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_kuaivideo_x1_011_163f472e: + batch_norm: false + batch_size: 8192 + condition_features: null + condition_mode: self-wise + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + generate_bias: true + group_id: user_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: [32, 16, 8] + pickle_feature_encoder: true + rank_k: [16, 8, 4] + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_kuaivideo_x1_012_94430ba9: + batch_norm: false + batch_size: 8192 + condition_features: null + condition_mode: self-wise + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + generate_bias: true + group_id: user_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0.1 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: [128, 64, 32] + pickle_feature_encoder: true + rank_k: [16, 8, 4] + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 diff --git a/ranking/ctr/APG/APG_DeepFM_kuaivideo_x1/README.md b/ranking/ctr/APG/APG_DeepFM_kuaivideo_x1/README.md new file mode 100644 index 0000000..49c6bdf --- /dev/null +++ b/ranking/ctr/APG/APG_DeepFM_kuaivideo_x1/README.md @@ -0,0 +1,217 @@ +## APG_DeepFM_kuaivideo_x1 + +A hands-on guide to run the APG model on the KuaiVideo_x1 dataset. + +Author: [BARS Benchmark](https://github.com/reczoo/BARS/blob/main/CITATION) + + +| [Environments](#Environments) | [Dataset](#Dataset) | [Code](#Code) | [Results](#Results) | [Logs](#Logs) | +|:-----------------------------:|:-----------:|:--------:|:--------:|-------| +### Environments ++ Hardware + + ```python + CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz + GPU: Tesla V100 32G + RAM: 755G + + ``` + ++ Software + + ```python + cuda: 10.2 + python: 3.7.10 + pytorch: 1.11.0 + pandas: 1.1.5 + numpy: 1.19.5 + scipy: 1.5.2 + sklearn: 0.22.1 + pyyaml: 6.0 + h5py: 2.8.0 + tqdm: 4.64.0 + fuxictr: 2.0.3 + + ``` + +### Dataset +Please refer to [KuaiVideo_x1](https://github.com/reczoo/Datasets/tree/main/KuaiShou/KuaiVideo_x1) to get the dataset details. + +### Code + +We use the [APG](https://github.com/reczoo/FuxiCTR/tree/v2.0.3/model_zoo/APG) model code from [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/tree/v2.0.3) for this experiment. + +Running steps: + +1. Download [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/archive/refs/tags/v2.0.3.zip) and install all the dependencies listed in the [environments](#environments). + + ```bash + pip uninstall fuxictr + pip install fuxictr==2.0.3 + ``` + +2. Create a data directory and put the downloaded data files in `../data/KuaiShou/KuaiVideo_x1`. + +3. Both `dataset_config.yaml` and `model_config.yaml` files are available in [APG_DeepFM_kuaivideo_x1_tuner_config_01](./APG_DeepFM_kuaivideo_x1_tuner_config_01). Please make sure that the data paths in `dataset_config.yaml` are correctly set. + +4. Run the following script to start training and evaluation. + + ```bash + cd FuxiCTR/model_zoo/APG + nohup python run_expid.py --config YOUR_PATH/APG/APG_DeepFM_kuaivideo_x1_tuner_config_01 --expid APG_DeepFM_kuaivideo_x1_007_5838d908 --gpu 0 > run.log & + tail -f run.log + ``` + +### Results + +| gAUC | AUC | logloss | +|:--------------------:|:--------------------:|:--------------------:| +| 0.667573 | 0.745036 | 0.441939 | + + +### Logs +```python +2023-06-03 06:32:40,135 P70166 INFO Params: { + "batch_norm": "False", + "batch_size": "8192", + "condition_features": "None", + "condition_mode": "self-wise", + "data_format": "csv", + "data_root": "../data/KuaiShou/", + "dataset_id": "kuaivideo_x1_dc7a3035", + "debug_mode": "False", + "early_stop_patience": "2", + "embedding_dim": "64", + "embedding_regularizer": "0.0001", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'group_id', 'preprocess': 'copy_from(user_id)', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': 'user_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'name': 'item_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'min_categr_count': 1, 'name': 'item_emb', 'preprocess': 'copy_from(item_id)', 'pretrained_emb': '../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'max_len': 100, 'name': 'pos_items', 'padding': 'pre', 'share_embedding': 'item_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 100, 'name': 'neg_items', 'padding': 'pre', 'share_embedding': 'item_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'max_len': 100, 'min_categr_count': 1, 'name': 'pos_items_emb', 'padding': 'pre', 'preprocess': 'copy_from(pos_items)', 'pretrained_emb': '../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5', 'share_embedding': 'item_emb', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'max_len': 100, 'min_categr_count': 1, 'name': 'neg_items_emb', 'padding': 'pre', 'preprocess': 'copy_from(neg_items)', 'pretrained_emb': '../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5', 'share_embedding': 'item_emb', 'splitter': '^', 'type': 'sequence'}]", + "feature_config": "None", + "feature_specs": "[{'feature_encoder': 'nn.Linear(64, 64, bias=False)', 'name': 'item_emb'}, {'feature_encoder': 'layers.MaskedAveragePooling()', 'name': 'pos_items'}, {'feature_encoder': 'layers.MaskedAveragePooling()', 'name': 'neg_items'}, {'feature_encoder': ['layers.MaskedAveragePooling()', 'nn.Linear(64, 64, bias=False)'], 'name': 'pos_items_emb'}, {'feature_encoder': ['layers.MaskedAveragePooling()', 'nn.Linear(64, 64, bias=False)'], 'name': 'neg_items_emb'}]", + "generate_bias": "True", + "gpu": "6", + "group_id": "user_id", + "hidden_activations": "relu", + "hidden_units": "[1024, 512, 256]", + "hypernet_config": "{'dropout_rates': 0.1, 'hidden_activations': 'relu', 'hidden_units': []}", + "label_col": "{'dtype': 'float', 'name': 'is_click'}", + "learning_rate": "0.001", + "loss": "binary_crossentropy", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "10", + "model": "APG_DeepFM", + "model_id": "APG_DeepFM_kuaivideo_x1_007_5838d908", + "model_root": "./checkpoints/APG_DeepFM_kuaivideo_x1/", + "monitor": "{'AUC': 1, 'gAUC': 1}", + "monitor_mode": "max", + "net_dropout": "0.1", + "net_regularizer": "0", + "new_condition_emb": "False", + "num_workers": "3", + "optimizer": "adam", + "overparam_p": "[32, 16, 8]", + "pickle_feature_encoder": "True", + "rank_k": "[32, 16, 8]", + "save_best_only": "True", + "seed": "20222023", + "shuffle": "True", + "task": "binary_classification", + "test_data": "../data/KuaiShou/KuaiVideo_x1/test.csv", + "train_data": "../data/KuaiShou/KuaiVideo_x1/train.csv", + "use_features": "None", + "valid_data": "../data/KuaiShou/KuaiVideo_x1/test.csv", + "verbose": "1" +} +2023-06-03 06:32:40,136 P70166 INFO Set up feature processor... +2023-06-03 06:32:40,136 P70166 WARNING Skip rebuilding ../data/KuaiShou/kuaivideo_x1_dc7a3035/feature_map.json. Please delete it manually if rebuilding is required. +2023-06-03 06:32:40,136 P70166 INFO Load feature_map from json: ../data/KuaiShou/kuaivideo_x1_dc7a3035/feature_map.json +2023-06-03 06:32:40,136 P70166 INFO Set column index... +2023-06-03 06:32:40,137 P70166 INFO Feature specs: { + "group_id": "{'type': 'meta'}", + "item_emb": "{'source': '', 'type': 'categorical', 'embedding_dim': 64, 'pretrained_emb': 'pretrained_emb.h5', 'freeze_emb': True, 'padding_idx': 0, 'oov_idx': 3242316, 'vocab_size': 3242317, 'feature_encoder': 'nn.Linear(64, 64, bias=False)'}", + "item_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 632405, 'vocab_size': 632406}", + "neg_items": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'item_id', 'padding_idx': 0, 'oov_idx': 632405, 'vocab_size': 632406, 'max_len': 100}", + "neg_items_emb": "{'source': '', 'type': 'sequence', 'feature_encoder': ['layers.MaskedAveragePooling()', 'nn.Linear(64, 64, bias=False)'], 'embedding_dim': 64, 'share_embedding': 'item_emb', 'padding_idx': 0, 'oov_idx': 3242316, 'vocab_size': 3242317, 'max_len': 100}", + "pos_items": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'item_id', 'padding_idx': 0, 'oov_idx': 632405, 'vocab_size': 632406, 'max_len': 100}", + "pos_items_emb": "{'source': '', 'type': 'sequence', 'feature_encoder': ['layers.MaskedAveragePooling()', 'nn.Linear(64, 64, bias=False)'], 'embedding_dim': 64, 'share_embedding': 'item_emb', 'padding_idx': 0, 'oov_idx': 3242316, 'vocab_size': 3242317, 'max_len': 100}", + "user_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 10001, 'vocab_size': 10002}" +} +2023-06-03 06:32:49,416 P70166 INFO Total number of parameters: 54712253. +2023-06-03 06:32:49,416 P70166 INFO Loading data... +2023-06-03 06:32:49,416 P70166 INFO Loading data from h5: ../data/KuaiShou/kuaivideo_x1_dc7a3035/train.h5 +2023-06-03 06:33:13,469 P70166 INFO Train samples: total/10931092, blocks/1 +2023-06-03 06:33:13,470 P70166 INFO Loading data from h5: ../data/KuaiShou/kuaivideo_x1_dc7a3035/valid.h5 +2023-06-03 06:33:19,255 P70166 INFO Validation samples: total/2730291, blocks/1 +2023-06-03 06:33:19,256 P70166 INFO Loading train and validation data done. +2023-06-03 06:33:19,256 P70166 INFO Start training: 1335 batches/epoch +2023-06-03 06:33:19,256 P70166 INFO ************ Epoch=1 start ************ +2023-06-03 06:37:25,032 P70166 INFO Train loss: 0.515158 +2023-06-03 06:37:25,033 P70166 INFO Evaluation @epoch 1 - batch 1335: +2023-06-03 06:38:44,085 P70166 INFO [Metrics] AUC: 0.713362 - gAUC: 0.639544 +2023-06-03 06:38:44,087 P70166 INFO Save best model: monitor(max)=1.352906 +2023-06-03 06:38:46,690 P70166 INFO ************ Epoch=1 end ************ +2023-06-03 06:44:04,628 P70166 INFO Train loss: 0.468914 +2023-06-03 06:44:04,631 P70166 INFO Evaluation @epoch 2 - batch 1335: +2023-06-03 06:45:25,534 P70166 INFO [Metrics] AUC: 0.713932 - gAUC: 0.643671 +2023-06-03 06:45:25,538 P70166 INFO Save best model: monitor(max)=1.357603 +2023-06-03 06:45:28,150 P70166 INFO ************ Epoch=2 end ************ +2023-06-03 06:50:42,165 P70166 INFO Train loss: 0.463832 +2023-06-03 06:50:42,165 P70166 INFO Evaluation @epoch 3 - batch 1335: +2023-06-03 06:52:05,910 P70166 INFO [Metrics] AUC: 0.718080 - gAUC: 0.649056 +2023-06-03 06:52:05,912 P70166 INFO Save best model: monitor(max)=1.367135 +2023-06-03 06:52:08,391 P70166 INFO ************ Epoch=3 end ************ +2023-06-03 06:57:30,530 P70166 INFO Train loss: 0.461261 +2023-06-03 06:57:30,531 P70166 INFO Evaluation @epoch 4 - batch 1335: +2023-06-03 06:58:51,402 P70166 INFO [Metrics] AUC: 0.717861 - gAUC: 0.651169 +2023-06-03 06:58:51,405 P70166 INFO Save best model: monitor(max)=1.369030 +2023-06-03 06:58:53,795 P70166 INFO ************ Epoch=4 end ************ +2023-06-03 07:04:09,901 P70166 INFO Train loss: 0.459384 +2023-06-03 07:04:09,906 P70166 INFO Evaluation @epoch 5 - batch 1335: +2023-06-03 07:05:32,094 P70166 INFO [Metrics] AUC: 0.721888 - gAUC: 0.655096 +2023-06-03 07:05:32,099 P70166 INFO Save best model: monitor(max)=1.376984 +2023-06-03 07:05:34,645 P70166 INFO ************ Epoch=5 end ************ +2023-06-03 07:10:48,983 P70166 INFO Train loss: 0.457978 +2023-06-03 07:10:48,984 P70166 INFO Evaluation @epoch 6 - batch 1335: +2023-06-03 07:12:09,711 P70166 INFO [Metrics] AUC: 0.722433 - gAUC: 0.656997 +2023-06-03 07:12:09,713 P70166 INFO Save best model: monitor(max)=1.379430 +2023-06-03 07:12:12,330 P70166 INFO ************ Epoch=6 end ************ +2023-06-03 07:17:25,567 P70166 INFO Train loss: 0.456872 +2023-06-03 07:17:25,572 P70166 INFO Evaluation @epoch 7 - batch 1335: +2023-06-03 07:18:47,539 P70166 INFO [Metrics] AUC: 0.721520 - gAUC: 0.656891 +2023-06-03 07:18:47,540 P70166 INFO Monitor(max)=1.378412 STOP! +2023-06-03 07:18:47,540 P70166 INFO Reduce learning rate on plateau: 0.000100 +2023-06-03 07:18:47,611 P70166 INFO ************ Epoch=7 end ************ +2023-06-03 07:24:06,525 P70166 INFO Train loss: 0.418989 +2023-06-03 07:24:06,526 P70166 INFO Evaluation @epoch 8 - batch 1335: +2023-06-03 07:25:28,575 P70166 INFO [Metrics] AUC: 0.744775 - gAUC: 0.666257 +2023-06-03 07:25:28,576 P70166 INFO Save best model: monitor(max)=1.411032 +2023-06-03 07:25:31,005 P70166 INFO ************ Epoch=8 end ************ +2023-06-03 07:30:30,429 P70166 INFO Train loss: 0.408809 +2023-06-03 07:30:30,429 P70166 INFO Evaluation @epoch 9 - batch 1335: +2023-06-03 07:31:43,647 P70166 INFO [Metrics] AUC: 0.745036 - gAUC: 0.667573 +2023-06-03 07:31:43,649 P70166 INFO Save best model: monitor(max)=1.412609 +2023-06-03 07:31:45,961 P70166 INFO ************ Epoch=9 end ************ +2023-06-03 07:36:21,724 P70166 INFO Train loss: 0.403375 +2023-06-03 07:36:21,724 P70166 INFO Evaluation @epoch 10 - batch 1335: +2023-06-03 07:37:32,543 P70166 INFO [Metrics] AUC: 0.744316 - gAUC: 0.667522 +2023-06-03 07:37:32,547 P70166 INFO Monitor(max)=1.411838 STOP! +2023-06-03 07:37:32,547 P70166 INFO Reduce learning rate on plateau: 0.000010 +2023-06-03 07:37:32,608 P70166 INFO ************ Epoch=10 end ************ +2023-06-03 07:41:28,141 P70166 INFO Train loss: 0.388930 +2023-06-03 07:41:28,142 P70166 INFO Evaluation @epoch 11 - batch 1335: +2023-06-03 07:42:10,860 P70166 INFO [Metrics] AUC: 0.742410 - gAUC: 0.665792 +2023-06-03 07:42:10,863 P70166 INFO Monitor(max)=1.408203 STOP! +2023-06-03 07:42:10,863 P70166 INFO Reduce learning rate on plateau: 0.000001 +2023-06-03 07:42:10,863 P70166 INFO ********* Epoch==11 early stop ********* +2023-06-03 07:42:10,941 P70166 INFO Training finished. +2023-06-03 07:42:10,941 P70166 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/APG_DeepFM_kuaivideo_x1/kuaivideo_x1_dc7a3035/APG_DeepFM_kuaivideo_x1_007_5838d908.model +2023-06-03 07:42:11,898 P70166 INFO ****** Validation evaluation ****** +2023-06-03 07:42:59,597 P70166 INFO [Metrics] gAUC: 0.667573 - AUC: 0.745036 - logloss: 0.441939 +2023-06-03 07:42:59,779 P70166 INFO ******** Test evaluation ******** +2023-06-03 07:42:59,779 P70166 INFO Loading data... +2023-06-03 07:42:59,779 P70166 INFO Loading data from h5: ../data/KuaiShou/kuaivideo_x1_dc7a3035/test.h5 +2023-06-03 07:43:06,513 P70166 INFO Test samples: total/2730291, blocks/1 +2023-06-03 07:43:06,513 P70166 INFO Loading test data done. +2023-06-03 07:43:54,144 P70166 INFO [Metrics] gAUC: 0.667573 - AUC: 0.745036 - logloss: 0.441939 + +``` diff --git a/ranking/ctr/APG/APG_DeepFM_kuaivideo_x1/environments.txt b/ranking/ctr/APG/APG_DeepFM_kuaivideo_x1/environments.txt new file mode 100644 index 0000000..a39d234 --- /dev/null +++ b/ranking/ctr/APG/APG_DeepFM_kuaivideo_x1/environments.txt @@ -0,0 +1,17 @@ +[Hardware] +CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz +GPU: Tesla V100 32G +RAM: 755G + +[Software] +cuda: 10.2 +python: 3.7.10 +pytorch: 1.11.0 +pandas: 1.1.5 +numpy: 1.19.5 +scipy: 1.5.2 +sklearn: 0.22.1 +pyyaml: 6.0 +h5py: 2.8.0 +tqdm: 4.64.0 +fuxictr: 2.0.3 diff --git a/ranking/ctr/APG/APG_DeepFM_kuaivideo_x1/results.csv b/ranking/ctr/APG/APG_DeepFM_kuaivideo_x1/results.csv new file mode 100644 index 0000000..2f481ac --- /dev/null +++ b/ranking/ctr/APG/APG_DeepFM_kuaivideo_x1/results.csv @@ -0,0 +1 @@ + 20230602-111351,[command] python run_expid.py --config KuaiShou/APG_DeepFM_kuaivideo_x1/APG_DeepFM_kuaivideo_x1_tuner_config_01 --expid APG_DeepFM_kuaivideo_x1_007_5838d908 --gpu 6,[exp_id] APG_DeepFM_kuaivideo_x1_007_5838d908,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.667573 - AUC: 0.745036 - logloss: 0.441939,[test] gAUC: 0.667573 - AUC: 0.745036 - logloss: 0.441939 diff --git a/ranking/ctr/APG/APG_DeepFM_microvideo1.7m_x1/APG_DeepFM_microvideo1.7m_x1_023_d3a3ee84.log b/ranking/ctr/APG/APG_DeepFM_microvideo1.7m_x1/APG_DeepFM_microvideo1.7m_x1_023_d3a3ee84.log new file mode 100644 index 0000000..6f1b307 --- /dev/null +++ b/ranking/ctr/APG/APG_DeepFM_microvideo1.7m_x1/APG_DeepFM_microvideo1.7m_x1_023_d3a3ee84.log @@ -0,0 +1,160 @@ +2023-06-04 08:27:58,069 P83006 INFO Params: { + "batch_norm": "True", + "batch_size": "2048", + "condition_features": "None", + "condition_mode": "self-wise", + "data_format": "csv", + "data_root": "../data/MicroVideo1.7M/", + "dataset_id": "microvideo1.7m_x1_0d855fe6", + "debug_mode": "False", + "early_stop_patience": "2", + "embedding_dim": "64", + "embedding_regularizer": "0.0005", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'group_id', 'preprocess': 'copy_from(user_id)', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': 'user_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'name': 'item_id', 'pretrained_emb': '../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'name': 'cate_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'max_len': 100, 'name': 'clicked_items', 'padding': 'pre', 'pretrained_emb': '../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 100, 'name': 'clicked_categories', 'padding': 'pre', 'share_embedding': 'cate_id', 'splitter': '^', 'type': 'sequence'}, {'active': False, 'dtype': 'str', 'name': 'timestamp', 'type': 'categorical'}]", + "feature_config": "None", + "feature_specs": "[{'feature_encoder': 'nn.Linear(64, 64, bias=False)', 'name': 'item_id'}, {'feature_encoder': ['layers.MaskedAveragePooling()', 'nn.Linear(64, 64, bias=False)'], 'name': 'clicked_items'}, {'feature_encoder': 'layers.MaskedAveragePooling()', 'name': 'clicked_categories'}]", + "generate_bias": "True", + "gpu": "4", + "group_id": "group_id", + "hidden_activations": "relu", + "hidden_units": "[1024, 512, 256]", + "hypernet_config": "{'dropout_rates': 0, 'hidden_activations': 'relu', 'hidden_units': []}", + "label_col": "{'dtype': 'float', 'name': 'is_click'}", + "learning_rate": "0.0005", + "loss": "binary_crossentropy", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "1", + "model": "APG_DeepFM", + "model_id": "APG_DeepFM_microvideo1.7m_x1_023_d3a3ee84", + "model_root": "./checkpoints/APG_DeepFM_microvideo1.7m_x1/", + "monitor": "{'AUC': 1, 'gAUC': 1}", + "monitor_mode": "max", + "net_dropout": "0.3", + "net_regularizer": "0", + "new_condition_emb": "False", + "num_workers": "3", + "optimizer": "adam", + "overparam_p": "[32, 16, 8]", + "pickle_feature_encoder": "True", + "rank_k": "[16, 8, 4]", + "save_best_only": "True", + "seed": "2022", + "shuffle": "True", + "task": "binary_classification", + "test_data": "../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv", + "train_data": "../data/MicroVideo1.7M/MicroVideo1.7M_x1/train.csv", + "use_features": "None", + "valid_data": "../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv", + "verbose": "1" +} +2023-06-04 08:27:58,070 P83006 INFO Set up feature processor... +2023-06-04 08:27:58,071 P83006 WARNING Skip rebuilding ../data/MicroVideo1.7M/microvideo1.7m_x1_0d855fe6/feature_map.json. Please delete it manually if rebuilding is required. +2023-06-04 08:27:58,071 P83006 INFO Load feature_map from json: ../data/MicroVideo1.7M/microvideo1.7m_x1_0d855fe6/feature_map.json +2023-06-04 08:27:58,071 P83006 INFO Set column index... +2023-06-04 08:27:58,071 P83006 INFO Feature specs: { + "cate_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 513, 'vocab_size': 514}", + "clicked_categories": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'cate_id', 'padding_idx': 0, 'oov_idx': 513, 'vocab_size': 514, 'max_len': 100}", + "clicked_items": "{'source': '', 'type': 'sequence', 'feature_encoder': ['layers.MaskedAveragePooling()', 'nn.Linear(64, 64, bias=False)'], 'embedding_dim': 64, 'pretrained_emb': 'pretrained_emb.h5', 'freeze_emb': True, 'padding_idx': 0, 'oov_idx': 1704881, 'vocab_size': 1704882, 'max_len': 100}", + "group_id": "{'type': 'meta'}", + "item_id": "{'source': '', 'type': 'categorical', 'embedding_dim': 64, 'pretrained_emb': 'pretrained_emb.h5', 'freeze_emb': True, 'padding_idx': 0, 'oov_idx': 1704881, 'vocab_size': 1704882, 'feature_encoder': 'nn.Linear(64, 64, bias=False)'}", + "user_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 10987, 'vocab_size': 10988}" +} +2023-06-04 08:28:04,388 P83006 INFO Total number of parameters: 5385830. +2023-06-04 08:28:04,388 P83006 INFO Loading data... +2023-06-04 08:28:04,389 P83006 INFO Loading data from h5: ../data/MicroVideo1.7M/microvideo1.7m_x1_0d855fe6/train.h5 +2023-06-04 08:28:15,634 P83006 INFO Train samples: total/8970309, blocks/1 +2023-06-04 08:28:15,634 P83006 INFO Loading data from h5: ../data/MicroVideo1.7M/microvideo1.7m_x1_0d855fe6/valid.h5 +2023-06-04 08:28:20,008 P83006 INFO Validation samples: total/3767308, blocks/1 +2023-06-04 08:28:20,009 P83006 INFO Loading train and validation data done. +2023-06-04 08:28:20,009 P83006 INFO Start training: 4381 batches/epoch +2023-06-04 08:28:20,009 P83006 INFO ************ Epoch=1 start ************ +2023-06-04 08:36:28,345 P83006 INFO Train loss: 0.482970 +2023-06-04 08:36:28,346 P83006 INFO Evaluation @epoch 1 - batch 4381: +2023-06-04 08:40:00,947 P83006 INFO [Metrics] AUC: 0.715466 - gAUC: 0.670076 +2023-06-04 08:40:00,948 P83006 INFO Save best model: monitor(max)=1.385543 +2023-06-04 08:40:02,615 P83006 INFO ************ Epoch=1 end ************ +2023-06-04 08:48:11,283 P83006 INFO Train loss: 0.447571 +2023-06-04 08:48:11,283 P83006 INFO Evaluation @epoch 2 - batch 4381: +2023-06-04 08:51:42,963 P83006 INFO [Metrics] AUC: 0.718113 - gAUC: 0.671582 +2023-06-04 08:51:42,963 P83006 INFO Save best model: monitor(max)=1.389695 +2023-06-04 08:51:44,946 P83006 INFO ************ Epoch=2 end ************ +2023-06-04 08:59:50,328 P83006 INFO Train loss: 0.441891 +2023-06-04 08:59:50,329 P83006 INFO Evaluation @epoch 3 - batch 4381: +2023-06-04 09:03:23,299 P83006 INFO [Metrics] AUC: 0.721060 - gAUC: 0.674756 +2023-06-04 09:03:23,300 P83006 INFO Save best model: monitor(max)=1.395816 +2023-06-04 09:03:25,285 P83006 INFO ************ Epoch=3 end ************ +2023-06-04 09:11:34,532 P83006 INFO Train loss: 0.439808 +2023-06-04 09:11:34,532 P83006 INFO Evaluation @epoch 4 - batch 4381: +2023-06-04 09:15:10,786 P83006 INFO [Metrics] AUC: 0.722097 - gAUC: 0.675894 +2023-06-04 09:15:10,788 P83006 INFO Save best model: monitor(max)=1.397991 +2023-06-04 09:15:12,915 P83006 INFO ************ Epoch=4 end ************ +2023-06-04 09:23:42,238 P83006 INFO Train loss: 0.438220 +2023-06-04 09:23:42,238 P83006 INFO Evaluation @epoch 5 - batch 4381: +2023-06-04 09:27:13,623 P83006 INFO [Metrics] AUC: 0.722427 - gAUC: 0.676863 +2023-06-04 09:27:13,624 P83006 INFO Save best model: monitor(max)=1.399290 +2023-06-04 09:27:15,851 P83006 INFO ************ Epoch=5 end ************ +2023-06-04 09:35:33,393 P83006 INFO Train loss: 0.437070 +2023-06-04 09:35:33,393 P83006 INFO Evaluation @epoch 6 - batch 4381: +2023-06-04 09:39:02,513 P83006 INFO [Metrics] AUC: 0.723779 - gAUC: 0.676865 +2023-06-04 09:39:02,514 P83006 INFO Save best model: monitor(max)=1.400644 +2023-06-04 09:39:04,562 P83006 INFO ************ Epoch=6 end ************ +2023-06-04 09:47:12,506 P83006 INFO Train loss: 0.436184 +2023-06-04 09:47:12,507 P83006 INFO Evaluation @epoch 7 - batch 4381: +2023-06-04 09:50:28,773 P83006 INFO [Metrics] AUC: 0.724318 - gAUC: 0.677541 +2023-06-04 09:50:28,774 P83006 INFO Save best model: monitor(max)=1.401859 +2023-06-04 09:50:30,795 P83006 INFO ************ Epoch=7 end ************ +2023-06-04 09:57:46,890 P83006 INFO Train loss: 0.435608 +2023-06-04 09:57:46,890 P83006 INFO Evaluation @epoch 8 - batch 4381: +2023-06-04 10:00:55,569 P83006 INFO [Metrics] AUC: 0.724735 - gAUC: 0.677620 +2023-06-04 10:00:55,570 P83006 INFO Save best model: monitor(max)=1.402355 +2023-06-04 10:00:57,722 P83006 INFO ************ Epoch=8 end ************ +2023-06-04 10:08:16,101 P83006 INFO Train loss: 0.435144 +2023-06-04 10:08:16,102 P83006 INFO Evaluation @epoch 9 - batch 4381: +2023-06-04 10:10:04,354 P83006 INFO [Metrics] AUC: 0.725101 - gAUC: 0.677391 +2023-06-04 10:10:04,355 P83006 INFO Save best model: monitor(max)=1.402492 +2023-06-04 10:10:06,383 P83006 INFO ************ Epoch=9 end ************ +2023-06-04 10:14:14,665 P83006 INFO Train loss: 0.434660 +2023-06-04 10:14:14,665 P83006 INFO Evaluation @epoch 10 - batch 4381: +2023-06-04 10:15:42,830 P83006 INFO [Metrics] AUC: 0.725838 - gAUC: 0.679802 +2023-06-04 10:15:42,831 P83006 INFO Save best model: monitor(max)=1.405640 +2023-06-04 10:15:44,850 P83006 INFO ************ Epoch=10 end ************ +2023-06-04 10:18:46,719 P83006 INFO Train loss: 0.434219 +2023-06-04 10:18:46,719 P83006 INFO Evaluation @epoch 11 - batch 4381: +2023-06-04 10:20:03,940 P83006 INFO [Metrics] AUC: 0.725347 - gAUC: 0.677700 +2023-06-04 10:20:03,941 P83006 INFO Monitor(max)=1.403047 STOP! +2023-06-04 10:20:03,941 P83006 INFO Reduce learning rate on plateau: 0.000050 +2023-06-04 10:20:04,002 P83006 INFO ************ Epoch=11 end ************ +2023-06-04 10:22:49,099 P83006 INFO Train loss: 0.420980 +2023-06-04 10:22:49,099 P83006 INFO Evaluation @epoch 12 - batch 4381: +2023-06-04 10:23:21,470 P83006 INFO [Metrics] AUC: 0.731869 - gAUC: 0.683051 +2023-06-04 10:23:21,471 P83006 INFO Save best model: monitor(max)=1.414920 +2023-06-04 10:23:23,454 P83006 INFO ************ Epoch=12 end ************ +2023-06-04 10:25:20,841 P83006 INFO Train loss: 0.415281 +2023-06-04 10:25:20,841 P83006 INFO Evaluation @epoch 13 - batch 4381: +2023-06-04 10:25:48,279 P83006 INFO [Metrics] AUC: 0.732537 - gAUC: 0.683198 +2023-06-04 10:25:48,280 P83006 INFO Save best model: monitor(max)=1.415735 +2023-06-04 10:25:50,236 P83006 INFO ************ Epoch=13 end ************ +2023-06-04 10:27:15,878 P83006 INFO Train loss: 0.413059 +2023-06-04 10:27:15,879 P83006 INFO Evaluation @epoch 14 - batch 4381: +2023-06-04 10:27:37,123 P83006 INFO [Metrics] AUC: 0.732248 - gAUC: 0.683211 +2023-06-04 10:27:37,123 P83006 INFO Monitor(max)=1.415459 STOP! +2023-06-04 10:27:37,124 P83006 INFO Reduce learning rate on plateau: 0.000005 +2023-06-04 10:27:37,196 P83006 INFO ************ Epoch=14 end ************ +2023-06-04 10:29:04,390 P83006 INFO Train loss: 0.408256 +2023-06-04 10:29:04,390 P83006 INFO Evaluation @epoch 15 - batch 4381: +2023-06-04 10:29:25,730 P83006 INFO [Metrics] AUC: 0.732236 - gAUC: 0.683034 +2023-06-04 10:29:25,731 P83006 INFO Monitor(max)=1.415270 STOP! +2023-06-04 10:29:25,731 P83006 INFO Reduce learning rate on plateau: 0.000001 +2023-06-04 10:29:25,731 P83006 INFO ********* Epoch==15 early stop ********* +2023-06-04 10:29:25,800 P83006 INFO Training finished. +2023-06-04 10:29:25,800 P83006 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/APG_DeepFM_microvideo1.7m_x1/microvideo1.7m_x1_0d855fe6/APG_DeepFM_microvideo1.7m_x1_023_d3a3ee84.model +2023-06-04 10:29:26,302 P83006 INFO ****** Validation evaluation ****** +2023-06-04 10:29:49,143 P83006 INFO [Metrics] gAUC: 0.683198 - AUC: 0.732537 - logloss: 0.413739 +2023-06-04 10:29:49,222 P83006 INFO ******** Test evaluation ******** +2023-06-04 10:29:49,222 P83006 INFO Loading data... +2023-06-04 10:29:49,223 P83006 INFO Loading data from h5: ../data/MicroVideo1.7M/microvideo1.7m_x1_0d855fe6/test.h5 +2023-06-04 10:29:53,364 P83006 INFO Test samples: total/3767308, blocks/1 +2023-06-04 10:29:53,364 P83006 INFO Loading test data done. +2023-06-04 10:30:15,260 P83006 INFO [Metrics] gAUC: 0.683198 - AUC: 0.732537 - logloss: 0.413739 diff --git a/ranking/ctr/APG/APG_DeepFM_microvideo1.7m_x1/APG_DeepFM_microvideo1.7m_x1_tuner_config_01.csv b/ranking/ctr/APG/APG_DeepFM_microvideo1.7m_x1/APG_DeepFM_microvideo1.7m_x1_tuner_config_01.csv new file mode 100644 index 0000000..25b07a5 --- /dev/null +++ b/ranking/ctr/APG/APG_DeepFM_microvideo1.7m_x1/APG_DeepFM_microvideo1.7m_x1_tuner_config_01.csv @@ -0,0 +1,16 @@ + 20230604-103015,[command] python run_expid.py --config MicroVideo1.7M/APG_DeepFM_microvideo1.7m_x1/APG_DeepFM_microvideo1.7m_x1_tuner_config_01 --expid APG_DeepFM_microvideo1.7m_x1_023_d3a3ee84 --gpu 4,[exp_id] APG_DeepFM_microvideo1.7m_x1_023_d3a3ee84,[dataset_id] microvideo1.7m_x1_0d855fe6,[train] N.A.,[val] gAUC: 0.683198 - AUC: 0.732537 - logloss: 0.413739,[test] gAUC: 0.683198 - AUC: 0.732537 - logloss: 0.413739 + 20230604-090314,[command] python run_expid.py --config MicroVideo1.7M/APG_DeepFM_microvideo1.7m_x1/APG_DeepFM_microvideo1.7m_x1_tuner_config_01 --expid APG_DeepFM_microvideo1.7m_x1_011_67aee4b7 --gpu 2,[exp_id] APG_DeepFM_microvideo1.7m_x1_011_67aee4b7,[dataset_id] microvideo1.7m_x1_0d855fe6,[train] N.A.,[val] gAUC: 0.682968 - AUC: 0.732218 - logloss: 0.414632,[test] gAUC: 0.682968 - AUC: 0.732218 - logloss: 0.414632 + 20230604-102538,[command] python run_expid.py --config MicroVideo1.7M/APG_DeepFM_microvideo1.7m_x1/APG_DeepFM_microvideo1.7m_x1_tuner_config_01 --expid APG_DeepFM_microvideo1.7m_x1_021_3c2bc4cc --gpu 5,[exp_id] APG_DeepFM_microvideo1.7m_x1_021_3c2bc4cc,[dataset_id] microvideo1.7m_x1_0d855fe6,[train] N.A.,[val] gAUC: 0.682528 - AUC: 0.731847 - logloss: 0.412827,[test] gAUC: 0.682528 - AUC: 0.731847 - logloss: 0.412827 + 20230604-081439,[command] python run_expid.py --config MicroVideo1.7M/APG_DeepFM_microvideo1.7m_x1/APG_DeepFM_microvideo1.7m_x1_tuner_config_01 --expid APG_DeepFM_microvideo1.7m_x1_006_6c4a9a11 --gpu 5,[exp_id] APG_DeepFM_microvideo1.7m_x1_006_6c4a9a11,[dataset_id] microvideo1.7m_x1_0d855fe6,[train] N.A.,[val] gAUC: 0.682284 - AUC: 0.731644 - logloss: 0.414474,[test] gAUC: 0.682284 - AUC: 0.731644 - logloss: 0.414474 + 20230604-075338,[command] python run_expid.py --config MicroVideo1.7M/APG_DeepFM_microvideo1.7m_x1/APG_DeepFM_microvideo1.7m_x1_tuner_config_01 --expid APG_DeepFM_microvideo1.7m_x1_010_eca5e23b --gpu 1,[exp_id] APG_DeepFM_microvideo1.7m_x1_010_eca5e23b,[dataset_id] microvideo1.7m_x1_0d855fe6,[train] N.A.,[val] gAUC: 0.682106 - AUC: 0.731347 - logloss: 0.412549,[test] gAUC: 0.682106 - AUC: 0.731347 - logloss: 0.412549 + 20230604-081725,[command] python run_expid.py --config MicroVideo1.7M/APG_DeepFM_microvideo1.7m_x1/APG_DeepFM_microvideo1.7m_x1_tuner_config_01 --expid APG_DeepFM_microvideo1.7m_x1_007_651e0cac --gpu 6,[exp_id] APG_DeepFM_microvideo1.7m_x1_007_651e0cac,[dataset_id] microvideo1.7m_x1_0d855fe6,[train] N.A.,[val] gAUC: 0.681968 - AUC: 0.731545 - logloss: 0.414336,[test] gAUC: 0.681968 - AUC: 0.731545 - logloss: 0.414336 + 20230604-101459,[command] python run_expid.py --config MicroVideo1.7M/APG_DeepFM_microvideo1.7m_x1/APG_DeepFM_microvideo1.7m_x1_tuner_config_01 --expid APG_DeepFM_microvideo1.7m_x1_017_af1e7d5d --gpu 3,[exp_id] APG_DeepFM_microvideo1.7m_x1_017_af1e7d5d,[dataset_id] microvideo1.7m_x1_0d855fe6,[train] N.A.,[val] gAUC: 0.681909 - AUC: 0.731526 - logloss: 0.415215,[test] gAUC: 0.681909 - AUC: 0.731526 - logloss: 0.415215 + 20230604-100822,[command] python run_expid.py --config MicroVideo1.7M/APG_DeepFM_microvideo1.7m_x1/APG_DeepFM_microvideo1.7m_x1_tuner_config_01 --expid APG_DeepFM_microvideo1.7m_x1_018_cc3a0322 --gpu 7,[exp_id] APG_DeepFM_microvideo1.7m_x1_018_cc3a0322,[dataset_id] microvideo1.7m_x1_0d855fe6,[train] N.A.,[val] gAUC: 0.681900 - AUC: 0.731436 - logloss: 0.414167,[test] gAUC: 0.681900 - AUC: 0.731436 - logloss: 0.414167 + 20230604-082752,[command] python run_expid.py --config MicroVideo1.7M/APG_DeepFM_microvideo1.7m_x1/APG_DeepFM_microvideo1.7m_x1_tuner_config_01 --expid APG_DeepFM_microvideo1.7m_x1_005_9d903fd1 --gpu 4,[exp_id] APG_DeepFM_microvideo1.7m_x1_005_9d903fd1,[dataset_id] microvideo1.7m_x1_0d855fe6,[train] N.A.,[val] gAUC: 0.681820 - AUC: 0.731550 - logloss: 0.416202,[test] gAUC: 0.681820 - AUC: 0.731550 - logloss: 0.416202 + 20230604-075231,[command] python run_expid.py --config MicroVideo1.7M/APG_DeepFM_microvideo1.7m_x1/APG_DeepFM_microvideo1.7m_x1_tuner_config_01 --expid APG_DeepFM_microvideo1.7m_x1_009_8e9648d3 --gpu 0,[exp_id] APG_DeepFM_microvideo1.7m_x1_009_8e9648d3,[dataset_id] microvideo1.7m_x1_0d855fe6,[train] N.A.,[val] gAUC: 0.681755 - AUC: 0.731357 - logloss: 0.412509,[test] gAUC: 0.681755 - AUC: 0.731357 - logloss: 0.412509 + 20230604-074124,[command] python run_expid.py --config MicroVideo1.7M/APG_DeepFM_microvideo1.7m_x1/APG_DeepFM_microvideo1.7m_x1_tuner_config_01 --expid APG_DeepFM_microvideo1.7m_x1_012_8c0f062d --gpu 3,[exp_id] APG_DeepFM_microvideo1.7m_x1_012_8c0f062d,[dataset_id] microvideo1.7m_x1_0d855fe6,[train] N.A.,[val] gAUC: 0.681549 - AUC: 0.730803 - logloss: 0.411542,[test] gAUC: 0.681549 - AUC: 0.730803 - logloss: 0.411542 + 20230604-100842,[command] python run_expid.py --config MicroVideo1.7M/APG_DeepFM_microvideo1.7m_x1/APG_DeepFM_microvideo1.7m_x1_tuner_config_01 --expid APG_DeepFM_microvideo1.7m_x1_019_bd1d0534 --gpu 0,[exp_id] APG_DeepFM_microvideo1.7m_x1_019_bd1d0534,[dataset_id] microvideo1.7m_x1_0d855fe6,[train] N.A.,[val] gAUC: 0.681410 - AUC: 0.731205 - logloss: 0.413619,[test] gAUC: 0.681410 - AUC: 0.731205 - logloss: 0.413619 + 20230604-100711,[command] python run_expid.py --config MicroVideo1.7M/APG_DeepFM_microvideo1.7m_x1/APG_DeepFM_microvideo1.7m_x1_tuner_config_01 --expid APG_DeepFM_microvideo1.7m_x1_022_c9ea30b2 --gpu 6,[exp_id] APG_DeepFM_microvideo1.7m_x1_022_c9ea30b2,[dataset_id] microvideo1.7m_x1_0d855fe6,[train] N.A.,[val] gAUC: 0.681352 - AUC: 0.730726 - logloss: 0.412115,[test] gAUC: 0.681352 - AUC: 0.730726 - logloss: 0.412115 + 20230604-094810,[command] python run_expid.py --config MicroVideo1.7M/APG_DeepFM_microvideo1.7m_x1/APG_DeepFM_microvideo1.7m_x1_tuner_config_01 --expid APG_DeepFM_microvideo1.7m_x1_020_b47ffd57 --gpu 1,[exp_id] APG_DeepFM_microvideo1.7m_x1_020_b47ffd57,[dataset_id] microvideo1.7m_x1_0d855fe6,[train] N.A.,[val] gAUC: 0.680857 - AUC: 0.730756 - logloss: 0.412141,[test] gAUC: 0.680857 - AUC: 0.730756 - logloss: 0.412141 + 20230604-102223,[command] python run_expid.py --config MicroVideo1.7M/APG_DeepFM_microvideo1.7m_x1/APG_DeepFM_microvideo1.7m_x1_tuner_config_01 --expid APG_DeepFM_microvideo1.7m_x1_024_c6cb4fa0 --gpu 2,[exp_id] APG_DeepFM_microvideo1.7m_x1_024_c6cb4fa0,[dataset_id] microvideo1.7m_x1_0d855fe6,[train] N.A.,[val] gAUC: 0.680806 - AUC: 0.730309 - logloss: 0.411413,[test] gAUC: 0.680806 - AUC: 0.730309 - logloss: 0.411413 + 20230604-075213,[command] python run_expid.py --config MicroVideo1.7M/APG_DeepFM_microvideo1.7m_x1/APG_DeepFM_microvideo1.7m_x1_tuner_config_01 --expid APG_DeepFM_microvideo1.7m_x1_008_5ea39f78 --gpu 7,[exp_id] APG_DeepFM_microvideo1.7m_x1_008_5ea39f78,[dataset_id] microvideo1.7m_x1_0d855fe6,[train] N.A.,[val] gAUC: 0.680293 - AUC: 0.730547 - logloss: 0.412640,[test] gAUC: 0.680293 - AUC: 0.730547 - logloss: 0.412640 diff --git a/ranking/ctr/APG/APG_DeepFM_microvideo1.7m_x1/APG_DeepFM_microvideo1.7m_x1_tuner_config_01.yaml b/ranking/ctr/APG/APG_DeepFM_microvideo1.7m_x1/APG_DeepFM_microvideo1.7m_x1_tuner_config_01.yaml new file mode 100644 index 0000000..c91fe78 --- /dev/null +++ b/ranking/ctr/APG/APG_DeepFM_microvideo1.7m_x1/APG_DeepFM_microvideo1.7m_x1_tuner_config_01.yaml @@ -0,0 +1,54 @@ +base_config: ../model_zoo/APG/config/ +base_expid: APG_DeepFM +dataset_id: microvideo1.7m_x1 + +dataset_config: + microvideo1.7m_x1: + data_root: ../data/MicroVideo1.7M/ + data_format: csv + train_data: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/train.csv + valid_data: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv # no validation data split in original paper + test_data: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv + min_categr_count: 1 + feature_cols: + - {name: group_id, active: True, dtype: int, type: meta, preprocess: "copy_from(user_id)", remap: False} + - {name: user_id, active: True, dtype: str, type: categorical} + - {name: item_id, active: True, dtype: str, type: categorical, embedding_dim: 64, + pretrained_emb: "../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5"} + - {name: cate_id, active: True, dtype: str, type: categorical} + - {name: clicked_items, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, embedding_dim: 64, + padding: pre, pretrained_emb: "../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5"} + - {name: clicked_categories, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, padding: pre, + share_embedding: cate_id} + - {name: timestamp, active: False, dtype: str, type: categorical} + label_col: {name: is_click, dtype: float} + + +tuner_space: + model_root: './checkpoints/APG_DeepFM_microvideo1.7m_x1/' + feature_specs: [[ + {name: item_id, feature_encoder: "nn.Linear(64, 64, bias=False)"}, + {name: clicked_items, feature_encoder: ["layers.MaskedAveragePooling()", "nn.Linear(64, 64, bias=False)"]}, + {name: clicked_categories, feature_encoder: "layers.MaskedAveragePooling()"} + ]] + embedding_dim: 64 + hidden_units: [[1024, 512, 256]] + embedding_regularizer: 5.e-4 + net_dropout: [0.2, 0.3] + batch_norm: True + hypernet_config: + hidden_units: [] + hidden_activations: relu + dropout_rates: 0 + condition_features: null + condition_mode: "self-wise" + rank_k: [null, [32, 16, 8], [16, 8, 4]] + overparam_p: [null, [64, 32, 16], [32, 16, 8], [128, 64, 32]] + generate_bias: True + learning_rate: 5.e-4 + batch_size: 2048 + seed: 2022 + group_id: group_id + metrics: [[gAUC, AUC, logloss]] + monitor: {"gAUC": 1, "AUC": 1} + diff --git a/ranking/ctr/APG/APG_DeepFM_microvideo1.7m_x1/APG_DeepFM_microvideo1.7m_x1_tuner_config_01/dataset_config.yaml b/ranking/ctr/APG/APG_DeepFM_microvideo1.7m_x1/APG_DeepFM_microvideo1.7m_x1_tuner_config_01/dataset_config.yaml new file mode 100644 index 0000000..5ea90a8 --- /dev/null +++ b/ranking/ctr/APG/APG_DeepFM_microvideo1.7m_x1/APG_DeepFM_microvideo1.7m_x1_tuner_config_01/dataset_config.yaml @@ -0,0 +1,21 @@ +microvideo1.7m_x1_0d855fe6: + data_format: csv + data_root: ../data/MicroVideo1.7M/ + feature_cols: + - {active: true, dtype: int, name: group_id, preprocess: copy_from(user_id), remap: false, + type: meta} + - {active: true, dtype: str, name: user_id, type: categorical} + - {active: true, dtype: str, embedding_dim: 64, name: item_id, pretrained_emb: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5, + type: categorical} + - {active: true, dtype: str, name: cate_id, type: categorical} + - {active: true, dtype: str, embedding_dim: 64, max_len: 100, name: clicked_items, + padding: pre, pretrained_emb: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5, + splitter: ^, type: sequence} + - {active: true, dtype: str, max_len: 100, name: clicked_categories, padding: pre, + share_embedding: cate_id, splitter: ^, type: sequence} + - {active: false, dtype: str, name: timestamp, type: categorical} + label_col: {dtype: float, name: is_click} + min_categr_count: 1 + test_data: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv + train_data: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/train.csv + valid_data: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv diff --git a/ranking/ctr/APG/APG_DeepFM_microvideo1.7m_x1/APG_DeepFM_microvideo1.7m_x1_tuner_config_01/model_config.yaml b/ranking/ctr/APG/APG_DeepFM_microvideo1.7m_x1/APG_DeepFM_microvideo1.7m_x1_tuner_config_01/model_config.yaml new file mode 100644 index 0000000..2a50194 --- /dev/null +++ b/ranking/ctr/APG/APG_DeepFM_microvideo1.7m_x1/APG_DeepFM_microvideo1.7m_x1_tuner_config_01/model_config.yaml @@ -0,0 +1,1128 @@ +APG_DeepFM_microvideo1.7m_x1_001_69ed3481: + batch_norm: true + batch_size: 2048 + condition_features: null + condition_mode: self-wise + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + generate_bias: true + group_id: group_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.2 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: null + pickle_feature_encoder: true + rank_k: null + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_microvideo1.7m_x1_002_745feeb2: + batch_norm: true + batch_size: 2048 + condition_features: null + condition_mode: self-wise + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + generate_bias: true + group_id: group_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.2 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: [64, 32, 16] + pickle_feature_encoder: true + rank_k: null + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_microvideo1.7m_x1_003_9d903fd1: + batch_norm: true + batch_size: 2048 + condition_features: null + condition_mode: self-wise + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + generate_bias: true + group_id: group_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.2 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: [32, 16, 8] + pickle_feature_encoder: true + rank_k: null + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_microvideo1.7m_x1_004_a46e5f6f: + batch_norm: true + batch_size: 2048 + condition_features: null + condition_mode: self-wise + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + generate_bias: true + group_id: group_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.2 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: [128, 64, 32] + pickle_feature_encoder: true + rank_k: null + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_microvideo1.7m_x1_005_9d903fd1: + batch_norm: true + batch_size: 2048 + condition_features: null + condition_mode: self-wise + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + generate_bias: true + group_id: group_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.2 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: null + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_microvideo1.7m_x1_006_6c4a9a11: + batch_norm: true + batch_size: 2048 + condition_features: null + condition_mode: self-wise + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + generate_bias: true + group_id: group_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.2 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: [64, 32, 16] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_microvideo1.7m_x1_007_651e0cac: + batch_norm: true + batch_size: 2048 + condition_features: null + condition_mode: self-wise + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + generate_bias: true + group_id: group_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.2 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: [32, 16, 8] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_microvideo1.7m_x1_008_5ea39f78: + batch_norm: true + batch_size: 2048 + condition_features: null + condition_mode: self-wise + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + generate_bias: true + group_id: group_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.2 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: [128, 64, 32] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_microvideo1.7m_x1_009_8e9648d3: + batch_norm: true + batch_size: 2048 + condition_features: null + condition_mode: self-wise + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + generate_bias: true + group_id: group_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.2 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: null + pickle_feature_encoder: true + rank_k: [16, 8, 4] + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_microvideo1.7m_x1_010_eca5e23b: + batch_norm: true + batch_size: 2048 + condition_features: null + condition_mode: self-wise + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + generate_bias: true + group_id: group_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.2 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: [64, 32, 16] + pickle_feature_encoder: true + rank_k: [16, 8, 4] + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_microvideo1.7m_x1_011_67aee4b7: + batch_norm: true + batch_size: 2048 + condition_features: null + condition_mode: self-wise + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + generate_bias: true + group_id: group_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.2 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: [32, 16, 8] + pickle_feature_encoder: true + rank_k: [16, 8, 4] + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_microvideo1.7m_x1_012_8c0f062d: + batch_norm: true + batch_size: 2048 + condition_features: null + condition_mode: self-wise + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + generate_bias: true + group_id: group_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.2 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: [128, 64, 32] + pickle_feature_encoder: true + rank_k: [16, 8, 4] + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_microvideo1.7m_x1_013_60ef8cc4: + batch_norm: true + batch_size: 2048 + condition_features: null + condition_mode: self-wise + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + generate_bias: true + group_id: group_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.3 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: null + pickle_feature_encoder: true + rank_k: null + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_microvideo1.7m_x1_014_f548683a: + batch_norm: true + batch_size: 2048 + condition_features: null + condition_mode: self-wise + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + generate_bias: true + group_id: group_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.3 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: [64, 32, 16] + pickle_feature_encoder: true + rank_k: null + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_microvideo1.7m_x1_015_af1e7d5d: + batch_norm: true + batch_size: 2048 + condition_features: null + condition_mode: self-wise + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + generate_bias: true + group_id: group_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.3 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: [32, 16, 8] + pickle_feature_encoder: true + rank_k: null + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_microvideo1.7m_x1_016_b5188112: + batch_norm: true + batch_size: 2048 + condition_features: null + condition_mode: self-wise + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + generate_bias: true + group_id: group_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.3 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: [128, 64, 32] + pickle_feature_encoder: true + rank_k: null + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_microvideo1.7m_x1_017_af1e7d5d: + batch_norm: true + batch_size: 2048 + condition_features: null + condition_mode: self-wise + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + generate_bias: true + group_id: group_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.3 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: null + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_microvideo1.7m_x1_018_cc3a0322: + batch_norm: true + batch_size: 2048 + condition_features: null + condition_mode: self-wise + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + generate_bias: true + group_id: group_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.3 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: [64, 32, 16] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_microvideo1.7m_x1_019_bd1d0534: + batch_norm: true + batch_size: 2048 + condition_features: null + condition_mode: self-wise + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + generate_bias: true + group_id: group_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.3 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: [32, 16, 8] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_microvideo1.7m_x1_020_b47ffd57: + batch_norm: true + batch_size: 2048 + condition_features: null + condition_mode: self-wise + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + generate_bias: true + group_id: group_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.3 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: [128, 64, 32] + pickle_feature_encoder: true + rank_k: [32, 16, 8] + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_microvideo1.7m_x1_021_3c2bc4cc: + batch_norm: true + batch_size: 2048 + condition_features: null + condition_mode: self-wise + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + generate_bias: true + group_id: group_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.3 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: null + pickle_feature_encoder: true + rank_k: [16, 8, 4] + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_microvideo1.7m_x1_022_c9ea30b2: + batch_norm: true + batch_size: 2048 + condition_features: null + condition_mode: self-wise + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + generate_bias: true + group_id: group_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.3 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: [64, 32, 16] + pickle_feature_encoder: true + rank_k: [16, 8, 4] + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_microvideo1.7m_x1_023_d3a3ee84: + batch_norm: true + batch_size: 2048 + condition_features: null + condition_mode: self-wise + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + generate_bias: true + group_id: group_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.3 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: [32, 16, 8] + pickle_feature_encoder: true + rank_k: [16, 8, 4] + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_microvideo1.7m_x1_024_c6cb4fa0: + batch_norm: true + batch_size: 2048 + condition_features: null + condition_mode: self-wise + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + generate_bias: true + group_id: group_id + hidden_activations: relu + hidden_units: [1024, 512, 256] + hypernet_config: + dropout_rates: 0 + hidden_activations: relu + hidden_units: [] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.3 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: [128, 64, 32] + pickle_feature_encoder: true + rank_k: [16, 8, 4] + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 diff --git a/ranking/ctr/APG/APG_DeepFM_microvideo1.7m_x1/README.md b/ranking/ctr/APG/APG_DeepFM_microvideo1.7m_x1/README.md new file mode 100644 index 0000000..df9e705 --- /dev/null +++ b/ranking/ctr/APG/APG_DeepFM_microvideo1.7m_x1/README.md @@ -0,0 +1,235 @@ +## APG_DeepFM_microvideo1.7m_x1 + +A hands-on guide to run the APG model on the MicroVideo1.7M_x1 dataset. + +Author: [BARS Benchmark](https://github.com/reczoo/BARS/blob/main/CITATION) + + +| [Environments](#Environments) | [Dataset](#Dataset) | [Code](#Code) | [Results](#Results) | [Logs](#Logs) | +|:-----------------------------:|:-----------:|:--------:|:--------:|-------| +### Environments ++ Hardware + + ```python + CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz + GPU: Tesla V100 32G + RAM: 755G + + ``` + ++ Software + + ```python + cuda: 10.2 + python: 3.7.10 + pytorch: 1.11.0 + pandas: 1.1.5 + numpy: 1.19.5 + scipy: 1.5.2 + sklearn: 0.22.1 + pyyaml: 6.0 + h5py: 2.8.0 + tqdm: 4.64.0 + fuxictr: 2.0.3 + + ``` + +### Dataset +Please refer to [MicroVideo1.7M_x1](https://github.com/reczoo/Datasets/tree/main/MicroVideo/MicroVideo1.7M_x1) to get the dataset details. + +### Code + +We use the [APG](https://github.com/reczoo/FuxiCTR/tree/v2.0.3/model_zoo/APG) model code from [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/tree/v2.0.3) for this experiment. + +Running steps: + +1. Download [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/archive/refs/tags/v2.0.3.zip) and install all the dependencies listed in the [environments](#environments). + + ```bash + pip uninstall fuxictr + pip install fuxictr==2.0.3 + ``` + +2. Create a data directory and put the downloaded data files in `../data/MicroVideo/MicroVideo1.7M_x1`. + +3. Both `dataset_config.yaml` and `model_config.yaml` files are available in [APG_DeepFM_microvideo1.7m_x1_tuner_config_01](./APG_DeepFM_microvideo1.7m_x1_tuner_config_01). Please make sure that the data paths in `dataset_config.yaml` are correctly set. + +4. Run the following script to start training and evaluation. + + ```bash + cd FuxiCTR/model_zoo/APG + nohup python run_expid.py --config YOUR_PATH/APG/APG_DeepFM_microvideo1.7m_x1_tuner_config_01 --expid APG_DeepFM_microvideo1 --gpu 0 > run.log & + tail -f run.log + ``` + +### Results + +| gAUC | AUC | logloss | +|:--------------------:|:--------------------:|:--------------------:| +| 0.683198 | 0.732537 | 0.413739 | + + +### Logs +```python +2023-06-04 08:27:58,069 P83006 INFO Params: { + "batch_norm": "True", + "batch_size": "2048", + "condition_features": "None", + "condition_mode": "self-wise", + "data_format": "csv", + "data_root": "../data/MicroVideo1.7M/", + "dataset_id": "microvideo1.7m_x1_0d855fe6", + "debug_mode": "False", + "early_stop_patience": "2", + "embedding_dim": "64", + "embedding_regularizer": "0.0005", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'group_id', 'preprocess': 'copy_from(user_id)', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': 'user_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'name': 'item_id', 'pretrained_emb': '../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'name': 'cate_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'max_len': 100, 'name': 'clicked_items', 'padding': 'pre', 'pretrained_emb': '../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 100, 'name': 'clicked_categories', 'padding': 'pre', 'share_embedding': 'cate_id', 'splitter': '^', 'type': 'sequence'}, {'active': False, 'dtype': 'str', 'name': 'timestamp', 'type': 'categorical'}]", + "feature_config": "None", + "feature_specs": "[{'feature_encoder': 'nn.Linear(64, 64, bias=False)', 'name': 'item_id'}, {'feature_encoder': ['layers.MaskedAveragePooling()', 'nn.Linear(64, 64, bias=False)'], 'name': 'clicked_items'}, {'feature_encoder': 'layers.MaskedAveragePooling()', 'name': 'clicked_categories'}]", + "generate_bias": "True", + "gpu": "4", + "group_id": "group_id", + "hidden_activations": "relu", + "hidden_units": "[1024, 512, 256]", + "hypernet_config": "{'dropout_rates': 0, 'hidden_activations': 'relu', 'hidden_units': []}", + "label_col": "{'dtype': 'float', 'name': 'is_click'}", + "learning_rate": "0.0005", + "loss": "binary_crossentropy", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "1", + "model": "APG_DeepFM", + "model_id": "APG_DeepFM_microvideo1.7m_x1_023_d3a3ee84", + "model_root": "./checkpoints/APG_DeepFM_microvideo1.7m_x1/", + "monitor": "{'AUC': 1, 'gAUC': 1}", + "monitor_mode": "max", + "net_dropout": "0.3", + "net_regularizer": "0", + "new_condition_emb": "False", + "num_workers": "3", + "optimizer": "adam", + "overparam_p": "[32, 16, 8]", + "pickle_feature_encoder": "True", + "rank_k": "[16, 8, 4]", + "save_best_only": "True", + "seed": "2022", + "shuffle": "True", + "task": "binary_classification", + "test_data": "../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv", + "train_data": "../data/MicroVideo1.7M/MicroVideo1.7M_x1/train.csv", + "use_features": "None", + "valid_data": "../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv", + "verbose": "1" +} +2023-06-04 08:27:58,070 P83006 INFO Set up feature processor... +2023-06-04 08:27:58,071 P83006 WARNING Skip rebuilding ../data/MicroVideo1.7M/microvideo1.7m_x1_0d855fe6/feature_map.json. Please delete it manually if rebuilding is required. +2023-06-04 08:27:58,071 P83006 INFO Load feature_map from json: ../data/MicroVideo1.7M/microvideo1.7m_x1_0d855fe6/feature_map.json +2023-06-04 08:27:58,071 P83006 INFO Set column index... +2023-06-04 08:27:58,071 P83006 INFO Feature specs: { + "cate_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 513, 'vocab_size': 514}", + "clicked_categories": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'cate_id', 'padding_idx': 0, 'oov_idx': 513, 'vocab_size': 514, 'max_len': 100}", + "clicked_items": "{'source': '', 'type': 'sequence', 'feature_encoder': ['layers.MaskedAveragePooling()', 'nn.Linear(64, 64, bias=False)'], 'embedding_dim': 64, 'pretrained_emb': 'pretrained_emb.h5', 'freeze_emb': True, 'padding_idx': 0, 'oov_idx': 1704881, 'vocab_size': 1704882, 'max_len': 100}", + "group_id": "{'type': 'meta'}", + "item_id": "{'source': '', 'type': 'categorical', 'embedding_dim': 64, 'pretrained_emb': 'pretrained_emb.h5', 'freeze_emb': True, 'padding_idx': 0, 'oov_idx': 1704881, 'vocab_size': 1704882, 'feature_encoder': 'nn.Linear(64, 64, bias=False)'}", + "user_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 10987, 'vocab_size': 10988}" +} +2023-06-04 08:28:04,388 P83006 INFO Total number of parameters: 5385830. +2023-06-04 08:28:04,388 P83006 INFO Loading data... +2023-06-04 08:28:04,389 P83006 INFO Loading data from h5: ../data/MicroVideo1.7M/microvideo1.7m_x1_0d855fe6/train.h5 +2023-06-04 08:28:15,634 P83006 INFO Train samples: total/8970309, blocks/1 +2023-06-04 08:28:15,634 P83006 INFO Loading data from h5: ../data/MicroVideo1.7M/microvideo1.7m_x1_0d855fe6/valid.h5 +2023-06-04 08:28:20,008 P83006 INFO Validation samples: total/3767308, blocks/1 +2023-06-04 08:28:20,009 P83006 INFO Loading train and validation data done. +2023-06-04 08:28:20,009 P83006 INFO Start training: 4381 batches/epoch +2023-06-04 08:28:20,009 P83006 INFO ************ Epoch=1 start ************ +2023-06-04 08:36:28,345 P83006 INFO Train loss: 0.482970 +2023-06-04 08:36:28,346 P83006 INFO Evaluation @epoch 1 - batch 4381: +2023-06-04 08:40:00,947 P83006 INFO [Metrics] AUC: 0.715466 - gAUC: 0.670076 +2023-06-04 08:40:00,948 P83006 INFO Save best model: monitor(max)=1.385543 +2023-06-04 08:40:02,615 P83006 INFO ************ Epoch=1 end ************ +2023-06-04 08:48:11,283 P83006 INFO Train loss: 0.447571 +2023-06-04 08:48:11,283 P83006 INFO Evaluation @epoch 2 - batch 4381: +2023-06-04 08:51:42,963 P83006 INFO [Metrics] AUC: 0.718113 - gAUC: 0.671582 +2023-06-04 08:51:42,963 P83006 INFO Save best model: monitor(max)=1.389695 +2023-06-04 08:51:44,946 P83006 INFO ************ Epoch=2 end ************ +2023-06-04 08:59:50,328 P83006 INFO Train loss: 0.441891 +2023-06-04 08:59:50,329 P83006 INFO Evaluation @epoch 3 - batch 4381: +2023-06-04 09:03:23,299 P83006 INFO [Metrics] AUC: 0.721060 - gAUC: 0.674756 +2023-06-04 09:03:23,300 P83006 INFO Save best model: monitor(max)=1.395816 +2023-06-04 09:03:25,285 P83006 INFO ************ Epoch=3 end ************ +2023-06-04 09:11:34,532 P83006 INFO Train loss: 0.439808 +2023-06-04 09:11:34,532 P83006 INFO Evaluation @epoch 4 - batch 4381: +2023-06-04 09:15:10,786 P83006 INFO [Metrics] AUC: 0.722097 - gAUC: 0.675894 +2023-06-04 09:15:10,788 P83006 INFO Save best model: monitor(max)=1.397991 +2023-06-04 09:15:12,915 P83006 INFO ************ Epoch=4 end ************ +2023-06-04 09:23:42,238 P83006 INFO Train loss: 0.438220 +2023-06-04 09:23:42,238 P83006 INFO Evaluation @epoch 5 - batch 4381: +2023-06-04 09:27:13,623 P83006 INFO [Metrics] AUC: 0.722427 - gAUC: 0.676863 +2023-06-04 09:27:13,624 P83006 INFO Save best model: monitor(max)=1.399290 +2023-06-04 09:27:15,851 P83006 INFO ************ Epoch=5 end ************ +2023-06-04 09:35:33,393 P83006 INFO Train loss: 0.437070 +2023-06-04 09:35:33,393 P83006 INFO Evaluation @epoch 6 - batch 4381: +2023-06-04 09:39:02,513 P83006 INFO [Metrics] AUC: 0.723779 - gAUC: 0.676865 +2023-06-04 09:39:02,514 P83006 INFO Save best model: monitor(max)=1.400644 +2023-06-04 09:39:04,562 P83006 INFO ************ Epoch=6 end ************ +2023-06-04 09:47:12,506 P83006 INFO Train loss: 0.436184 +2023-06-04 09:47:12,507 P83006 INFO Evaluation @epoch 7 - batch 4381: +2023-06-04 09:50:28,773 P83006 INFO [Metrics] AUC: 0.724318 - gAUC: 0.677541 +2023-06-04 09:50:28,774 P83006 INFO Save best model: monitor(max)=1.401859 +2023-06-04 09:50:30,795 P83006 INFO ************ Epoch=7 end ************ +2023-06-04 09:57:46,890 P83006 INFO Train loss: 0.435608 +2023-06-04 09:57:46,890 P83006 INFO Evaluation @epoch 8 - batch 4381: +2023-06-04 10:00:55,569 P83006 INFO [Metrics] AUC: 0.724735 - gAUC: 0.677620 +2023-06-04 10:00:55,570 P83006 INFO Save best model: monitor(max)=1.402355 +2023-06-04 10:00:57,722 P83006 INFO ************ Epoch=8 end ************ +2023-06-04 10:08:16,101 P83006 INFO Train loss: 0.435144 +2023-06-04 10:08:16,102 P83006 INFO Evaluation @epoch 9 - batch 4381: +2023-06-04 10:10:04,354 P83006 INFO [Metrics] AUC: 0.725101 - gAUC: 0.677391 +2023-06-04 10:10:04,355 P83006 INFO Save best model: monitor(max)=1.402492 +2023-06-04 10:10:06,383 P83006 INFO ************ Epoch=9 end ************ +2023-06-04 10:14:14,665 P83006 INFO Train loss: 0.434660 +2023-06-04 10:14:14,665 P83006 INFO Evaluation @epoch 10 - batch 4381: +2023-06-04 10:15:42,830 P83006 INFO [Metrics] AUC: 0.725838 - gAUC: 0.679802 +2023-06-04 10:15:42,831 P83006 INFO Save best model: monitor(max)=1.405640 +2023-06-04 10:15:44,850 P83006 INFO ************ Epoch=10 end ************ +2023-06-04 10:18:46,719 P83006 INFO Train loss: 0.434219 +2023-06-04 10:18:46,719 P83006 INFO Evaluation @epoch 11 - batch 4381: +2023-06-04 10:20:03,940 P83006 INFO [Metrics] AUC: 0.725347 - gAUC: 0.677700 +2023-06-04 10:20:03,941 P83006 INFO Monitor(max)=1.403047 STOP! +2023-06-04 10:20:03,941 P83006 INFO Reduce learning rate on plateau: 0.000050 +2023-06-04 10:20:04,002 P83006 INFO ************ Epoch=11 end ************ +2023-06-04 10:22:49,099 P83006 INFO Train loss: 0.420980 +2023-06-04 10:22:49,099 P83006 INFO Evaluation @epoch 12 - batch 4381: +2023-06-04 10:23:21,470 P83006 INFO [Metrics] AUC: 0.731869 - gAUC: 0.683051 +2023-06-04 10:23:21,471 P83006 INFO Save best model: monitor(max)=1.414920 +2023-06-04 10:23:23,454 P83006 INFO ************ Epoch=12 end ************ +2023-06-04 10:25:20,841 P83006 INFO Train loss: 0.415281 +2023-06-04 10:25:20,841 P83006 INFO Evaluation @epoch 13 - batch 4381: +2023-06-04 10:25:48,279 P83006 INFO [Metrics] AUC: 0.732537 - gAUC: 0.683198 +2023-06-04 10:25:48,280 P83006 INFO Save best model: monitor(max)=1.415735 +2023-06-04 10:25:50,236 P83006 INFO ************ Epoch=13 end ************ +2023-06-04 10:27:15,878 P83006 INFO Train loss: 0.413059 +2023-06-04 10:27:15,879 P83006 INFO Evaluation @epoch 14 - batch 4381: +2023-06-04 10:27:37,123 P83006 INFO [Metrics] AUC: 0.732248 - gAUC: 0.683211 +2023-06-04 10:27:37,123 P83006 INFO Monitor(max)=1.415459 STOP! +2023-06-04 10:27:37,124 P83006 INFO Reduce learning rate on plateau: 0.000005 +2023-06-04 10:27:37,196 P83006 INFO ************ Epoch=14 end ************ +2023-06-04 10:29:04,390 P83006 INFO Train loss: 0.408256 +2023-06-04 10:29:04,390 P83006 INFO Evaluation @epoch 15 - batch 4381: +2023-06-04 10:29:25,730 P83006 INFO [Metrics] AUC: 0.732236 - gAUC: 0.683034 +2023-06-04 10:29:25,731 P83006 INFO Monitor(max)=1.415270 STOP! +2023-06-04 10:29:25,731 P83006 INFO Reduce learning rate on plateau: 0.000001 +2023-06-04 10:29:25,731 P83006 INFO ********* Epoch==15 early stop ********* +2023-06-04 10:29:25,800 P83006 INFO Training finished. +2023-06-04 10:29:25,800 P83006 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/APG_DeepFM_microvideo1.7m_x1/microvideo1.7m_x1_0d855fe6/APG_DeepFM_microvideo1.7m_x1_023_d3a3ee84.model +2023-06-04 10:29:26,302 P83006 INFO ****** Validation evaluation ****** +2023-06-04 10:29:49,143 P83006 INFO [Metrics] gAUC: 0.683198 - AUC: 0.732537 - logloss: 0.413739 +2023-06-04 10:29:49,222 P83006 INFO ******** Test evaluation ******** +2023-06-04 10:29:49,222 P83006 INFO Loading data... +2023-06-04 10:29:49,223 P83006 INFO Loading data from h5: ../data/MicroVideo1.7M/microvideo1.7m_x1_0d855fe6/test.h5 +2023-06-04 10:29:53,364 P83006 INFO Test samples: total/3767308, blocks/1 +2023-06-04 10:29:53,364 P83006 INFO Loading test data done. +2023-06-04 10:30:15,260 P83006 INFO [Metrics] gAUC: 0.683198 - AUC: 0.732537 - logloss: 0.413739 + +``` diff --git a/ranking/ctr/APG/APG_DeepFM_microvideo1.7m_x1/environments.txt b/ranking/ctr/APG/APG_DeepFM_microvideo1.7m_x1/environments.txt new file mode 100644 index 0000000..a39d234 --- /dev/null +++ b/ranking/ctr/APG/APG_DeepFM_microvideo1.7m_x1/environments.txt @@ -0,0 +1,17 @@ +[Hardware] +CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz +GPU: Tesla V100 32G +RAM: 755G + +[Software] +cuda: 10.2 +python: 3.7.10 +pytorch: 1.11.0 +pandas: 1.1.5 +numpy: 1.19.5 +scipy: 1.5.2 +sklearn: 0.22.1 +pyyaml: 6.0 +h5py: 2.8.0 +tqdm: 4.64.0 +fuxictr: 2.0.3 diff --git a/ranking/ctr/APG/APG_DeepFM_microvideo1.7m_x1/results.csv b/ranking/ctr/APG/APG_DeepFM_microvideo1.7m_x1/results.csv new file mode 100644 index 0000000..ae89578 --- /dev/null +++ b/ranking/ctr/APG/APG_DeepFM_microvideo1.7m_x1/results.csv @@ -0,0 +1 @@ + 20230604-103015,[command] python run_expid.py --config MicroVideo1.7M/APG_DeepFM_microvideo1.7m_x1/APG_DeepFM_microvideo1.7m_x1_tuner_config_01 --expid APG_DeepFM_microvideo1.7m_x1_023_d3a3ee84 --gpu 4,[exp_id] APG_DeepFM_microvideo1.7m_x1_023_d3a3ee84,[dataset_id] microvideo1.7m_x1_0d855fe6,[train] N.A.,[val] gAUC: 0.683198 - AUC: 0.732537 - logloss: 0.413739,[test] gAUC: 0.683198 - AUC: 0.732537 - logloss: 0.413739 diff --git a/ranking/ctr/APG/APG_DeepFM_taobaoad_x1/APG_DeepFM_taobaoad_x1_003_d01b9650.log b/ranking/ctr/APG/APG_DeepFM_taobaoad_x1/APG_DeepFM_taobaoad_x1_003_d01b9650.log new file mode 100644 index 0000000..f4ed2ec --- /dev/null +++ b/ranking/ctr/APG/APG_DeepFM_taobaoad_x1/APG_DeepFM_taobaoad_x1_003_d01b9650.log @@ -0,0 +1,135 @@ +2023-05-31 09:47:22,882 P26433 INFO Params: { + "batch_norm": "False", + "batch_size": "4096", + "condition_features": "None", + "condition_mode": "self-wise", + "data_format": "csv", + "data_root": "../data/Taobao/", + "dataset_id": "taobaoad_x1_2753db8a", + "debug_mode": "False", + "early_stop_patience": "2", + "embedding_dim": "32", + "embedding_regularizer": "5e-06", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'group_id', 'preprocess': 'copy_from(userid)', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': ['userid', 'cms_segid', 'cms_group_id', 'final_gender_code', 'age_level', 'pvalue_level', 'shopping_level', 'occupation', 'new_user_class_level', 'adgroup_id', 'cate_id', 'campaign_id', 'customer', 'brand', 'pid', 'btag'], 'type': 'categorical'}, {'active': True, 'dtype': 'float', 'name': 'price', 'type': 'numeric'}, {'active': True, 'dtype': 'str', 'max_len': 50, 'name': 'cate_his', 'padding': 'pre', 'share_embedding': 'cate_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 50, 'name': 'brand_his', 'padding': 'pre', 'share_embedding': 'brand', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 50, 'name': 'btag_his', 'padding': 'pre', 'share_embedding': 'btag', 'splitter': '^', 'type': 'sequence'}]", + "feature_config": "None", + "feature_specs": "None", + "generate_bias": "True", + "gpu": "2", + "group_id": "group_id", + "hidden_activations": "relu", + "hidden_units": "[512, 256, 128]", + "hypernet_config": "{'dropout_rates': 0, 'hidden_activations': 'relu', 'hidden_units': [512]}", + "label_col": "{'dtype': 'float', 'name': 'clk'}", + "learning_rate": "0.001", + "loss": "binary_crossentropy", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "10", + "model": "APG_DeepFM", + "model_id": "APG_DeepFM_taobaoad_x1_003_d01b9650", + "model_root": "./checkpoints/APG_DeepFM_taobaoad_x1/", + "monitor": "{'AUC': 1, 'gAUC': 1}", + "monitor_mode": "max", + "net_dropout": "0", + "net_regularizer": "0", + "new_condition_emb": "False", + "num_workers": "3", + "optimizer": "adam", + "overparam_p": "None", + "pickle_feature_encoder": "True", + "rank_k": "[128, 64, 32]", + "save_best_only": "True", + "seed": "20222023", + "shuffle": "True", + "task": "binary_classification", + "test_data": "../data/Taobao/TaobaoAd_x1/test.csv", + "train_data": "../data/Taobao/TaobaoAd_x1/train.csv", + "use_features": "None", + "valid_data": "../data/Taobao/TaobaoAd_x1/test.csv", + "verbose": "1" +} +2023-05-31 09:47:22,882 P26433 INFO Set up feature processor... +2023-05-31 09:47:22,883 P26433 WARNING Skip rebuilding ../data/Taobao/taobaoad_x1_2753db8a/feature_map.json. Please delete it manually if rebuilding is required. +2023-05-31 09:47:22,883 P26433 INFO Load feature_map from json: ../data/Taobao/taobaoad_x1_2753db8a/feature_map.json +2023-05-31 09:47:22,883 P26433 INFO Set column index... +2023-05-31 09:47:22,883 P26433 INFO Feature specs: { + "adgroup_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 246850, 'vocab_size': 246851}", + "age_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 8, 'vocab_size': 9}", + "brand": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 308869, 'vocab_size': 308870}", + "brand_his": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'brand', 'padding_idx': 0, 'oov_idx': 308869, 'vocab_size': 308870, 'max_len': 50}", + "btag": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 5, 'vocab_size': 6}", + "btag_his": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'btag', 'padding_idx': 0, 'oov_idx': 5, 'vocab_size': 6, 'max_len': 50}", + "campaign_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 191770, 'vocab_size': 191771}", + "cate_his": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'cate_id', 'padding_idx': 0, 'oov_idx': 11329, 'vocab_size': 11330, 'max_len': 50}", + "cate_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 11329, 'vocab_size': 11330}", + "cms_group_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 14, 'vocab_size': 15}", + "cms_segid": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 98, 'vocab_size': 99}", + "customer": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 132135, 'vocab_size': 132136}", + "final_gender_code": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 3, 'vocab_size': 4}", + "group_id": "{'type': 'meta'}", + "new_user_class_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 6, 'vocab_size': 7}", + "occupation": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 3, 'vocab_size': 4}", + "pid": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 3, 'vocab_size': 4}", + "price": "{'source': '', 'type': 'numeric'}", + "pvalue_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 5, 'vocab_size': 6}", + "shopping_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 4, 'vocab_size': 5}", + "userid": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 403957, 'vocab_size': 403958}" +} +2023-05-31 09:47:27,774 P26433 INFO Total number of parameters: 55480372. +2023-05-31 09:47:27,775 P26433 INFO Loading data... +2023-05-31 09:47:27,775 P26433 INFO Loading data from h5: ../data/Taobao/taobaoad_x1_2753db8a/train.h5 +2023-05-31 09:47:55,417 P26433 INFO Train samples: total/21929911, blocks/1 +2023-05-31 09:47:55,417 P26433 INFO Loading data from h5: ../data/Taobao/taobaoad_x1_2753db8a/valid.h5 +2023-05-31 09:47:59,190 P26433 INFO Validation samples: total/3099515, blocks/1 +2023-05-31 09:47:59,190 P26433 INFO Loading train and validation data done. +2023-05-31 09:47:59,190 P26433 INFO Start training: 5354 batches/epoch +2023-05-31 09:47:59,190 P26433 INFO ************ Epoch=1 start ************ +2023-05-31 09:55:29,060 P26433 INFO Train loss: 0.207752 +2023-05-31 09:55:29,060 P26433 INFO Evaluation @epoch 1 - batch 5354: +2023-05-31 09:57:01,042 P26433 INFO [Metrics] AUC: 0.622413 - gAUC: 0.557634 +2023-05-31 09:57:01,048 P26433 INFO Save best model: monitor(max)=1.180048 +2023-05-31 09:57:01,523 P26433 INFO ************ Epoch=1 end ************ +2023-05-31 10:04:34,097 P26433 INFO Train loss: 0.206166 +2023-05-31 10:04:34,097 P26433 INFO Evaluation @epoch 2 - batch 5354: +2023-05-31 10:06:01,343 P26433 INFO [Metrics] AUC: 0.626363 - gAUC: 0.562221 +2023-05-31 10:06:01,344 P26433 INFO Save best model: monitor(max)=1.188584 +2023-05-31 10:06:01,844 P26433 INFO ************ Epoch=2 end ************ +2023-05-31 10:13:33,139 P26433 INFO Train loss: 0.205646 +2023-05-31 10:13:33,139 P26433 INFO Evaluation @epoch 3 - batch 5354: +2023-05-31 10:15:09,268 P26433 INFO [Metrics] AUC: 0.630111 - gAUC: 0.564107 +2023-05-31 10:15:09,270 P26433 INFO Save best model: monitor(max)=1.194218 +2023-05-31 10:15:09,804 P26433 INFO ************ Epoch=3 end ************ +2023-05-31 10:22:45,585 P26433 INFO Train loss: 0.205778 +2023-05-31 10:22:45,585 P26433 INFO Evaluation @epoch 4 - batch 5354: +2023-05-31 10:24:18,808 P26433 INFO [Metrics] AUC: 0.627708 - gAUC: 0.563474 +2023-05-31 10:24:18,809 P26433 INFO Monitor(max)=1.191182 STOP! +2023-05-31 10:24:18,809 P26433 INFO Reduce learning rate on plateau: 0.000100 +2023-05-31 10:24:18,931 P26433 INFO ************ Epoch=4 end ************ +2023-05-31 10:31:58,131 P26433 INFO Train loss: 0.192036 +2023-05-31 10:31:58,131 P26433 INFO Evaluation @epoch 5 - batch 5354: +2023-05-31 10:33:30,682 P26433 INFO [Metrics] AUC: 0.640834 - gAUC: 0.569266 +2023-05-31 10:33:30,683 P26433 INFO Save best model: monitor(max)=1.210100 +2023-05-31 10:33:31,148 P26433 INFO ************ Epoch=5 end ************ +2023-05-31 10:41:11,836 P26433 INFO Train loss: 0.186426 +2023-05-31 10:41:11,836 P26433 INFO Evaluation @epoch 6 - batch 5354: +2023-05-31 10:42:48,687 P26433 INFO [Metrics] AUC: 0.637207 - gAUC: 0.565047 +2023-05-31 10:42:48,689 P26433 INFO Monitor(max)=1.202254 STOP! +2023-05-31 10:42:48,689 P26433 INFO Reduce learning rate on plateau: 0.000010 +2023-05-31 10:42:48,784 P26433 INFO ************ Epoch=6 end ************ +2023-05-31 10:50:23,231 P26433 INFO Train loss: 0.166509 +2023-05-31 10:50:23,231 P26433 INFO Evaluation @epoch 7 - batch 5354: +2023-05-31 10:52:02,384 P26433 INFO [Metrics] AUC: 0.621497 - gAUC: 0.553312 +2023-05-31 10:52:02,385 P26433 INFO Monitor(max)=1.174809 STOP! +2023-05-31 10:52:02,385 P26433 INFO Reduce learning rate on plateau: 0.000001 +2023-05-31 10:52:02,385 P26433 INFO ********* Epoch==7 early stop ********* +2023-05-31 10:52:02,500 P26433 INFO Training finished. +2023-05-31 10:52:02,501 P26433 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/APG_DeepFM_taobaoad_x1/taobaoad_x1_2753db8a/APG_DeepFM_taobaoad_x1_003_d01b9650.model +2023-05-31 10:52:02,727 P26433 INFO ****** Validation evaluation ****** +2023-05-31 10:53:29,702 P26433 INFO [Metrics] gAUC: 0.569266 - AUC: 0.640834 - logloss: 0.196771 +2023-05-31 10:53:29,871 P26433 INFO ******** Test evaluation ******** +2023-05-31 10:53:29,872 P26433 INFO Loading data... +2023-05-31 10:53:29,872 P26433 INFO Loading data from h5: ../data/Taobao/taobaoad_x1_2753db8a/test.h5 +2023-05-31 10:53:33,937 P26433 INFO Test samples: total/3099515, blocks/1 +2023-05-31 10:53:33,937 P26433 INFO Loading test data done. +2023-05-31 10:55:12,912 P26433 INFO [Metrics] gAUC: 0.569266 - AUC: 0.640834 - logloss: 0.196771 diff --git a/ranking/ctr/APG/APG_DeepFM_taobaoad_x1/APG_DeepFM_taobaoad_x1_tuner_config_04.csv b/ranking/ctr/APG/APG_DeepFM_taobaoad_x1/APG_DeepFM_taobaoad_x1_tuner_config_04.csv new file mode 100644 index 0000000..c2cd6c8 --- /dev/null +++ b/ranking/ctr/APG/APG_DeepFM_taobaoad_x1/APG_DeepFM_taobaoad_x1_tuner_config_04.csv @@ -0,0 +1,5 @@ + 20230531-105512,[command] python run_expid.py --config Taobao/APG_DeepFM_taobaoad_x1/APG_DeepFM_taobaoad_x1_tuner_config_04 --expid APG_DeepFM_taobaoad_x1_003_d01b9650 --gpu 2,[exp_id] APG_DeepFM_taobaoad_x1_003_d01b9650,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.569266 - AUC: 0.640834 - logloss: 0.196771,[test] gAUC: 0.569266 - AUC: 0.640834 - logloss: 0.196771 + 20230531-115330,[command] python run_expid.py --config Taobao/APG_DeepFM_taobaoad_x1/APG_DeepFM_taobaoad_x1_tuner_config_04 --expid APG_DeepFM_taobaoad_x1_005_5f3c9dae --gpu 4,[exp_id] APG_DeepFM_taobaoad_x1_005_5f3c9dae,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.567804 - AUC: 0.639326 - logloss: 0.197127,[test] gAUC: 0.567804 - AUC: 0.639326 - logloss: 0.197127 + 20230531-110406,[command] python run_expid.py --config Taobao/APG_DeepFM_taobaoad_x1/APG_DeepFM_taobaoad_x1_tuner_config_04 --expid APG_DeepFM_taobaoad_x1_004_96c132ac --gpu 3,[exp_id] APG_DeepFM_taobaoad_x1_004_96c132ac,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.567731 - AUC: 0.639383 - logloss: 0.197264,[test] gAUC: 0.567731 - AUC: 0.639383 - logloss: 0.197264 + 20230531-190246,[command] python run_expid.py --config Taobao/APG_DeepFM_taobaoad_x1/APG_DeepFM_taobaoad_x1_tuner_config_04 --expid APG_DeepFM_taobaoad_x1_002_d01b9650 --gpu 1,[exp_id] APG_DeepFM_taobaoad_x1_002_d01b9650,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.567658 - AUC: 0.639683 - logloss: 0.197795,[test] gAUC: 0.567658 - AUC: 0.639683 - logloss: 0.197795 + 20230531-190733,[command] python run_expid.py --config Taobao/APG_DeepFM_taobaoad_x1/APG_DeepFM_taobaoad_x1_tuner_config_04 --expid APG_DeepFM_taobaoad_x1_001_f9c13c6b --gpu 0,[exp_id] APG_DeepFM_taobaoad_x1_001_f9c13c6b,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.567658 - AUC: 0.639683 - logloss: 0.197795,[test] gAUC: 0.567658 - AUC: 0.639683 - logloss: 0.197795 diff --git a/ranking/ctr/APG/APG_DeepFM_taobaoad_x1/APG_DeepFM_taobaoad_x1_tuner_config_04.yaml b/ranking/ctr/APG/APG_DeepFM_taobaoad_x1/APG_DeepFM_taobaoad_x1_tuner_config_04.yaml new file mode 100644 index 0000000..d47b83e --- /dev/null +++ b/ranking/ctr/APG/APG_DeepFM_taobaoad_x1/APG_DeepFM_taobaoad_x1_tuner_config_04.yaml @@ -0,0 +1,51 @@ +base_config: ../model_zoo/APG/config/ +base_expid: APG_DeepFM +dataset_id: taobaoad_x1 + +dataset_config: + taobaoad_x1: + data_root: ../data/Taobao/ + data_format: csv + train_data: ../data/Taobao/TaobaoAd_x1/train.csv + valid_data: ../data/Taobao/TaobaoAd_x1/test.csv + test_data: ../data/Taobao/TaobaoAd_x1/test.csv + min_categr_count: 10 + feature_cols: + - {name: "group_id", active: True, dtype: int, type: meta, preprocess: "copy_from(userid)", remap: False} + - {name: ["userid","cms_segid","cms_group_id","final_gender_code","age_level","pvalue_level","shopping_level", + "occupation","new_user_class_level","adgroup_id","cate_id","campaign_id","customer","brand","pid","btag"], + active: True, dtype: str, type: categorical} + - {name: price, active: True, dtype: float, type: numeric} + - {name: cate_his, active: True, dtype: str, splitter: ^, type: sequence, max_len: 50, padding: pre, + share_embedding: cate_id} + - {name: brand_his, active: True, dtype: str, splitter: ^, type: sequence, max_len: 50, padding: pre, + share_embedding: brand} + - {name: btag_his, active: True, dtype: str, splitter: ^, type: sequence, max_len: 50, padding: pre, + share_embedding: btag} + label_col: {name: clk, dtype: float} + + +tuner_space: + model_root: './checkpoints/APG_DeepFM_taobaoad_x1/' + embedding_dim: 32 + hidden_units: [[512, 256, 128]] + embedding_regularizer: 5.e-6 + net_dropout: 0 + batch_norm: False + hypernet_config: + hidden_units: [512] + hidden_activations: relu + dropout_rates: 0 + condition_features: null + condition_mode: "self-wise" + rank_k: [null, [128, 64, 32], [256, 128, 64]] + overparam_p: [null, [128, 64, 32]] + new_condition_emb: False + generate_bias: True + learning_rate: 1.e-3 + batch_size: 4096 + seed: 20222023 + group_id: group_id + metrics: [[gAUC, AUC, logloss]] + monitor: {"gAUC": 1, "AUC": 1} + diff --git a/ranking/ctr/APG/APG_DeepFM_taobaoad_x1/APG_DeepFM_taobaoad_x1_tuner_config_04/dataset_config.yaml b/ranking/ctr/APG/APG_DeepFM_taobaoad_x1/APG_DeepFM_taobaoad_x1_tuner_config_04/dataset_config.yaml new file mode 100644 index 0000000..0bf0fe3 --- /dev/null +++ b/ranking/ctr/APG/APG_DeepFM_taobaoad_x1/APG_DeepFM_taobaoad_x1_tuner_config_04/dataset_config.yaml @@ -0,0 +1,24 @@ +taobaoad_x1_2753db8a: + data_format: csv + data_root: ../data/Taobao/ + feature_cols: + - {active: true, dtype: int, name: group_id, preprocess: copy_from(userid), remap: false, + type: meta} + - active: true + dtype: str + name: [userid, cms_segid, cms_group_id, final_gender_code, age_level, pvalue_level, + shopping_level, occupation, new_user_class_level, adgroup_id, cate_id, + campaign_id, customer, brand, pid, btag] + type: categorical + - {active: true, dtype: float, name: price, type: numeric} + - {active: true, dtype: str, max_len: 50, name: cate_his, padding: pre, share_embedding: cate_id, + splitter: ^, type: sequence} + - {active: true, dtype: str, max_len: 50, name: brand_his, padding: pre, share_embedding: brand, + splitter: ^, type: sequence} + - {active: true, dtype: str, max_len: 50, name: btag_his, padding: pre, share_embedding: btag, + splitter: ^, type: sequence} + label_col: {dtype: float, name: clk} + min_categr_count: 10 + test_data: ../data/Taobao/TaobaoAd_x1/test.csv + train_data: ../data/Taobao/TaobaoAd_x1/train.csv + valid_data: ../data/Taobao/TaobaoAd_x1/test.csv diff --git a/ranking/ctr/APG/APG_DeepFM_taobaoad_x1/APG_DeepFM_taobaoad_x1_tuner_config_04/model_config.yaml b/ranking/ctr/APG/APG_DeepFM_taobaoad_x1/APG_DeepFM_taobaoad_x1_tuner_config_04/model_config.yaml new file mode 100644 index 0000000..a02010c --- /dev/null +++ b/ranking/ctr/APG/APG_DeepFM_taobaoad_x1/APG_DeepFM_taobaoad_x1_tuner_config_04/model_config.yaml @@ -0,0 +1,258 @@ +APG_DeepFM_taobaoad_x1_001_f9c13c6b: + batch_norm: false + batch_size: 4096 + condition_features: null + condition_mode: self-wise + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: group_id + hidden_activations: relu + hidden_units: [512, 256, 128] + hypernet_config: + dropout_rates: 0 + hidden_activations: relu + hidden_units: [512] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: null + pickle_feature_encoder: true + rank_k: null + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_taobaoad_x1_002_d01b9650: + batch_norm: false + batch_size: 4096 + condition_features: null + condition_mode: self-wise + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: group_id + hidden_activations: relu + hidden_units: [512, 256, 128] + hypernet_config: + dropout_rates: 0 + hidden_activations: relu + hidden_units: [512] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: [128, 64, 32] + pickle_feature_encoder: true + rank_k: null + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_taobaoad_x1_003_d01b9650: + batch_norm: false + batch_size: 4096 + condition_features: null + condition_mode: self-wise + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: group_id + hidden_activations: relu + hidden_units: [512, 256, 128] + hypernet_config: + dropout_rates: 0 + hidden_activations: relu + hidden_units: [512] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: null + pickle_feature_encoder: true + rank_k: [128, 64, 32] + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_taobaoad_x1_004_96c132ac: + batch_norm: false + batch_size: 4096 + condition_features: null + condition_mode: self-wise + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: group_id + hidden_activations: relu + hidden_units: [512, 256, 128] + hypernet_config: + dropout_rates: 0 + hidden_activations: relu + hidden_units: [512] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: [128, 64, 32] + pickle_feature_encoder: true + rank_k: [128, 64, 32] + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_taobaoad_x1_005_5f3c9dae: + batch_norm: false + batch_size: 4096 + condition_features: null + condition_mode: self-wise + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: group_id + hidden_activations: relu + hidden_units: [512, 256, 128] + hypernet_config: + dropout_rates: 0 + hidden_activations: relu + hidden_units: [512] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: null + pickle_feature_encoder: true + rank_k: [256, 128, 64] + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +APG_DeepFM_taobaoad_x1_006_35d5ea40: + batch_norm: false + batch_size: 4096 + condition_features: null + condition_mode: self-wise + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + generate_bias: true + group_id: group_id + hidden_activations: relu + hidden_units: [512, 256, 128] + hypernet_config: + dropout_rates: 0 + hidden_activations: relu + hidden_units: [512] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: APG_DeepFM + model_root: ./checkpoints/APG_DeepFM_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + new_condition_emb: false + num_workers: 3 + optimizer: adam + overparam_p: [128, 64, 32] + pickle_feature_encoder: true + rank_k: [256, 128, 64] + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 diff --git a/ranking/ctr/APG/APG_DeepFM_taobaoad_x1/README.md b/ranking/ctr/APG/APG_DeepFM_taobaoad_x1/README.md new file mode 100644 index 0000000..c34532b --- /dev/null +++ b/ranking/ctr/APG/APG_DeepFM_taobaoad_x1/README.md @@ -0,0 +1,210 @@ +## APG_DeepFM_taobaoad_x1 + +A hands-on guide to run the APG model on the TaobaoAd_x1 dataset. + +Author: [BARS Benchmark](https://github.com/reczoo/BARS/blob/main/CITATION) + + +| [Environments](#Environments) | [Dataset](#Dataset) | [Code](#Code) | [Results](#Results) | [Logs](#Logs) | +|:-----------------------------:|:-----------:|:--------:|:--------:|-------| +### Environments ++ Hardware + + ```python + CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz + GPU: Tesla V100 32G + RAM: 755G + + ``` + ++ Software + + ```python + cuda: 10.2 + python: 3.7.10 + pytorch: 1.11.0 + pandas: 1.1.5 + numpy: 1.19.5 + scipy: 1.5.2 + sklearn: 0.22.1 + pyyaml: 6.0 + h5py: 2.8.0 + tqdm: 4.64.0 + fuxictr: 2.0.3 + + ``` + +### Dataset +Please refer to [TaobaoAd_x1](https://github.com/reczoo/Datasets/tree/main/Taobao/TaobaoAd_x1) to get the dataset details. + +### Code + +We use the [APG](https://github.com/reczoo/FuxiCTR/tree/v2.0.3/model_zoo/APG) model code from [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/tree/v2.0.3) for this experiment. + +Running steps: + +1. Download [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/archive/refs/tags/v2.0.3.zip) and install all the dependencies listed in the [environments](#environments). + + ```bash + pip uninstall fuxictr + pip install fuxictr==2.0.3 + ``` + +2. Create a data directory and put the downloaded data files in `../data/Taobao/TaobaoAd_x1`. + +3. Both `dataset_config.yaml` and `model_config.yaml` files are available in [APG_DeepFM_taobaoad_x1_tuner_config_04](./APG_DeepFM_taobaoad_x1_tuner_config_04). Please make sure that the data paths in `dataset_config.yaml` are correctly set. + +4. Run the following script to start training and evaluation. + + ```bash + cd FuxiCTR/model_zoo/APG + nohup python run_expid.py --config YOUR_PATH/APG/APG_DeepFM_taobaoad_x1_tuner_config_04 --expid APG_DeepFM_taobaoad_x1_003_d01b9650 --gpu 0 > run.log & + tail -f run.log + ``` + +### Results + +| gAUC | AUC | logloss | +|:--------------------:|:--------------------:|:--------------------:| +| 0.569266 | 0.640834 | 0.196771 | + + +### Logs +```python +2023-05-31 09:47:22,882 P26433 INFO Params: { + "batch_norm": "False", + "batch_size": "4096", + "condition_features": "None", + "condition_mode": "self-wise", + "data_format": "csv", + "data_root": "../data/Taobao/", + "dataset_id": "taobaoad_x1_2753db8a", + "debug_mode": "False", + "early_stop_patience": "2", + "embedding_dim": "32", + "embedding_regularizer": "5e-06", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'group_id', 'preprocess': 'copy_from(userid)', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': ['userid', 'cms_segid', 'cms_group_id', 'final_gender_code', 'age_level', 'pvalue_level', 'shopping_level', 'occupation', 'new_user_class_level', 'adgroup_id', 'cate_id', 'campaign_id', 'customer', 'brand', 'pid', 'btag'], 'type': 'categorical'}, {'active': True, 'dtype': 'float', 'name': 'price', 'type': 'numeric'}, {'active': True, 'dtype': 'str', 'max_len': 50, 'name': 'cate_his', 'padding': 'pre', 'share_embedding': 'cate_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 50, 'name': 'brand_his', 'padding': 'pre', 'share_embedding': 'brand', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 50, 'name': 'btag_his', 'padding': 'pre', 'share_embedding': 'btag', 'splitter': '^', 'type': 'sequence'}]", + "feature_config": "None", + "feature_specs": "None", + "generate_bias": "True", + "gpu": "2", + "group_id": "group_id", + "hidden_activations": "relu", + "hidden_units": "[512, 256, 128]", + "hypernet_config": "{'dropout_rates': 0, 'hidden_activations': 'relu', 'hidden_units': [512]}", + "label_col": "{'dtype': 'float', 'name': 'clk'}", + "learning_rate": "0.001", + "loss": "binary_crossentropy", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "10", + "model": "APG_DeepFM", + "model_id": "APG_DeepFM_taobaoad_x1_003_d01b9650", + "model_root": "./checkpoints/APG_DeepFM_taobaoad_x1/", + "monitor": "{'AUC': 1, 'gAUC': 1}", + "monitor_mode": "max", + "net_dropout": "0", + "net_regularizer": "0", + "new_condition_emb": "False", + "num_workers": "3", + "optimizer": "adam", + "overparam_p": "None", + "pickle_feature_encoder": "True", + "rank_k": "[128, 64, 32]", + "save_best_only": "True", + "seed": "20222023", + "shuffle": "True", + "task": "binary_classification", + "test_data": "../data/Taobao/TaobaoAd_x1/test.csv", + "train_data": "../data/Taobao/TaobaoAd_x1/train.csv", + "use_features": "None", + "valid_data": "../data/Taobao/TaobaoAd_x1/test.csv", + "verbose": "1" +} +2023-05-31 09:47:22,882 P26433 INFO Set up feature processor... +2023-05-31 09:47:22,883 P26433 WARNING Skip rebuilding ../data/Taobao/taobaoad_x1_2753db8a/feature_map.json. Please delete it manually if rebuilding is required. +2023-05-31 09:47:22,883 P26433 INFO Load feature_map from json: ../data/Taobao/taobaoad_x1_2753db8a/feature_map.json +2023-05-31 09:47:22,883 P26433 INFO Set column index... +2023-05-31 09:47:22,883 P26433 INFO Feature specs: { + "adgroup_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 246850, 'vocab_size': 246851}", + "age_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 8, 'vocab_size': 9}", + "brand": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 308869, 'vocab_size': 308870}", + "brand_his": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'brand', 'padding_idx': 0, 'oov_idx': 308869, 'vocab_size': 308870, 'max_len': 50}", + "btag": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 5, 'vocab_size': 6}", + "btag_his": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'btag', 'padding_idx': 0, 'oov_idx': 5, 'vocab_size': 6, 'max_len': 50}", + "campaign_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 191770, 'vocab_size': 191771}", + "cate_his": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'cate_id', 'padding_idx': 0, 'oov_idx': 11329, 'vocab_size': 11330, 'max_len': 50}", + "cate_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 11329, 'vocab_size': 11330}", + "cms_group_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 14, 'vocab_size': 15}", + "cms_segid": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 98, 'vocab_size': 99}", + "customer": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 132135, 'vocab_size': 132136}", + "final_gender_code": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 3, 'vocab_size': 4}", + "group_id": "{'type': 'meta'}", + "new_user_class_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 6, 'vocab_size': 7}", + "occupation": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 3, 'vocab_size': 4}", + "pid": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 3, 'vocab_size': 4}", + "price": "{'source': '', 'type': 'numeric'}", + "pvalue_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 5, 'vocab_size': 6}", + "shopping_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 4, 'vocab_size': 5}", + "userid": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 403957, 'vocab_size': 403958}" +} +2023-05-31 09:47:27,774 P26433 INFO Total number of parameters: 55480372. +2023-05-31 09:47:27,775 P26433 INFO Loading data... +2023-05-31 09:47:27,775 P26433 INFO Loading data from h5: ../data/Taobao/taobaoad_x1_2753db8a/train.h5 +2023-05-31 09:47:55,417 P26433 INFO Train samples: total/21929911, blocks/1 +2023-05-31 09:47:55,417 P26433 INFO Loading data from h5: ../data/Taobao/taobaoad_x1_2753db8a/valid.h5 +2023-05-31 09:47:59,190 P26433 INFO Validation samples: total/3099515, blocks/1 +2023-05-31 09:47:59,190 P26433 INFO Loading train and validation data done. +2023-05-31 09:47:59,190 P26433 INFO Start training: 5354 batches/epoch +2023-05-31 09:47:59,190 P26433 INFO ************ Epoch=1 start ************ +2023-05-31 09:55:29,060 P26433 INFO Train loss: 0.207752 +2023-05-31 09:55:29,060 P26433 INFO Evaluation @epoch 1 - batch 5354: +2023-05-31 09:57:01,042 P26433 INFO [Metrics] AUC: 0.622413 - gAUC: 0.557634 +2023-05-31 09:57:01,048 P26433 INFO Save best model: monitor(max)=1.180048 +2023-05-31 09:57:01,523 P26433 INFO ************ Epoch=1 end ************ +2023-05-31 10:04:34,097 P26433 INFO Train loss: 0.206166 +2023-05-31 10:04:34,097 P26433 INFO Evaluation @epoch 2 - batch 5354: +2023-05-31 10:06:01,343 P26433 INFO [Metrics] AUC: 0.626363 - gAUC: 0.562221 +2023-05-31 10:06:01,344 P26433 INFO Save best model: monitor(max)=1.188584 +2023-05-31 10:06:01,844 P26433 INFO ************ Epoch=2 end ************ +2023-05-31 10:13:33,139 P26433 INFO Train loss: 0.205646 +2023-05-31 10:13:33,139 P26433 INFO Evaluation @epoch 3 - batch 5354: +2023-05-31 10:15:09,268 P26433 INFO [Metrics] AUC: 0.630111 - gAUC: 0.564107 +2023-05-31 10:15:09,270 P26433 INFO Save best model: monitor(max)=1.194218 +2023-05-31 10:15:09,804 P26433 INFO ************ Epoch=3 end ************ +2023-05-31 10:22:45,585 P26433 INFO Train loss: 0.205778 +2023-05-31 10:22:45,585 P26433 INFO Evaluation @epoch 4 - batch 5354: +2023-05-31 10:24:18,808 P26433 INFO [Metrics] AUC: 0.627708 - gAUC: 0.563474 +2023-05-31 10:24:18,809 P26433 INFO Monitor(max)=1.191182 STOP! +2023-05-31 10:24:18,809 P26433 INFO Reduce learning rate on plateau: 0.000100 +2023-05-31 10:24:18,931 P26433 INFO ************ Epoch=4 end ************ +2023-05-31 10:31:58,131 P26433 INFO Train loss: 0.192036 +2023-05-31 10:31:58,131 P26433 INFO Evaluation @epoch 5 - batch 5354: +2023-05-31 10:33:30,682 P26433 INFO [Metrics] AUC: 0.640834 - gAUC: 0.569266 +2023-05-31 10:33:30,683 P26433 INFO Save best model: monitor(max)=1.210100 +2023-05-31 10:33:31,148 P26433 INFO ************ Epoch=5 end ************ +2023-05-31 10:41:11,836 P26433 INFO Train loss: 0.186426 +2023-05-31 10:41:11,836 P26433 INFO Evaluation @epoch 6 - batch 5354: +2023-05-31 10:42:48,687 P26433 INFO [Metrics] AUC: 0.637207 - gAUC: 0.565047 +2023-05-31 10:42:48,689 P26433 INFO Monitor(max)=1.202254 STOP! +2023-05-31 10:42:48,689 P26433 INFO Reduce learning rate on plateau: 0.000010 +2023-05-31 10:42:48,784 P26433 INFO ************ Epoch=6 end ************ +2023-05-31 10:50:23,231 P26433 INFO Train loss: 0.166509 +2023-05-31 10:50:23,231 P26433 INFO Evaluation @epoch 7 - batch 5354: +2023-05-31 10:52:02,384 P26433 INFO [Metrics] AUC: 0.621497 - gAUC: 0.553312 +2023-05-31 10:52:02,385 P26433 INFO Monitor(max)=1.174809 STOP! +2023-05-31 10:52:02,385 P26433 INFO Reduce learning rate on plateau: 0.000001 +2023-05-31 10:52:02,385 P26433 INFO ********* Epoch==7 early stop ********* +2023-05-31 10:52:02,500 P26433 INFO Training finished. +2023-05-31 10:52:02,501 P26433 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/APG_DeepFM_taobaoad_x1/taobaoad_x1_2753db8a/APG_DeepFM_taobaoad_x1_003_d01b9650.model +2023-05-31 10:52:02,727 P26433 INFO ****** Validation evaluation ****** +2023-05-31 10:53:29,702 P26433 INFO [Metrics] gAUC: 0.569266 - AUC: 0.640834 - logloss: 0.196771 +2023-05-31 10:53:29,871 P26433 INFO ******** Test evaluation ******** +2023-05-31 10:53:29,872 P26433 INFO Loading data... +2023-05-31 10:53:29,872 P26433 INFO Loading data from h5: ../data/Taobao/taobaoad_x1_2753db8a/test.h5 +2023-05-31 10:53:33,937 P26433 INFO Test samples: total/3099515, blocks/1 +2023-05-31 10:53:33,937 P26433 INFO Loading test data done. +2023-05-31 10:55:12,912 P26433 INFO [Metrics] gAUC: 0.569266 - AUC: 0.640834 - logloss: 0.196771 + +``` diff --git a/ranking/ctr/APG/APG_DeepFM_taobaoad_x1/environments.txt b/ranking/ctr/APG/APG_DeepFM_taobaoad_x1/environments.txt new file mode 100644 index 0000000..a39d234 --- /dev/null +++ b/ranking/ctr/APG/APG_DeepFM_taobaoad_x1/environments.txt @@ -0,0 +1,17 @@ +[Hardware] +CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz +GPU: Tesla V100 32G +RAM: 755G + +[Software] +cuda: 10.2 +python: 3.7.10 +pytorch: 1.11.0 +pandas: 1.1.5 +numpy: 1.19.5 +scipy: 1.5.2 +sklearn: 0.22.1 +pyyaml: 6.0 +h5py: 2.8.0 +tqdm: 4.64.0 +fuxictr: 2.0.3 diff --git a/ranking/ctr/APG/APG_DeepFM_taobaoad_x1/results.csv b/ranking/ctr/APG/APG_DeepFM_taobaoad_x1/results.csv new file mode 100644 index 0000000..9910b19 --- /dev/null +++ b/ranking/ctr/APG/APG_DeepFM_taobaoad_x1/results.csv @@ -0,0 +1 @@ + 20230531-105512,[command] python run_expid.py --config Taobao/APG_DeepFM_taobaoad_x1/APG_DeepFM_taobaoad_x1_tuner_config_04 --expid APG_DeepFM_taobaoad_x1_003_d01b9650 --gpu 2,[exp_id] APG_DeepFM_taobaoad_x1_003_d01b9650,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.569266 - AUC: 0.640834 - logloss: 0.196771,[test] gAUC: 0.569266 - AUC: 0.640834 - logloss: 0.196771 diff --git a/ranking/ctr/DMIN/DMIN_amazonelectronics_x1/DMIN_amazonelectronics_x1_007_2401549e.log b/ranking/ctr/DMIN/DMIN_amazonelectronics_x1/DMIN_amazonelectronics_x1_007_2401549e.log new file mode 100644 index 0000000..a651300 --- /dev/null +++ b/ranking/ctr/DMIN/DMIN_amazonelectronics_x1/DMIN_amazonelectronics_x1_007_2401549e.log @@ -0,0 +1,153 @@ +2023-05-24 11:27:29,816 P47166 INFO Params: { + "attention_activation": "Dice", + "attention_dropout": "0.1", + "attention_hidden_units": "[256, 128]", + "aux_activation": "ReLU", + "aux_hidden_units": "[100, 50]", + "aux_loss_lambda": "0", + "batch_norm": "True", + "batch_size": "1024", + "bn_only_once": "True", + "data_format": "csv", + "data_root": "../data/Amazon/", + "dataset_id": "amazonelectronics_x1_51836f99", + "debug_mode": "False", + "dnn_activations": "ReLU", + "dnn_hidden_units": "[1024, 512, 256]", + "early_stop_patience": "2", + "embedding_dim": "64", + "embedding_regularizer": "0.005", + "enable_sum_pooling": "False", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'user_id', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': 'item_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'name': 'cate_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'feature_encoder': 'layers.MaskedAveragePooling()', 'max_len': 100, 'name': 'item_history', 'padding': 'post', 'share_embedding': 'item_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'feature_encoder': 'layers.MaskedAveragePooling()', 'max_len': 100, 'name': 'cate_history', 'padding': 'post', 'share_embedding': 'cate_id', 'splitter': '^', 'type': 'sequence'}]", + "feature_config": "None", + "feature_specs": "[{'feature_encoder': None, 'name': 'item_history'}, {'feature_encoder': None, 'name': 'cate_history'}]", + "gpu": "6", + "group_id": "user_id", + "label_col": "{'dtype': 'float', 'name': 'label'}", + "layer_norm": "True", + "learning_rate": "0.0005", + "loss": "binary_crossentropy", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "1", + "model": "DMIN", + "model_id": "DMIN_amazonelectronics_x1_007_2401549e", + "model_root": "./checkpoints/DMIN_amazonelectronics_x1/", + "monitor": "gAUC", + "monitor_mode": "max", + "neg_seq_field": "None", + "net_dropout": "0.1", + "net_regularizer": "0", + "num_heads": "8", + "num_workers": "3", + "optimizer": "adam", + "pickle_feature_encoder": "True", + "pos_emb_dim": "4", + "save_best_only": "True", + "seed": "20222023", + "sequence_field": "('item_history', 'cate_history')", + "shuffle": "True", + "target_field": "('item_id', 'cate_id')", + "task": "binary_classification", + "test_data": "../data/Amazon/AmazonElectronics_x1/test.csv", + "train_data": "../data/Amazon/AmazonElectronics_x1/train.csv", + "use_behavior_refiner": "True", + "use_features": "None", + "use_pos_emb": "True", + "valid_data": "../data/Amazon/AmazonElectronics_x1/test.csv", + "verbose": "1" +} +2023-05-24 11:27:29,817 P47166 INFO Set up feature processor... +2023-05-24 11:27:29,817 P47166 WARNING Skip rebuilding ../data/Amazon/amazonelectronics_x1_51836f99/feature_map.json. Please delete it manually if rebuilding is required. +2023-05-24 11:27:29,817 P47166 INFO Load feature_map from json: ../data/Amazon/amazonelectronics_x1_51836f99/feature_map.json +2023-05-24 11:27:29,818 P47166 INFO Set column index... +2023-05-24 11:27:29,818 P47166 INFO Feature specs: { + "cate_history": "{'source': '', 'type': 'sequence', 'feature_encoder': None, 'share_embedding': 'cate_id', 'padding_idx': 0, 'oov_idx': 802, 'vocab_size': 803, 'max_len': 100}", + "cate_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 802, 'vocab_size': 803}", + "item_history": "{'source': '', 'type': 'sequence', 'feature_encoder': None, 'share_embedding': 'item_id', 'padding_idx': 0, 'oov_idx': 63002, 'vocab_size': 63003, 'max_len': 100}", + "item_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 63002, 'vocab_size': 63003}", + "user_id": "{'type': 'meta'}" +} +2023-05-24 11:27:35,917 P47166 INFO Total number of parameters: 8107401. +2023-05-24 11:27:35,918 P47166 INFO Loading data... +2023-05-24 11:27:35,918 P47166 INFO Loading data from h5: ../data/Amazon/amazonelectronics_x1_51836f99/train.h5 +2023-05-24 11:27:39,498 P47166 INFO Train samples: total/2608764, blocks/1 +2023-05-24 11:27:39,498 P47166 INFO Loading data from h5: ../data/Amazon/amazonelectronics_x1_51836f99/valid.h5 +2023-05-24 11:27:39,955 P47166 INFO Validation samples: total/384806, blocks/1 +2023-05-24 11:27:39,955 P47166 INFO Loading train and validation data done. +2023-05-24 11:27:39,955 P47166 INFO Start training: 2548 batches/epoch +2023-05-24 11:27:39,955 P47166 INFO ************ Epoch=1 start ************ +2023-05-24 11:42:55,871 P47166 INFO Train loss: 0.633171 +2023-05-24 11:42:55,871 P47166 INFO Evaluation @epoch 1 - batch 2548: +2023-05-24 11:44:31,320 P47166 INFO [Metrics] gAUC: 0.824587 +2023-05-24 11:44:31,321 P47166 INFO Save best model: monitor(max)=0.824587 +2023-05-24 11:44:31,420 P47166 INFO ************ Epoch=1 end ************ +2023-05-24 11:59:48,032 P47166 INFO Train loss: 0.597241 +2023-05-24 11:59:48,033 P47166 INFO Evaluation @epoch 2 - batch 2548: +2023-05-24 12:01:22,531 P47166 INFO [Metrics] gAUC: 0.838599 +2023-05-24 12:01:22,532 P47166 INFO Save best model: monitor(max)=0.838599 +2023-05-24 12:01:22,674 P47166 INFO ************ Epoch=2 end ************ +2023-05-24 12:16:59,671 P47166 INFO Train loss: 0.581494 +2023-05-24 12:16:59,671 P47166 INFO Evaluation @epoch 3 - batch 2548: +2023-05-24 12:18:34,305 P47166 INFO [Metrics] gAUC: 0.846499 +2023-05-24 12:18:34,306 P47166 INFO Save best model: monitor(max)=0.846499 +2023-05-24 12:18:34,449 P47166 INFO ************ Epoch=3 end ************ +2023-05-24 12:33:53,696 P47166 INFO Train loss: 0.572642 +2023-05-24 12:33:53,697 P47166 INFO Evaluation @epoch 4 - batch 2548: +2023-05-24 12:35:25,704 P47166 INFO [Metrics] gAUC: 0.854088 +2023-05-24 12:35:25,705 P47166 INFO Save best model: monitor(max)=0.854088 +2023-05-24 12:35:25,832 P47166 INFO ************ Epoch=4 end ************ +2023-05-24 12:51:00,148 P47166 INFO Train loss: 0.567083 +2023-05-24 12:51:00,149 P47166 INFO Evaluation @epoch 5 - batch 2548: +2023-05-24 12:52:36,536 P47166 INFO [Metrics] gAUC: 0.856005 +2023-05-24 12:52:36,537 P47166 INFO Save best model: monitor(max)=0.856005 +2023-05-24 12:52:36,679 P47166 INFO ************ Epoch=5 end ************ +2023-05-24 13:07:56,608 P47166 INFO Train loss: 0.563811 +2023-05-24 13:07:56,609 P47166 INFO Evaluation @epoch 6 - batch 2548: +2023-05-24 13:09:31,070 P47166 INFO [Metrics] gAUC: 0.858344 +2023-05-24 13:09:31,071 P47166 INFO Save best model: monitor(max)=0.858344 +2023-05-24 13:09:31,215 P47166 INFO ************ Epoch=6 end ************ +2023-05-24 13:25:08,550 P47166 INFO Train loss: 0.558664 +2023-05-24 13:25:08,551 P47166 INFO Evaluation @epoch 7 - batch 2548: +2023-05-24 13:26:44,990 P47166 INFO [Metrics] gAUC: 0.850345 +2023-05-24 13:26:44,991 P47166 INFO Monitor(max)=0.850345 STOP! +2023-05-24 13:26:44,991 P47166 INFO Reduce learning rate on plateau: 0.000050 +2023-05-24 13:26:45,045 P47166 INFO ************ Epoch=7 end ************ +2023-05-24 13:42:06,304 P47166 INFO Train loss: 0.469430 +2023-05-24 13:42:06,304 P47166 INFO Evaluation @epoch 8 - batch 2548: +2023-05-24 13:43:41,616 P47166 INFO [Metrics] gAUC: 0.878308 +2023-05-24 13:43:41,617 P47166 INFO Save best model: monitor(max)=0.878308 +2023-05-24 13:43:41,765 P47166 INFO ************ Epoch=8 end ************ +2023-05-24 13:59:20,412 P47166 INFO Train loss: 0.424771 +2023-05-24 13:59:20,413 P47166 INFO Evaluation @epoch 9 - batch 2548: +2023-05-24 14:00:55,698 P47166 INFO [Metrics] gAUC: 0.882476 +2023-05-24 14:00:55,699 P47166 INFO Save best model: monitor(max)=0.882476 +2023-05-24 14:00:55,846 P47166 INFO ************ Epoch=9 end ************ +2023-05-24 14:16:18,135 P47166 INFO Train loss: 0.405234 +2023-05-24 14:16:18,136 P47166 INFO Evaluation @epoch 10 - batch 2548: +2023-05-24 14:17:48,986 P47166 INFO [Metrics] gAUC: 0.885636 +2023-05-24 14:17:48,987 P47166 INFO Save best model: monitor(max)=0.885636 +2023-05-24 14:17:49,154 P47166 INFO ************ Epoch=10 end ************ +2023-05-24 14:33:15,813 P47166 INFO Train loss: 0.393587 +2023-05-24 14:33:15,813 P47166 INFO Evaluation @epoch 11 - batch 2548: +2023-05-24 14:34:41,038 P47166 INFO [Metrics] gAUC: 0.884456 +2023-05-24 14:34:41,039 P47166 INFO Monitor(max)=0.884456 STOP! +2023-05-24 14:34:41,039 P47166 INFO Reduce learning rate on plateau: 0.000005 +2023-05-24 14:34:41,106 P47166 INFO ************ Epoch=11 end ************ +2023-05-24 14:49:57,000 P47166 INFO Train loss: 0.351805 +2023-05-24 14:49:57,001 P47166 INFO Evaluation @epoch 12 - batch 2548: +2023-05-24 14:51:22,467 P47166 INFO [Metrics] gAUC: 0.882938 +2023-05-24 14:51:22,468 P47166 INFO Monitor(max)=0.882938 STOP! +2023-05-24 14:51:22,469 P47166 INFO Reduce learning rate on plateau: 0.000001 +2023-05-24 14:51:22,469 P47166 INFO ********* Epoch==12 early stop ********* +2023-05-24 14:51:22,524 P47166 INFO Training finished. +2023-05-24 14:51:22,524 P47166 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/DMIN_amazonelectronics_x1/amazonelectronics_x1_51836f99/DMIN_amazonelectronics_x1_007_2401549e.model +2023-05-24 14:51:22,591 P47166 INFO ****** Validation evaluation ****** +2023-05-24 14:52:43,997 P47166 INFO [Metrics] gAUC: 0.885636 - AUC: 0.887665 - logloss: 0.424567 +2023-05-24 14:52:44,082 P47166 INFO ******** Test evaluation ******** +2023-05-24 14:52:44,082 P47166 INFO Loading data... +2023-05-24 14:52:44,082 P47166 INFO Loading data from h5: ../data/Amazon/amazonelectronics_x1_51836f99/test.h5 +2023-05-24 14:52:44,528 P47166 INFO Test samples: total/384806, blocks/1 +2023-05-24 14:52:44,528 P47166 INFO Loading test data done. +2023-05-24 14:54:05,129 P47166 INFO [Metrics] gAUC: 0.885636 - AUC: 0.887665 - logloss: 0.424567 diff --git a/ranking/ctr/DMIN/DMIN_amazonelectronics_x1/DMIN_amazonelectronics_x1_tuner_config_05.csv b/ranking/ctr/DMIN/DMIN_amazonelectronics_x1/DMIN_amazonelectronics_x1_tuner_config_05.csv new file mode 100644 index 0000000..e06fd1f --- /dev/null +++ b/ranking/ctr/DMIN/DMIN_amazonelectronics_x1/DMIN_amazonelectronics_x1_tuner_config_05.csv @@ -0,0 +1,12 @@ + 20230524-145405,[command] python run_expid.py --config Amazon/DMIN_amazonelectronics_x1/DMIN_amazonelectronics_x1_tuner_config_05 --expid DMIN_amazonelectronics_x1_007_2401549e --gpu 6,[exp_id] DMIN_amazonelectronics_x1_007_2401549e,[dataset_id] amazonelectronics_x1_51836f99,[train] N.A.,[val] gAUC: 0.885636 - AUC: 0.887665 - logloss: 0.424567,[test] gAUC: 0.885636 - AUC: 0.887665 - logloss: 0.424567 + 20230524-190451,[command] python run_expid.py --config Amazon/DMIN_amazonelectronics_x1/DMIN_amazonelectronics_x1_tuner_config_05 --expid DMIN_amazonelectronics_x1_004_04fd36fe --gpu 3,[exp_id] DMIN_amazonelectronics_x1_004_04fd36fe,[dataset_id] amazonelectronics_x1_51836f99,[train] N.A.,[val] gAUC: 0.884440 - AUC: 0.886097 - logloss: 0.430954,[test] gAUC: 0.884440 - AUC: 0.886097 - logloss: 0.430954 + 20230524-182654,[command] python run_expid.py --config Amazon/DMIN_amazonelectronics_x1/DMIN_amazonelectronics_x1_tuner_config_05 --expid DMIN_amazonelectronics_x1_009_f93efb92 --gpu 0,[exp_id] DMIN_amazonelectronics_x1_009_f93efb92,[dataset_id] amazonelectronics_x1_51836f99,[train] N.A.,[val] gAUC: 0.884420 - AUC: 0.887016 - logloss: 0.426040,[test] gAUC: 0.884420 - AUC: 0.887016 - logloss: 0.426040 + 20230524-140346,[command] python run_expid.py --config Amazon/DMIN_amazonelectronics_x1/DMIN_amazonelectronics_x1_tuner_config_05 --expid DMIN_amazonelectronics_x1_008_9b7d44c5 --gpu 7,[exp_id] DMIN_amazonelectronics_x1_008_9b7d44c5,[dataset_id] amazonelectronics_x1_51836f99,[train] N.A.,[val] gAUC: 0.883936 - AUC: 0.886367 - logloss: 0.425338,[test] gAUC: 0.883936 - AUC: 0.886367 - logloss: 0.425338 + 20230524-173612,[command] python run_expid.py --config Amazon/DMIN_amazonelectronics_x1/DMIN_amazonelectronics_x1_tuner_config_05 --expid DMIN_amazonelectronics_x1_011_7367e024 --gpu 2,[exp_id] DMIN_amazonelectronics_x1_011_7367e024,[dataset_id] amazonelectronics_x1_51836f99,[train] N.A.,[val] gAUC: 0.883916 - AUC: 0.886443 - logloss: 0.427440,[test] gAUC: 0.883916 - AUC: 0.886443 - logloss: 0.427440 + 20230524-165717,[command] python run_expid.py --config Amazon/DMIN_amazonelectronics_x1/DMIN_amazonelectronics_x1_tuner_config_05 --expid DMIN_amazonelectronics_x1_010_0a9faf2c --gpu 1,[exp_id] DMIN_amazonelectronics_x1_010_0a9faf2c,[dataset_id] amazonelectronics_x1_51836f99,[train] N.A.,[val] gAUC: 0.883817 - AUC: 0.885919 - logloss: 0.427586,[test] gAUC: 0.883817 - AUC: 0.885919 - logloss: 0.427586 + 20230524-184811,[command] python run_expid.py --config Amazon/DMIN_amazonelectronics_x1/DMIN_amazonelectronics_x1_tuner_config_05 --expid DMIN_amazonelectronics_x1_012_10a6586c --gpu 3,[exp_id] DMIN_amazonelectronics_x1_012_10a6586c,[dataset_id] amazonelectronics_x1_51836f99,[train] N.A.,[val] gAUC: 0.883463 - AUC: 0.885426 - logloss: 0.429446,[test] gAUC: 0.883463 - AUC: 0.885426 - logloss: 0.429446 + 20230524-175224,[command] python run_expid.py --config Amazon/DMIN_amazonelectronics_x1/DMIN_amazonelectronics_x1_tuner_config_05 --expid DMIN_amazonelectronics_x1_003_2caca3c0 --gpu 2,[exp_id] DMIN_amazonelectronics_x1_003_2caca3c0,[dataset_id] amazonelectronics_x1_51836f99,[train] N.A.,[val] gAUC: 0.883297 - AUC: 0.885237 - logloss: 0.431304,[test] gAUC: 0.883297 - AUC: 0.885237 - logloss: 0.431304 + 20230524-142031,[command] python run_expid.py --config Amazon/DMIN_amazonelectronics_x1/DMIN_amazonelectronics_x1_tuner_config_05 --expid DMIN_amazonelectronics_x1_006_30327662 --gpu 5,[exp_id] DMIN_amazonelectronics_x1_006_30327662,[dataset_id] amazonelectronics_x1_51836f99,[train] N.A.,[val] gAUC: 0.883266 - AUC: 0.884806 - logloss: 0.431934,[test] gAUC: 0.883266 - AUC: 0.884806 - logloss: 0.431934 + 20230524-165744,[command] python run_expid.py --config Amazon/DMIN_amazonelectronics_x1/DMIN_amazonelectronics_x1_tuner_config_05 --expid DMIN_amazonelectronics_x1_002_239f4f9c --gpu 1,[exp_id] DMIN_amazonelectronics_x1_002_239f4f9c,[dataset_id] amazonelectronics_x1_51836f99,[train] N.A.,[val] gAUC: 0.881473 - AUC: 0.883747 - logloss: 0.432943,[test] gAUC: 0.881473 - AUC: 0.883747 - logloss: 0.432943 + 20230524-181047,[command] python run_expid.py --config Amazon/DMIN_amazonelectronics_x1/DMIN_amazonelectronics_x1_tuner_config_05 --expid DMIN_amazonelectronics_x1_001_a107bec3 --gpu 0,[exp_id] DMIN_amazonelectronics_x1_001_a107bec3,[dataset_id] amazonelectronics_x1_51836f99,[train] N.A.,[val] gAUC: 0.880168 - AUC: 0.882239 - logloss: 0.436929,[test] gAUC: 0.880168 - AUC: 0.882239 - logloss: 0.436929 + 20230524-152741,[command] python run_expid.py --config Amazon/DMIN_amazonelectronics_x1/DMIN_amazonelectronics_x1_tuner_config_05 --expid DMIN_amazonelectronics_x1_005_4392f024 --gpu 4,[exp_id] DMIN_amazonelectronics_x1_005_4392f024,[dataset_id] amazonelectronics_x1_51836f99,[train] N.A.,[val] gAUC: 0.877715 - AUC: 0.879797 - logloss: 0.441652,[test] gAUC: 0.877715 - AUC: 0.879797 - logloss: 0.441652 diff --git a/ranking/ctr/DMIN/DMIN_amazonelectronics_x1/DMIN_amazonelectronics_x1_tuner_config_05.yaml b/ranking/ctr/DMIN/DMIN_amazonelectronics_x1/DMIN_amazonelectronics_x1_tuner_config_05.yaml new file mode 100644 index 0000000..a69f1a0 --- /dev/null +++ b/ranking/ctr/DMIN/DMIN_amazonelectronics_x1/DMIN_amazonelectronics_x1_tuner_config_05.yaml @@ -0,0 +1,53 @@ +base_config: ../model_zoo/DMIN/config/ +base_expid: DMIN_default +dataset_id: amazonelectronics_x1 + +dataset_config: + amazonelectronics_x1: + data_root: ../data/Amazon/ + data_format: csv + train_data: ../data/Amazon/AmazonElectronics_x1/train.csv + valid_data: ../data/Amazon/AmazonElectronics_x1/test.csv # no validation data split in original paper + test_data: ../data/Amazon/AmazonElectronics_x1/test.csv + min_categr_count: 1 + feature_cols: + - {name: user_id, active: True, dtype: int, type: meta, remap: False} + - {name: item_id, active: True, dtype: str, type: categorical} + - {name: cate_id, active: True, dtype: str, type: categorical} + - {name: item_history, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, padding: "post", + feature_encoder: "layers.MaskedAveragePooling()", share_embedding: item_id} + - {name: cate_history, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, padding: "post", + feature_encoder: "layers.MaskedAveragePooling()", share_embedding: cate_id} + label_col: {name: label, dtype: float} + + +tuner_space: + model_root: './checkpoints/DMIN_amazonelectronics_x1/' + feature_specs: [[ + {name: item_history, feature_encoder: null}, + {name: cate_history, feature_encoder: null} + ]] + embedding_dim: 64 + dnn_hidden_units: [[1024, 512, 256]] + target_field: [!!python/tuple [item_id, cate_id]] + sequence_field: [!!python/tuple [item_history, cate_history]] + dnn_activations: ReLU + num_heads: 8 + attention_activation: Dice + attention_hidden_units: [[256, 128]] + attention_dropout: [0.1, 0.2] + embedding_regularizer: 5.e-3 + net_dropout: 0.1 + enable_sum_pooling: [True, False] + use_behavior_refiner: True + use_pos_emb: True + pos_emb_dim: [4, 8, 16] + batch_norm: True + bn_only_once: True + learning_rate: 5.e-4 + batch_size: 1024 + seed: 20222023 + group_id: user_id + metrics: [[gAUC, AUC, logloss]] + monitor: gAUC + diff --git a/ranking/ctr/DMIN/DMIN_amazonelectronics_x1/DMIN_amazonelectronics_x1_tuner_config_05/dataset_config.yaml b/ranking/ctr/DMIN/DMIN_amazonelectronics_x1/DMIN_amazonelectronics_x1_tuner_config_05/dataset_config.yaml new file mode 100644 index 0000000..8e30e8e --- /dev/null +++ b/ranking/ctr/DMIN/DMIN_amazonelectronics_x1/DMIN_amazonelectronics_x1_tuner_config_05/dataset_config.yaml @@ -0,0 +1,18 @@ +amazonelectronics_x1_51836f99: + data_format: csv + data_root: ../data/Amazon/ + feature_cols: + - {active: true, dtype: int, name: user_id, remap: false, type: meta} + - {active: true, dtype: str, name: item_id, type: categorical} + - {active: true, dtype: str, name: cate_id, type: categorical} + - {active: true, dtype: str, feature_encoder: layers.MaskedAveragePooling(), max_len: 100, + name: item_history, padding: post, share_embedding: item_id, splitter: ^, + type: sequence} + - {active: true, dtype: str, feature_encoder: layers.MaskedAveragePooling(), max_len: 100, + name: cate_history, padding: post, share_embedding: cate_id, splitter: ^, + type: sequence} + label_col: {dtype: float, name: label} + min_categr_count: 1 + test_data: ../data/Amazon/AmazonElectronics_x1/test.csv + train_data: ../data/Amazon/AmazonElectronics_x1/train.csv + valid_data: ../data/Amazon/AmazonElectronics_x1/test.csv diff --git a/ranking/ctr/DMIN/DMIN_amazonelectronics_x1/DMIN_amazonelectronics_x1_tuner_config_05/model_config.yaml b/ranking/ctr/DMIN/DMIN_amazonelectronics_x1/DMIN_amazonelectronics_x1_tuner_config_05/model_config.yaml new file mode 100644 index 0000000..516cb2e --- /dev/null +++ b/ranking/ctr/DMIN/DMIN_amazonelectronics_x1/DMIN_amazonelectronics_x1_tuner_config_05/model_config.yaml @@ -0,0 +1,612 @@ +DMIN_amazonelectronics_x1_001_a107bec3: + attention_activation: Dice + attention_dropout: 0.1 + attention_hidden_units: [256, 128] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: true + batch_size: 1024 + bn_only_once: true + dataset_id: amazonelectronics_x1_51836f99 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + enable_sum_pooling: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: null, name: item_history} + - {feature_encoder: null, name: cate_history} + group_id: user_id + layer_norm: true + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_amazonelectronics_x1/ + monitor: gAUC + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 8 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 4 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [item_history, cate_history] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_amazonelectronics_x1_002_239f4f9c: + attention_activation: Dice + attention_dropout: 0.1 + attention_hidden_units: [256, 128] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: true + batch_size: 1024 + bn_only_once: true + dataset_id: amazonelectronics_x1_51836f99 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + enable_sum_pooling: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: null, name: item_history} + - {feature_encoder: null, name: cate_history} + group_id: user_id + layer_norm: true + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_amazonelectronics_x1/ + monitor: gAUC + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 8 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [item_history, cate_history] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_amazonelectronics_x1_003_2caca3c0: + attention_activation: Dice + attention_dropout: 0.1 + attention_hidden_units: [256, 128] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: true + batch_size: 1024 + bn_only_once: true + dataset_id: amazonelectronics_x1_51836f99 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + enable_sum_pooling: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: null, name: item_history} + - {feature_encoder: null, name: cate_history} + group_id: user_id + layer_norm: true + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_amazonelectronics_x1/ + monitor: gAUC + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 8 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 16 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [item_history, cate_history] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_amazonelectronics_x1_004_04fd36fe: + attention_activation: Dice + attention_dropout: 0.2 + attention_hidden_units: [256, 128] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: true + batch_size: 1024 + bn_only_once: true + dataset_id: amazonelectronics_x1_51836f99 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + enable_sum_pooling: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: null, name: item_history} + - {feature_encoder: null, name: cate_history} + group_id: user_id + layer_norm: true + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_amazonelectronics_x1/ + monitor: gAUC + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 8 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 4 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [item_history, cate_history] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_amazonelectronics_x1_005_4392f024: + attention_activation: Dice + attention_dropout: 0.2 + attention_hidden_units: [256, 128] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: true + batch_size: 1024 + bn_only_once: true + dataset_id: amazonelectronics_x1_51836f99 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + enable_sum_pooling: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: null, name: item_history} + - {feature_encoder: null, name: cate_history} + group_id: user_id + layer_norm: true + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_amazonelectronics_x1/ + monitor: gAUC + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 8 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [item_history, cate_history] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_amazonelectronics_x1_006_30327662: + attention_activation: Dice + attention_dropout: 0.2 + attention_hidden_units: [256, 128] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: true + batch_size: 1024 + bn_only_once: true + dataset_id: amazonelectronics_x1_51836f99 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + enable_sum_pooling: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: null, name: item_history} + - {feature_encoder: null, name: cate_history} + group_id: user_id + layer_norm: true + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_amazonelectronics_x1/ + monitor: gAUC + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 8 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 16 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [item_history, cate_history] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_amazonelectronics_x1_007_2401549e: + attention_activation: Dice + attention_dropout: 0.1 + attention_hidden_units: [256, 128] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: true + batch_size: 1024 + bn_only_once: true + dataset_id: amazonelectronics_x1_51836f99 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: null, name: item_history} + - {feature_encoder: null, name: cate_history} + group_id: user_id + layer_norm: true + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_amazonelectronics_x1/ + monitor: gAUC + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 8 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 4 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [item_history, cate_history] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_amazonelectronics_x1_008_9b7d44c5: + attention_activation: Dice + attention_dropout: 0.1 + attention_hidden_units: [256, 128] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: true + batch_size: 1024 + bn_only_once: true + dataset_id: amazonelectronics_x1_51836f99 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: null, name: item_history} + - {feature_encoder: null, name: cate_history} + group_id: user_id + layer_norm: true + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_amazonelectronics_x1/ + monitor: gAUC + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 8 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [item_history, cate_history] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_amazonelectronics_x1_009_f93efb92: + attention_activation: Dice + attention_dropout: 0.1 + attention_hidden_units: [256, 128] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: true + batch_size: 1024 + bn_only_once: true + dataset_id: amazonelectronics_x1_51836f99 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: null, name: item_history} + - {feature_encoder: null, name: cate_history} + group_id: user_id + layer_norm: true + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_amazonelectronics_x1/ + monitor: gAUC + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 8 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 16 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [item_history, cate_history] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_amazonelectronics_x1_010_0a9faf2c: + attention_activation: Dice + attention_dropout: 0.2 + attention_hidden_units: [256, 128] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: true + batch_size: 1024 + bn_only_once: true + dataset_id: amazonelectronics_x1_51836f99 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: null, name: item_history} + - {feature_encoder: null, name: cate_history} + group_id: user_id + layer_norm: true + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_amazonelectronics_x1/ + monitor: gAUC + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 8 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 4 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [item_history, cate_history] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_amazonelectronics_x1_011_7367e024: + attention_activation: Dice + attention_dropout: 0.2 + attention_hidden_units: [256, 128] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: true + batch_size: 1024 + bn_only_once: true + dataset_id: amazonelectronics_x1_51836f99 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: null, name: item_history} + - {feature_encoder: null, name: cate_history} + group_id: user_id + layer_norm: true + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_amazonelectronics_x1/ + monitor: gAUC + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 8 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [item_history, cate_history] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_amazonelectronics_x1_012_10a6586c: + attention_activation: Dice + attention_dropout: 0.2 + attention_hidden_units: [256, 128] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: true + batch_size: 1024 + bn_only_once: true + dataset_id: amazonelectronics_x1_51836f99 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: null, name: item_history} + - {feature_encoder: null, name: cate_history} + group_id: user_id + layer_norm: true + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_amazonelectronics_x1/ + monitor: gAUC + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 8 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 16 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [item_history, cate_history] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: true + verbose: 1 diff --git a/ranking/ctr/DMIN/DMIN_amazonelectronics_x1/README.md b/ranking/ctr/DMIN/DMIN_amazonelectronics_x1/README.md new file mode 100644 index 0000000..90b773e --- /dev/null +++ b/ranking/ctr/DMIN/DMIN_amazonelectronics_x1/README.md @@ -0,0 +1,228 @@ +## DMIN_amazonelectronics_x1 + +A hands-on guide to run the DMIN model on the AmazonElectronics_x1 dataset. + +Author: [BARS Benchmark](https://github.com/reczoo/BARS/blob/main/CITATION) + + +| [Environments](#Environments) | [Dataset](#Dataset) | [Code](#Code) | [Results](#Results) | [Logs](#Logs) | +|:-----------------------------:|:-----------:|:--------:|:--------:|-------| +### Environments ++ Hardware + + ```python + CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz + GPU: Tesla V100 32G + RAM: 755G + + ``` + ++ Software + + ```python + cuda: 10.2 + python: 3.7.10 + pytorch: 1.11.0 + pandas: 1.1.5 + numpy: 1.19.5 + scipy: 1.5.2 + sklearn: 0.22.1 + pyyaml: 6.0 + h5py: 2.8.0 + tqdm: 4.64.0 + fuxictr: 2.0.3 + + ``` + +### Dataset +Please refer to [AmazonElectronics_x1](https://github.com/reczoo/Datasets/tree/main/Amazon/AmazonElectronics_x1) to get the dataset details. + +### Code + +We use the [DMIN](https://github.com/reczoo/FuxiCTR/tree/v2.0.3/model_zoo/DMIN) model code from [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/tree/v2.0.3) for this experiment. + +Running steps: + +1. Download [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/archive/refs/tags/v2.0.3.zip) and install all the dependencies listed in the [environments](#environments). + + ```bash + pip uninstall fuxictr + pip install fuxictr==2.0.3 + ``` + +2. Create a data directory and put the downloaded data files in `../data/Amazon/AmazonElectronics_x1`. + +3. Both `dataset_config.yaml` and `model_config.yaml` files are available in [DMIN_amazonelectronics_x1_tuner_config_05](./DMIN_amazonelectronics_x1_tuner_config_05). Please make sure that the data paths in `dataset_config.yaml` are correctly set. + +4. Run the following script to start training and evaluation. + + ```bash + cd FuxiCTR/model_zoo/DMIN + nohup python run_expid.py --config YOUR_PATH/DMIN/DMIN_amazonelectronics_x1_tuner_config_05 --expid DMIN_amazonelectronics_x1_007_2401549e --gpu 0 > run.log & + tail -f run.log + ``` + +### Results + +| gAUC | AUC | logloss | +|:--------------------:|:--------------------:|:--------------------:| +| 0.885636 | 0.887665 | 0.424567 | + + +### Logs +```python +2023-05-24 11:27:29,816 P47166 INFO Params: { + "attention_activation": "Dice", + "attention_dropout": "0.1", + "attention_hidden_units": "[256, 128]", + "aux_activation": "ReLU", + "aux_hidden_units": "[100, 50]", + "aux_loss_lambda": "0", + "batch_norm": "True", + "batch_size": "1024", + "bn_only_once": "True", + "data_format": "csv", + "data_root": "../data/Amazon/", + "dataset_id": "amazonelectronics_x1_51836f99", + "debug_mode": "False", + "dnn_activations": "ReLU", + "dnn_hidden_units": "[1024, 512, 256]", + "early_stop_patience": "2", + "embedding_dim": "64", + "embedding_regularizer": "0.005", + "enable_sum_pooling": "False", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'user_id', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': 'item_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'name': 'cate_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'feature_encoder': 'layers.MaskedAveragePooling()', 'max_len': 100, 'name': 'item_history', 'padding': 'post', 'share_embedding': 'item_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'feature_encoder': 'layers.MaskedAveragePooling()', 'max_len': 100, 'name': 'cate_history', 'padding': 'post', 'share_embedding': 'cate_id', 'splitter': '^', 'type': 'sequence'}]", + "feature_config": "None", + "feature_specs": "[{'feature_encoder': None, 'name': 'item_history'}, {'feature_encoder': None, 'name': 'cate_history'}]", + "gpu": "6", + "group_id": "user_id", + "label_col": "{'dtype': 'float', 'name': 'label'}", + "layer_norm": "True", + "learning_rate": "0.0005", + "loss": "binary_crossentropy", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "1", + "model": "DMIN", + "model_id": "DMIN_amazonelectronics_x1_007_2401549e", + "model_root": "./checkpoints/DMIN_amazonelectronics_x1/", + "monitor": "gAUC", + "monitor_mode": "max", + "neg_seq_field": "None", + "net_dropout": "0.1", + "net_regularizer": "0", + "num_heads": "8", + "num_workers": "3", + "optimizer": "adam", + "pickle_feature_encoder": "True", + "pos_emb_dim": "4", + "save_best_only": "True", + "seed": "20222023", + "sequence_field": "('item_history', 'cate_history')", + "shuffle": "True", + "target_field": "('item_id', 'cate_id')", + "task": "binary_classification", + "test_data": "../data/Amazon/AmazonElectronics_x1/test.csv", + "train_data": "../data/Amazon/AmazonElectronics_x1/train.csv", + "use_behavior_refiner": "True", + "use_features": "None", + "use_pos_emb": "True", + "valid_data": "../data/Amazon/AmazonElectronics_x1/test.csv", + "verbose": "1" +} +2023-05-24 11:27:29,817 P47166 INFO Set up feature processor... +2023-05-24 11:27:29,817 P47166 WARNING Skip rebuilding ../data/Amazon/amazonelectronics_x1_51836f99/feature_map.json. Please delete it manually if rebuilding is required. +2023-05-24 11:27:29,817 P47166 INFO Load feature_map from json: ../data/Amazon/amazonelectronics_x1_51836f99/feature_map.json +2023-05-24 11:27:29,818 P47166 INFO Set column index... +2023-05-24 11:27:29,818 P47166 INFO Feature specs: { + "cate_history": "{'source': '', 'type': 'sequence', 'feature_encoder': None, 'share_embedding': 'cate_id', 'padding_idx': 0, 'oov_idx': 802, 'vocab_size': 803, 'max_len': 100}", + "cate_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 802, 'vocab_size': 803}", + "item_history": "{'source': '', 'type': 'sequence', 'feature_encoder': None, 'share_embedding': 'item_id', 'padding_idx': 0, 'oov_idx': 63002, 'vocab_size': 63003, 'max_len': 100}", + "item_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 63002, 'vocab_size': 63003}", + "user_id": "{'type': 'meta'}" +} +2023-05-24 11:27:35,917 P47166 INFO Total number of parameters: 8107401. +2023-05-24 11:27:35,918 P47166 INFO Loading data... +2023-05-24 11:27:35,918 P47166 INFO Loading data from h5: ../data/Amazon/amazonelectronics_x1_51836f99/train.h5 +2023-05-24 11:27:39,498 P47166 INFO Train samples: total/2608764, blocks/1 +2023-05-24 11:27:39,498 P47166 INFO Loading data from h5: ../data/Amazon/amazonelectronics_x1_51836f99/valid.h5 +2023-05-24 11:27:39,955 P47166 INFO Validation samples: total/384806, blocks/1 +2023-05-24 11:27:39,955 P47166 INFO Loading train and validation data done. +2023-05-24 11:27:39,955 P47166 INFO Start training: 2548 batches/epoch +2023-05-24 11:27:39,955 P47166 INFO ************ Epoch=1 start ************ +2023-05-24 11:42:55,871 P47166 INFO Train loss: 0.633171 +2023-05-24 11:42:55,871 P47166 INFO Evaluation @epoch 1 - batch 2548: +2023-05-24 11:44:31,320 P47166 INFO [Metrics] gAUC: 0.824587 +2023-05-24 11:44:31,321 P47166 INFO Save best model: monitor(max)=0.824587 +2023-05-24 11:44:31,420 P47166 INFO ************ Epoch=1 end ************ +2023-05-24 11:59:48,032 P47166 INFO Train loss: 0.597241 +2023-05-24 11:59:48,033 P47166 INFO Evaluation @epoch 2 - batch 2548: +2023-05-24 12:01:22,531 P47166 INFO [Metrics] gAUC: 0.838599 +2023-05-24 12:01:22,532 P47166 INFO Save best model: monitor(max)=0.838599 +2023-05-24 12:01:22,674 P47166 INFO ************ Epoch=2 end ************ +2023-05-24 12:16:59,671 P47166 INFO Train loss: 0.581494 +2023-05-24 12:16:59,671 P47166 INFO Evaluation @epoch 3 - batch 2548: +2023-05-24 12:18:34,305 P47166 INFO [Metrics] gAUC: 0.846499 +2023-05-24 12:18:34,306 P47166 INFO Save best model: monitor(max)=0.846499 +2023-05-24 12:18:34,449 P47166 INFO ************ Epoch=3 end ************ +2023-05-24 12:33:53,696 P47166 INFO Train loss: 0.572642 +2023-05-24 12:33:53,697 P47166 INFO Evaluation @epoch 4 - batch 2548: +2023-05-24 12:35:25,704 P47166 INFO [Metrics] gAUC: 0.854088 +2023-05-24 12:35:25,705 P47166 INFO Save best model: monitor(max)=0.854088 +2023-05-24 12:35:25,832 P47166 INFO ************ Epoch=4 end ************ +2023-05-24 12:51:00,148 P47166 INFO Train loss: 0.567083 +2023-05-24 12:51:00,149 P47166 INFO Evaluation @epoch 5 - batch 2548: +2023-05-24 12:52:36,536 P47166 INFO [Metrics] gAUC: 0.856005 +2023-05-24 12:52:36,537 P47166 INFO Save best model: monitor(max)=0.856005 +2023-05-24 12:52:36,679 P47166 INFO ************ Epoch=5 end ************ +2023-05-24 13:07:56,608 P47166 INFO Train loss: 0.563811 +2023-05-24 13:07:56,609 P47166 INFO Evaluation @epoch 6 - batch 2548: +2023-05-24 13:09:31,070 P47166 INFO [Metrics] gAUC: 0.858344 +2023-05-24 13:09:31,071 P47166 INFO Save best model: monitor(max)=0.858344 +2023-05-24 13:09:31,215 P47166 INFO ************ Epoch=6 end ************ +2023-05-24 13:25:08,550 P47166 INFO Train loss: 0.558664 +2023-05-24 13:25:08,551 P47166 INFO Evaluation @epoch 7 - batch 2548: +2023-05-24 13:26:44,990 P47166 INFO [Metrics] gAUC: 0.850345 +2023-05-24 13:26:44,991 P47166 INFO Monitor(max)=0.850345 STOP! +2023-05-24 13:26:44,991 P47166 INFO Reduce learning rate on plateau: 0.000050 +2023-05-24 13:26:45,045 P47166 INFO ************ Epoch=7 end ************ +2023-05-24 13:42:06,304 P47166 INFO Train loss: 0.469430 +2023-05-24 13:42:06,304 P47166 INFO Evaluation @epoch 8 - batch 2548: +2023-05-24 13:43:41,616 P47166 INFO [Metrics] gAUC: 0.878308 +2023-05-24 13:43:41,617 P47166 INFO Save best model: monitor(max)=0.878308 +2023-05-24 13:43:41,765 P47166 INFO ************ Epoch=8 end ************ +2023-05-24 13:59:20,412 P47166 INFO Train loss: 0.424771 +2023-05-24 13:59:20,413 P47166 INFO Evaluation @epoch 9 - batch 2548: +2023-05-24 14:00:55,698 P47166 INFO [Metrics] gAUC: 0.882476 +2023-05-24 14:00:55,699 P47166 INFO Save best model: monitor(max)=0.882476 +2023-05-24 14:00:55,846 P47166 INFO ************ Epoch=9 end ************ +2023-05-24 14:16:18,135 P47166 INFO Train loss: 0.405234 +2023-05-24 14:16:18,136 P47166 INFO Evaluation @epoch 10 - batch 2548: +2023-05-24 14:17:48,986 P47166 INFO [Metrics] gAUC: 0.885636 +2023-05-24 14:17:48,987 P47166 INFO Save best model: monitor(max)=0.885636 +2023-05-24 14:17:49,154 P47166 INFO ************ Epoch=10 end ************ +2023-05-24 14:33:15,813 P47166 INFO Train loss: 0.393587 +2023-05-24 14:33:15,813 P47166 INFO Evaluation @epoch 11 - batch 2548: +2023-05-24 14:34:41,038 P47166 INFO [Metrics] gAUC: 0.884456 +2023-05-24 14:34:41,039 P47166 INFO Monitor(max)=0.884456 STOP! +2023-05-24 14:34:41,039 P47166 INFO Reduce learning rate on plateau: 0.000005 +2023-05-24 14:34:41,106 P47166 INFO ************ Epoch=11 end ************ +2023-05-24 14:49:57,000 P47166 INFO Train loss: 0.351805 +2023-05-24 14:49:57,001 P47166 INFO Evaluation @epoch 12 - batch 2548: +2023-05-24 14:51:22,467 P47166 INFO [Metrics] gAUC: 0.882938 +2023-05-24 14:51:22,468 P47166 INFO Monitor(max)=0.882938 STOP! +2023-05-24 14:51:22,469 P47166 INFO Reduce learning rate on plateau: 0.000001 +2023-05-24 14:51:22,469 P47166 INFO ********* Epoch==12 early stop ********* +2023-05-24 14:51:22,524 P47166 INFO Training finished. +2023-05-24 14:51:22,524 P47166 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/DMIN_amazonelectronics_x1/amazonelectronics_x1_51836f99/DMIN_amazonelectronics_x1_007_2401549e.model +2023-05-24 14:51:22,591 P47166 INFO ****** Validation evaluation ****** +2023-05-24 14:52:43,997 P47166 INFO [Metrics] gAUC: 0.885636 - AUC: 0.887665 - logloss: 0.424567 +2023-05-24 14:52:44,082 P47166 INFO ******** Test evaluation ******** +2023-05-24 14:52:44,082 P47166 INFO Loading data... +2023-05-24 14:52:44,082 P47166 INFO Loading data from h5: ../data/Amazon/amazonelectronics_x1_51836f99/test.h5 +2023-05-24 14:52:44,528 P47166 INFO Test samples: total/384806, blocks/1 +2023-05-24 14:52:44,528 P47166 INFO Loading test data done. +2023-05-24 14:54:05,129 P47166 INFO [Metrics] gAUC: 0.885636 - AUC: 0.887665 - logloss: 0.424567 + +``` diff --git a/ranking/ctr/DMIN/DMIN_amazonelectronics_x1/environments.txt b/ranking/ctr/DMIN/DMIN_amazonelectronics_x1/environments.txt new file mode 100644 index 0000000..a39d234 --- /dev/null +++ b/ranking/ctr/DMIN/DMIN_amazonelectronics_x1/environments.txt @@ -0,0 +1,17 @@ +[Hardware] +CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz +GPU: Tesla V100 32G +RAM: 755G + +[Software] +cuda: 10.2 +python: 3.7.10 +pytorch: 1.11.0 +pandas: 1.1.5 +numpy: 1.19.5 +scipy: 1.5.2 +sklearn: 0.22.1 +pyyaml: 6.0 +h5py: 2.8.0 +tqdm: 4.64.0 +fuxictr: 2.0.3 diff --git a/ranking/ctr/DMIN/DMIN_amazonelectronics_x1/results.csv b/ranking/ctr/DMIN/DMIN_amazonelectronics_x1/results.csv new file mode 100644 index 0000000..1351efb --- /dev/null +++ b/ranking/ctr/DMIN/DMIN_amazonelectronics_x1/results.csv @@ -0,0 +1 @@ + 20230524-145405,[command] python run_expid.py --config Amazon/DMIN_amazonelectronics_x1/DMIN_amazonelectronics_x1_tuner_config_05 --expid DMIN_amazonelectronics_x1_007_2401549e --gpu 6,[exp_id] DMIN_amazonelectronics_x1_007_2401549e,[dataset_id] amazonelectronics_x1_51836f99,[train] N.A.,[val] gAUC: 0.885636 - AUC: 0.887665 - logloss: 0.424567,[test] gAUC: 0.885636 - AUC: 0.887665 - logloss: 0.424567 diff --git a/ranking/ctr/DMIN/DMIN_kuaivideo_x1/DMIN_kuaivideo_x1_020_d155f57e.log b/ranking/ctr/DMIN/DMIN_kuaivideo_x1/DMIN_kuaivideo_x1_020_d155f57e.log new file mode 100644 index 0000000..2b7b725 --- /dev/null +++ b/ranking/ctr/DMIN/DMIN_kuaivideo_x1/DMIN_kuaivideo_x1_020_d155f57e.log @@ -0,0 +1,151 @@ +2023-05-24 02:21:17,101 P38184 INFO Params: { + "attention_activation": "ReLU", + "attention_dropout": "0.2", + "attention_hidden_units": "[512, 256]", + "aux_activation": "ReLU", + "aux_hidden_units": "[100, 50]", + "aux_loss_lambda": "0", + "batch_norm": "False", + "batch_size": "4096", + "bn_only_once": "False", + "data_format": "csv", + "data_root": "../data/KuaiShou/", + "dataset_id": "kuaivideo_x1_60f6c91a", + "debug_mode": "False", + "dnn_activations": "Dice", + "dnn_hidden_units": "[1024, 512, 256]", + "early_stop_patience": "2", + "embedding_dim": "64", + "embedding_regularizer": "0.0001", + "enable_sum_pooling": "False", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'group_id', 'preprocess': 'copy_from(user_id)', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': 'user_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'name': 'item_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'min_categr_count': 1, 'name': 'item_emb', 'preprocess': 'copy_from(item_id)', 'pretrained_emb': '../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'max_len': 100, 'name': 'pos_items', 'padding': 'post', 'share_embedding': 'item_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 100, 'name': 'neg_items', 'padding': 'post', 'share_embedding': 'item_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'max_len': 100, 'min_categr_count': 1, 'name': 'pos_items_emb', 'padding': 'post', 'preprocess': 'copy_from(pos_items)', 'pretrained_emb': '../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5', 'share_embedding': 'item_emb', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'max_len': 100, 'min_categr_count': 1, 'name': 'neg_items_emb', 'padding': 'post', 'preprocess': 'copy_from(neg_items)', 'pretrained_emb': '../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5', 'share_embedding': 'item_emb', 'splitter': '^', 'type': 'sequence'}]", + "feature_config": "None", + "feature_specs": "[{'feature_encoder': 'nn.Linear(64, 64, bias=False)', 'name': 'item_emb'}, {'feature_encoder': None, 'name': 'pos_items'}, {'feature_encoder': None, 'name': 'neg_items'}, {'feature_encoder': ['nn.Linear(64, 64, bias=False)'], 'name': 'pos_items_emb'}, {'feature_encoder': ['nn.Linear(64, 64, bias=False)'], 'name': 'neg_items_emb'}]", + "gpu": "1", + "group_id": "group_id", + "label_col": "{'dtype': 'float', 'name': 'is_click'}", + "layer_norm": "True", + "learning_rate": "0.001", + "loss": "binary_crossentropy", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "10", + "model": "DMIN", + "model_id": "DMIN_kuaivideo_x1_020_d155f57e", + "model_root": "./checkpoints/DMIN_kuaivideo_x1/", + "monitor": "{'AUC': 1, 'gAUC': 1}", + "monitor_mode": "max", + "neg_seq_field": "None", + "net_dropout": "0.1", + "net_regularizer": "0", + "num_heads": "2", + "num_workers": "3", + "optimizer": "adam", + "pickle_feature_encoder": "True", + "pos_emb_dim": "8", + "save_best_only": "True", + "seed": "20222023", + "sequence_field": "[('pos_items', 'pos_items_emb'), ('neg_items', 'neg_items_emb')]", + "shuffle": "True", + "target_field": "[('item_id', 'item_emb'), ('item_id', 'item_emb')]", + "task": "binary_classification", + "test_data": "../data/KuaiShou/KuaiVideo_x1/test.csv", + "train_data": "../data/KuaiShou/KuaiVideo_x1/train.csv", + "use_behavior_refiner": "False", + "use_features": "None", + "use_pos_emb": "False", + "valid_data": "../data/KuaiShou/KuaiVideo_x1/test.csv", + "verbose": "1" +} +2023-05-24 02:21:17,102 P38184 INFO Set up feature processor... +2023-05-24 02:21:17,102 P38184 WARNING Skip rebuilding ../data/KuaiShou/kuaivideo_x1_60f6c91a/feature_map.json. Please delete it manually if rebuilding is required. +2023-05-24 02:21:17,102 P38184 INFO Load feature_map from json: ../data/KuaiShou/kuaivideo_x1_60f6c91a/feature_map.json +2023-05-24 02:21:17,103 P38184 INFO Set column index... +2023-05-24 02:21:17,103 P38184 INFO Feature specs: { + "group_id": "{'type': 'meta'}", + "item_emb": "{'source': '', 'type': 'categorical', 'embedding_dim': 64, 'pretrained_emb': 'pretrained_emb.h5', 'freeze_emb': True, 'padding_idx': 0, 'oov_idx': 3242316, 'vocab_size': 3242317, 'feature_encoder': 'nn.Linear(64, 64, bias=False)'}", + "item_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 632405, 'vocab_size': 632406}", + "neg_items": "{'source': '', 'type': 'sequence', 'feature_encoder': None, 'share_embedding': 'item_id', 'padding_idx': 0, 'oov_idx': 632405, 'vocab_size': 632406, 'max_len': 100}", + "neg_items_emb": "{'source': '', 'type': 'sequence', 'feature_encoder': ['nn.Linear(64, 64, bias=False)'], 'embedding_dim': 64, 'share_embedding': 'item_emb', 'padding_idx': 0, 'oov_idx': 3242316, 'vocab_size': 3242317, 'max_len': 100}", + "pos_items": "{'source': '', 'type': 'sequence', 'feature_encoder': None, 'share_embedding': 'item_id', 'padding_idx': 0, 'oov_idx': 632405, 'vocab_size': 632406, 'max_len': 100}", + "pos_items_emb": "{'source': '', 'type': 'sequence', 'feature_encoder': ['nn.Linear(64, 64, bias=False)'], 'embedding_dim': 64, 'share_embedding': 'item_emb', 'padding_idx': 0, 'oov_idx': 3242316, 'vocab_size': 3242317, 'max_len': 100}", + "user_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 10001, 'vocab_size': 10002}" +} +2023-05-24 02:21:24,250 P38184 INFO Total number of parameters: 44479237. +2023-05-24 02:21:24,250 P38184 INFO Loading data... +2023-05-24 02:21:24,250 P38184 INFO Loading data from h5: ../data/KuaiShou/kuaivideo_x1_60f6c91a/train.h5 +2023-05-24 02:21:48,371 P38184 INFO Train samples: total/10931092, blocks/1 +2023-05-24 02:21:48,371 P38184 INFO Loading data from h5: ../data/KuaiShou/kuaivideo_x1_60f6c91a/valid.h5 +2023-05-24 02:21:54,337 P38184 INFO Validation samples: total/2730291, blocks/1 +2023-05-24 02:21:54,337 P38184 INFO Loading train and validation data done. +2023-05-24 02:21:54,337 P38184 INFO Start training: 2669 batches/epoch +2023-05-24 02:21:54,337 P38184 INFO ************ Epoch=1 start ************ +2023-05-24 02:51:43,862 P38184 INFO Train loss: 0.459763 +2023-05-24 02:51:43,863 P38184 INFO Evaluation @epoch 1 - batch 2669: +2023-05-24 02:54:26,176 P38184 INFO [Metrics] AUC: 0.728968 - gAUC: 0.644054 +2023-05-24 02:54:26,179 P38184 INFO Save best model: monitor(max)=1.373022 +2023-05-24 02:54:28,391 P38184 INFO ************ Epoch=1 end ************ +2023-05-24 03:24:25,138 P38184 INFO Train loss: 0.448659 +2023-05-24 03:24:25,139 P38184 INFO Evaluation @epoch 2 - batch 2669: +2023-05-24 03:27:09,608 P38184 INFO [Metrics] AUC: 0.736901 - gAUC: 0.653757 +2023-05-24 03:27:09,612 P38184 INFO Save best model: monitor(max)=1.390658 +2023-05-24 03:27:11,995 P38184 INFO ************ Epoch=2 end ************ +2023-05-24 03:57:07,792 P38184 INFO Train loss: 0.442370 +2023-05-24 03:57:07,793 P38184 INFO Evaluation @epoch 3 - batch 2669: +2023-05-24 03:59:51,719 P38184 INFO [Metrics] AUC: 0.740633 - gAUC: 0.658931 +2023-05-24 03:59:51,728 P38184 INFO Save best model: monitor(max)=1.399564 +2023-05-24 03:59:53,981 P38184 INFO ************ Epoch=3 end ************ +2023-05-24 04:29:39,203 P38184 INFO Train loss: 0.439325 +2023-05-24 04:29:39,204 P38184 INFO Evaluation @epoch 4 - batch 2669: +2023-05-24 04:32:21,538 P38184 INFO [Metrics] AUC: 0.743660 - gAUC: 0.661917 +2023-05-24 04:32:21,541 P38184 INFO Save best model: monitor(max)=1.405577 +2023-05-24 04:32:23,762 P38184 INFO ************ Epoch=4 end ************ +2023-05-24 05:02:11,222 P38184 INFO Train loss: 0.437056 +2023-05-24 05:02:11,223 P38184 INFO Evaluation @epoch 5 - batch 2669: +2023-05-24 05:04:53,498 P38184 INFO [Metrics] AUC: 0.741948 - gAUC: 0.660783 +2023-05-24 05:04:53,500 P38184 INFO Monitor(max)=1.402731 STOP! +2023-05-24 05:04:53,500 P38184 INFO Reduce learning rate on plateau: 0.000100 +2023-05-24 05:04:53,579 P38184 INFO ************ Epoch=5 end ************ +2023-05-24 05:34:34,084 P38184 INFO Train loss: 0.419416 +2023-05-24 05:34:34,084 P38184 INFO Evaluation @epoch 6 - batch 2669: +2023-05-24 05:37:14,934 P38184 INFO [Metrics] AUC: 0.749531 - gAUC: 0.670756 +2023-05-24 05:37:14,941 P38184 INFO Save best model: monitor(max)=1.420288 +2023-05-24 05:37:17,140 P38184 INFO ************ Epoch=6 end ************ +2023-05-24 06:07:02,535 P38184 INFO Train loss: 0.413453 +2023-05-24 06:07:02,535 P38184 INFO Evaluation @epoch 7 - batch 2669: +2023-05-24 06:09:45,285 P38184 INFO [Metrics] AUC: 0.750247 - gAUC: 0.671811 +2023-05-24 06:09:45,288 P38184 INFO Save best model: monitor(max)=1.422058 +2023-05-24 06:09:47,545 P38184 INFO ************ Epoch=7 end ************ +2023-05-24 06:39:56,163 P38184 INFO Train loss: 0.410211 +2023-05-24 06:39:56,164 P38184 INFO Evaluation @epoch 8 - batch 2669: +2023-05-24 06:42:41,946 P38184 INFO [Metrics] AUC: 0.750200 - gAUC: 0.672099 +2023-05-24 06:42:41,953 P38184 INFO Save best model: monitor(max)=1.422300 +2023-05-24 06:42:44,129 P38184 INFO ************ Epoch=8 end ************ +2023-05-24 07:12:26,246 P38184 INFO Train loss: 0.407591 +2023-05-24 07:12:26,246 P38184 INFO Evaluation @epoch 9 - batch 2669: +2023-05-24 07:15:08,906 P38184 INFO [Metrics] AUC: 0.750777 - gAUC: 0.672621 +2023-05-24 07:15:08,911 P38184 INFO Save best model: monitor(max)=1.423399 +2023-05-24 07:15:11,171 P38184 INFO ************ Epoch=9 end ************ +2023-05-24 07:45:09,335 P38184 INFO Train loss: 0.405235 +2023-05-24 07:45:09,336 P38184 INFO Evaluation @epoch 10 - batch 2669: +2023-05-24 07:47:53,016 P38184 INFO [Metrics] AUC: 0.749961 - gAUC: 0.671917 +2023-05-24 07:47:53,020 P38184 INFO Monitor(max)=1.421877 STOP! +2023-05-24 07:47:53,020 P38184 INFO Reduce learning rate on plateau: 0.000010 +2023-05-24 07:47:53,107 P38184 INFO ************ Epoch=10 end ************ +2023-05-24 08:17:44,123 P38184 INFO Train loss: 0.397358 +2023-05-24 08:17:44,124 P38184 INFO Evaluation @epoch 11 - batch 2669: +2023-05-24 08:20:26,087 P38184 INFO [Metrics] AUC: 0.748279 - gAUC: 0.670200 +2023-05-24 08:20:26,095 P38184 INFO Monitor(max)=1.418478 STOP! +2023-05-24 08:20:26,095 P38184 INFO Reduce learning rate on plateau: 0.000001 +2023-05-24 08:20:26,095 P38184 INFO ********* Epoch==11 early stop ********* +2023-05-24 08:20:26,167 P38184 INFO Training finished. +2023-05-24 08:20:26,167 P38184 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/DMIN_kuaivideo_x1/kuaivideo_x1_60f6c91a/DMIN_kuaivideo_x1_020_d155f57e.model +2023-05-24 08:20:27,344 P38184 INFO ****** Validation evaluation ****** +2023-05-24 08:23:09,237 P38184 INFO [Metrics] gAUC: 0.672621 - AUC: 0.750777 - logloss: 0.430187 +2023-05-24 08:23:09,389 P38184 INFO ******** Test evaluation ******** +2023-05-24 08:23:09,389 P38184 INFO Loading data... +2023-05-24 08:23:09,389 P38184 INFO Loading data from h5: ../data/KuaiShou/kuaivideo_x1_60f6c91a/test.h5 +2023-05-24 08:23:16,034 P38184 INFO Test samples: total/2730291, blocks/1 +2023-05-24 08:23:16,035 P38184 INFO Loading test data done. +2023-05-24 08:25:56,702 P38184 INFO [Metrics] gAUC: 0.672621 - AUC: 0.750777 - logloss: 0.430187 diff --git a/ranking/ctr/DMIN/DMIN_kuaivideo_x1/DMIN_kuaivideo_x1_tuner_config_02.csv b/ranking/ctr/DMIN/DMIN_kuaivideo_x1/DMIN_kuaivideo_x1_tuner_config_02.csv new file mode 100644 index 0000000..77d5858 --- /dev/null +++ b/ranking/ctr/DMIN/DMIN_kuaivideo_x1/DMIN_kuaivideo_x1_tuner_config_02.csv @@ -0,0 +1,12 @@ + 20230524-025305,[command] python run_expid.py --config KuaiShou/DMIN_kuaivideo_x1/DMIN_kuaivideo_x1_tuner_config_02 --expid DMIN_kuaivideo_x1_001_5b1f2e8f --gpu 0,[exp_id] DMIN_kuaivideo_x1_001_5b1f2e8f,[dataset_id] kuaivideo_x1_60f6c91a,[train] N.A.,[val] gAUC: 0.670365 - AUC: 0.749982 - logloss: 0.432544,[test] gAUC: 0.670365 - AUC: 0.749982 - logloss: 0.432544 + 20230524-022112,[command] python run_expid.py --config KuaiShou/DMIN_kuaivideo_x1/DMIN_kuaivideo_x1_tuner_config_02 --expid DMIN_kuaivideo_x1_002_e2d67e93 --gpu 1,[exp_id] DMIN_kuaivideo_x1_002_e2d67e93,[dataset_id] kuaivideo_x1_60f6c91a,[train] N.A.,[val] gAUC: 0.671025 - AUC: 0.750407 - logloss: 0.431025,[test] gAUC: 0.671025 - AUC: 0.750407 - logloss: 0.431025 + 20230524-031956,[command] python run_expid.py --config KuaiShou/DMIN_kuaivideo_x1/DMIN_kuaivideo_x1_tuner_config_02 --expid DMIN_kuaivideo_x1_003_95679885 --gpu 2,[exp_id] DMIN_kuaivideo_x1_003_95679885,[dataset_id] kuaivideo_x1_60f6c91a,[train] N.A.,[val] gAUC: 0.670354 - AUC: 0.749540 - logloss: 0.433643,[test] gAUC: 0.670354 - AUC: 0.749540 - logloss: 0.433643 + 20230524-022200,[command] python run_expid.py --config KuaiShou/DMIN_kuaivideo_x1/DMIN_kuaivideo_x1_tuner_config_02 --expid DMIN_kuaivideo_x1_004_bd6e456b --gpu 3,[exp_id] DMIN_kuaivideo_x1_004_bd6e456b,[dataset_id] kuaivideo_x1_60f6c91a,[train] N.A.,[val] gAUC: 0.670763 - AUC: 0.750692 - logloss: 0.429898,[test] gAUC: 0.670763 - AUC: 0.750692 - logloss: 0.429898 + 20230524-023932,[command] python run_expid.py --config KuaiShou/DMIN_kuaivideo_x1/DMIN_kuaivideo_x1_tuner_config_02 --expid DMIN_kuaivideo_x1_013_e2d67e93 --gpu 4,[exp_id] DMIN_kuaivideo_x1_013_e2d67e93,[dataset_id] kuaivideo_x1_60f6c91a,[train] N.A.,[val] gAUC: 0.667708 - AUC: 0.747844 - logloss: 0.437632,[test] gAUC: 0.667708 - AUC: 0.747844 - logloss: 0.437632 + 20230524-011720,[command] python run_expid.py --config KuaiShou/DMIN_kuaivideo_x1/DMIN_kuaivideo_x1_tuner_config_02 --expid DMIN_kuaivideo_x1_014_53c235d5 --gpu 5,[exp_id] DMIN_kuaivideo_x1_014_53c235d5,[dataset_id] kuaivideo_x1_60f6c91a,[train] N.A.,[val] gAUC: 0.670172 - AUC: 0.748655 - logloss: 0.434870,[test] gAUC: 0.670172 - AUC: 0.748655 - logloss: 0.434870 + 20230524-020202,[command] python run_expid.py --config KuaiShou/DMIN_kuaivideo_x1/DMIN_kuaivideo_x1_tuner_config_02 --expid DMIN_kuaivideo_x1_015_bd6e456b --gpu 6,[exp_id] DMIN_kuaivideo_x1_015_bd6e456b,[dataset_id] kuaivideo_x1_60f6c91a,[train] N.A.,[val] gAUC: 0.668541 - AUC: 0.748274 - logloss: 0.435899,[test] gAUC: 0.668541 - AUC: 0.748274 - logloss: 0.435899 + 20230524-013706,[command] python run_expid.py --config KuaiShou/DMIN_kuaivideo_x1/DMIN_kuaivideo_x1_tuner_config_02 --expid DMIN_kuaivideo_x1_016_2891dbfa --gpu 7,[exp_id] DMIN_kuaivideo_x1_016_2891dbfa,[dataset_id] kuaivideo_x1_60f6c91a,[train] N.A.,[val] gAUC: 0.671470 - AUC: 0.749947 - logloss: 0.431028,[test] gAUC: 0.671470 - AUC: 0.749947 - logloss: 0.431028 + 20230524-073750,[command] python run_expid.py --config KuaiShou/DMIN_kuaivideo_x1/DMIN_kuaivideo_x1_tuner_config_02 --expid DMIN_kuaivideo_x1_017_bd6e456b --gpu 5,[exp_id] DMIN_kuaivideo_x1_017_bd6e456b,[dataset_id] kuaivideo_x1_60f6c91a,[train] N.A.,[val] gAUC: 0.669585 - AUC: 0.748308 - logloss: 0.437121,[test] gAUC: 0.669585 - AUC: 0.748308 - logloss: 0.437121 + 20230524-074637,[command] python run_expid.py --config KuaiShou/DMIN_kuaivideo_x1/DMIN_kuaivideo_x1_tuner_config_02 --expid DMIN_kuaivideo_x1_018_2891dbfa --gpu 7,[exp_id] DMIN_kuaivideo_x1_018_2891dbfa,[dataset_id] kuaivideo_x1_60f6c91a,[train] N.A.,[val] gAUC: 0.671561 - AUC: 0.750275 - logloss: 0.432215,[test] gAUC: 0.671561 - AUC: 0.750275 - logloss: 0.432215 + 20230524-085546,[command] python run_expid.py --config KuaiShou/DMIN_kuaivideo_x1/DMIN_kuaivideo_x1_tuner_config_02 --expid DMIN_kuaivideo_x1_019_43e76e5f --gpu 6,[exp_id] DMIN_kuaivideo_x1_019_43e76e5f,[dataset_id] kuaivideo_x1_60f6c91a,[train] N.A.,[val] gAUC: 0.669898 - AUC: 0.748465 - logloss: 0.437950,[test] gAUC: 0.669898 - AUC: 0.748465 - logloss: 0.437950 + 20230524-082556,[command] python run_expid.py --config KuaiShou/DMIN_kuaivideo_x1/DMIN_kuaivideo_x1_tuner_config_02 --expid DMIN_kuaivideo_x1_020_d155f57e --gpu 1,[exp_id] DMIN_kuaivideo_x1_020_d155f57e,[dataset_id] kuaivideo_x1_60f6c91a,[train] N.A.,[val] gAUC: 0.672621 - AUC: 0.750777 - logloss: 0.430187,[test] gAUC: 0.672621 - AUC: 0.750777 - logloss: 0.430187 diff --git a/ranking/ctr/DMIN/DMIN_kuaivideo_x1/DMIN_kuaivideo_x1_tuner_config_02.yaml b/ranking/ctr/DMIN/DMIN_kuaivideo_x1/DMIN_kuaivideo_x1_tuner_config_02.yaml new file mode 100644 index 0000000..26fab0c --- /dev/null +++ b/ranking/ctr/DMIN/DMIN_kuaivideo_x1/DMIN_kuaivideo_x1_tuner_config_02.yaml @@ -0,0 +1,64 @@ +base_config: ../model_zoo/DMIN/config/ +base_expid: DMIN_default +dataset_id: kuaivideo_x1 + +dataset_config: + kuaivideo_x1: + data_root: ../data/KuaiShou/ + data_format: csv + train_data: ../data/KuaiShou/KuaiVideo_x1/train.csv + valid_data: ../data/KuaiShou/KuaiVideo_x1/test.csv # no validation data split in original paper + test_data: ../data/KuaiShou/KuaiVideo_x1/test.csv + min_categr_count: 10 + feature_cols: + - {name: group_id, active: True, dtype: int, type: meta, preprocess: "copy_from(user_id)", remap: False} + - {name: user_id, active: True, dtype: str, type: categorical} + - {name: item_id, active: True, dtype: str, type: categorical} + - {name: item_emb, active: True, dtype: str, type: categorical, embedding_dim: 64, preprocess: "copy_from(item_id)", + pretrained_emb: "../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5", min_categr_count: 1} + - {name: pos_items, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, padding: post, + share_embedding: item_id} + - {name: neg_items, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, padding: post, + share_embedding: item_id} + - {name: pos_items_emb, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, embedding_dim: 64, + padding: post, pretrained_emb: "../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5", min_categr_count: 1, + share_embedding: item_emb, preprocess: "copy_from(pos_items)"} + - {name: neg_items_emb, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, embedding_dim: 64, + padding: post, pretrained_emb: "../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5", min_categr_count: 1, + share_embedding: item_emb, preprocess: "copy_from(neg_items)"} + label_col: {name: is_click, dtype: float} + + +tuner_space: + model_root: './checkpoints/DMIN_kuaivideo_x1/' + feature_specs: [[ + {name: item_emb, feature_encoder: "nn.Linear(64, 64, bias=False)"}, + {name: pos_items, feature_encoder: null}, + {name: neg_items, feature_encoder: null}, + {name: pos_items_emb, feature_encoder: ["nn.Linear(64, 64, bias=False)"]}, + {name: neg_items_emb, feature_encoder: ["nn.Linear(64, 64, bias=False)"]} + ]] + embedding_dim: 64 + dnn_hidden_units: [[1024, 512, 256]] + target_field: [[!!python/tuple [item_id, item_emb], !!python/tuple [item_id, item_emb]]] + sequence_field: [[!!python/tuple [pos_items, pos_items_emb], !!python/tuple [neg_items, neg_items_emb]]] + dnn_activations: Dice + num_heads: [1, 2, 4] + attention_activation: ReLU + attention_hidden_units: [[512, 256]] + attention_dropout: [0.1, 0.2] + embedding_regularizer: 1.e-4 + net_dropout: 0.1 + enable_sum_pooling: False + use_behavior_refiner: [True, False] + use_pos_emb: [True, False] + pos_emb_dim: 8 + batch_norm: False + learning_rate: 1.e-3 + batch_size: 4096 + seed: 20222023 + group_id: group_id + metrics: [[gAUC, AUC, logloss]] + monitor: {"gAUC": 1, "AUC": 1} + + diff --git a/ranking/ctr/DMIN/DMIN_kuaivideo_x1/DMIN_kuaivideo_x1_tuner_config_02/dataset_config.yaml b/ranking/ctr/DMIN/DMIN_kuaivideo_x1/DMIN_kuaivideo_x1_tuner_config_02/dataset_config.yaml new file mode 100644 index 0000000..1085630 --- /dev/null +++ b/ranking/ctr/DMIN/DMIN_kuaivideo_x1/DMIN_kuaivideo_x1_tuner_config_02/dataset_config.yaml @@ -0,0 +1,26 @@ +kuaivideo_x1_60f6c91a: + data_format: csv + data_root: ../data/KuaiShou/ + feature_cols: + - {active: true, dtype: int, name: group_id, preprocess: copy_from(user_id), remap: false, + type: meta} + - {active: true, dtype: str, name: user_id, type: categorical} + - {active: true, dtype: str, name: item_id, type: categorical} + - {active: true, dtype: str, embedding_dim: 64, min_categr_count: 1, name: item_emb, + preprocess: copy_from(item_id), pretrained_emb: ../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5, + type: categorical} + - {active: true, dtype: str, max_len: 100, name: pos_items, padding: post, share_embedding: item_id, + splitter: ^, type: sequence} + - {active: true, dtype: str, max_len: 100, name: neg_items, padding: post, share_embedding: item_id, + splitter: ^, type: sequence} + - {active: true, dtype: str, embedding_dim: 64, max_len: 100, min_categr_count: 1, + name: pos_items_emb, padding: post, preprocess: copy_from(pos_items), pretrained_emb: ../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5, + share_embedding: item_emb, splitter: ^, type: sequence} + - {active: true, dtype: str, embedding_dim: 64, max_len: 100, min_categr_count: 1, + name: neg_items_emb, padding: post, preprocess: copy_from(neg_items), pretrained_emb: ../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5, + share_embedding: item_emb, splitter: ^, type: sequence} + label_col: {dtype: float, name: is_click} + min_categr_count: 10 + test_data: ../data/KuaiShou/KuaiVideo_x1/test.csv + train_data: ../data/KuaiShou/KuaiVideo_x1/train.csv + valid_data: ../data/KuaiShou/KuaiVideo_x1/test.csv diff --git a/ranking/ctr/DMIN/DMIN_kuaivideo_x1/DMIN_kuaivideo_x1_tuner_config_02/model_config.yaml b/ranking/ctr/DMIN/DMIN_kuaivideo_x1/DMIN_kuaivideo_x1_tuner_config_02/model_config.yaml new file mode 100644 index 0000000..33ff0fc --- /dev/null +++ b/ranking/ctr/DMIN/DMIN_kuaivideo_x1/DMIN_kuaivideo_x1_tuner_config_02/model_config.yaml @@ -0,0 +1,1440 @@ +DMIN_kuaivideo_x1_001_5b1f2e8f: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 4096 + bn_only_once: false + dataset_id: kuaivideo_x1_60f6c91a + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: null, name: pos_items} + - {feature_encoder: null, name: neg_items} + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 1 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: + - !!python/tuple [pos_items, pos_items_emb] + - !!python/tuple [neg_items, neg_items_emb] + shuffle: true + target_field: + - !!python/tuple [item_id, item_emb] + - !!python/tuple [item_id, item_emb] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_kuaivideo_x1_002_e2d67e93: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 4096 + bn_only_once: false + dataset_id: kuaivideo_x1_60f6c91a + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: null, name: pos_items} + - {feature_encoder: null, name: neg_items} + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 1 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: + - !!python/tuple [pos_items, pos_items_emb] + - !!python/tuple [neg_items, neg_items_emb] + shuffle: true + target_field: + - !!python/tuple [item_id, item_emb] + - !!python/tuple [item_id, item_emb] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: false + verbose: 1 +DMIN_kuaivideo_x1_003_95679885: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 4096 + bn_only_once: false + dataset_id: kuaivideo_x1_60f6c91a + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: null, name: pos_items} + - {feature_encoder: null, name: neg_items} + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 1 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: + - !!python/tuple [pos_items, pos_items_emb] + - !!python/tuple [neg_items, neg_items_emb] + shuffle: true + target_field: + - !!python/tuple [item_id, item_emb] + - !!python/tuple [item_id, item_emb] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_kuaivideo_x1_004_bd6e456b: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 4096 + bn_only_once: false + dataset_id: kuaivideo_x1_60f6c91a + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: null, name: pos_items} + - {feature_encoder: null, name: neg_items} + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 1 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: + - !!python/tuple [pos_items, pos_items_emb] + - !!python/tuple [neg_items, neg_items_emb] + shuffle: true + target_field: + - !!python/tuple [item_id, item_emb] + - !!python/tuple [item_id, item_emb] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: false + verbose: 1 +DMIN_kuaivideo_x1_005_95679885: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 4096 + bn_only_once: false + dataset_id: kuaivideo_x1_60f6c91a + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: null, name: pos_items} + - {feature_encoder: null, name: neg_items} + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 2 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: + - !!python/tuple [pos_items, pos_items_emb] + - !!python/tuple [neg_items, neg_items_emb] + shuffle: true + target_field: + - !!python/tuple [item_id, item_emb] + - !!python/tuple [item_id, item_emb] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_kuaivideo_x1_006_bd6e456b: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 4096 + bn_only_once: false + dataset_id: kuaivideo_x1_60f6c91a + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: null, name: pos_items} + - {feature_encoder: null, name: neg_items} + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 2 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: + - !!python/tuple [pos_items, pos_items_emb] + - !!python/tuple [neg_items, neg_items_emb] + shuffle: true + target_field: + - !!python/tuple [item_id, item_emb] + - !!python/tuple [item_id, item_emb] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: false + verbose: 1 +DMIN_kuaivideo_x1_007_5ff348aa: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 4096 + bn_only_once: false + dataset_id: kuaivideo_x1_60f6c91a + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: null, name: pos_items} + - {feature_encoder: null, name: neg_items} + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 2 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: + - !!python/tuple [pos_items, pos_items_emb] + - !!python/tuple [neg_items, neg_items_emb] + shuffle: true + target_field: + - !!python/tuple [item_id, item_emb] + - !!python/tuple [item_id, item_emb] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_kuaivideo_x1_008_43e76e5f: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 4096 + bn_only_once: false + dataset_id: kuaivideo_x1_60f6c91a + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: null, name: pos_items} + - {feature_encoder: null, name: neg_items} + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 2 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: + - !!python/tuple [pos_items, pos_items_emb] + - !!python/tuple [neg_items, neg_items_emb] + shuffle: true + target_field: + - !!python/tuple [item_id, item_emb] + - !!python/tuple [item_id, item_emb] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: false + verbose: 1 +DMIN_kuaivideo_x1_009_2b18d3b8: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 4096 + bn_only_once: false + dataset_id: kuaivideo_x1_60f6c91a + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: null, name: pos_items} + - {feature_encoder: null, name: neg_items} + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 4 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: + - !!python/tuple [pos_items, pos_items_emb] + - !!python/tuple [neg_items, neg_items_emb] + shuffle: true + target_field: + - !!python/tuple [item_id, item_emb] + - !!python/tuple [item_id, item_emb] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_kuaivideo_x1_010_71dc9909: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 4096 + bn_only_once: false + dataset_id: kuaivideo_x1_60f6c91a + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: null, name: pos_items} + - {feature_encoder: null, name: neg_items} + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 4 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: + - !!python/tuple [pos_items, pos_items_emb] + - !!python/tuple [neg_items, neg_items_emb] + shuffle: true + target_field: + - !!python/tuple [item_id, item_emb] + - !!python/tuple [item_id, item_emb] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: false + verbose: 1 +DMIN_kuaivideo_x1_011_7b1aa3f8: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 4096 + bn_only_once: false + dataset_id: kuaivideo_x1_60f6c91a + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: null, name: pos_items} + - {feature_encoder: null, name: neg_items} + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 4 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: + - !!python/tuple [pos_items, pos_items_emb] + - !!python/tuple [neg_items, neg_items_emb] + shuffle: true + target_field: + - !!python/tuple [item_id, item_emb] + - !!python/tuple [item_id, item_emb] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_kuaivideo_x1_012_76ab3800: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 4096 + bn_only_once: false + dataset_id: kuaivideo_x1_60f6c91a + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: null, name: pos_items} + - {feature_encoder: null, name: neg_items} + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 4 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: + - !!python/tuple [pos_items, pos_items_emb] + - !!python/tuple [neg_items, neg_items_emb] + shuffle: true + target_field: + - !!python/tuple [item_id, item_emb] + - !!python/tuple [item_id, item_emb] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: false + verbose: 1 +DMIN_kuaivideo_x1_013_e2d67e93: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 4096 + bn_only_once: false + dataset_id: kuaivideo_x1_60f6c91a + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: null, name: pos_items} + - {feature_encoder: null, name: neg_items} + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 1 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: + - !!python/tuple [pos_items, pos_items_emb] + - !!python/tuple [neg_items, neg_items_emb] + shuffle: true + target_field: + - !!python/tuple [item_id, item_emb] + - !!python/tuple [item_id, item_emb] + task: binary_classification + use_behavior_refiner: false + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_kuaivideo_x1_014_53c235d5: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 4096 + bn_only_once: false + dataset_id: kuaivideo_x1_60f6c91a + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: null, name: pos_items} + - {feature_encoder: null, name: neg_items} + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 1 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: + - !!python/tuple [pos_items, pos_items_emb] + - !!python/tuple [neg_items, neg_items_emb] + shuffle: true + target_field: + - !!python/tuple [item_id, item_emb] + - !!python/tuple [item_id, item_emb] + task: binary_classification + use_behavior_refiner: false + use_features: null + use_pos_emb: false + verbose: 1 +DMIN_kuaivideo_x1_015_bd6e456b: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 4096 + bn_only_once: false + dataset_id: kuaivideo_x1_60f6c91a + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: null, name: pos_items} + - {feature_encoder: null, name: neg_items} + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 1 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: + - !!python/tuple [pos_items, pos_items_emb] + - !!python/tuple [neg_items, neg_items_emb] + shuffle: true + target_field: + - !!python/tuple [item_id, item_emb] + - !!python/tuple [item_id, item_emb] + task: binary_classification + use_behavior_refiner: false + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_kuaivideo_x1_016_2891dbfa: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 4096 + bn_only_once: false + dataset_id: kuaivideo_x1_60f6c91a + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: null, name: pos_items} + - {feature_encoder: null, name: neg_items} + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 1 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: + - !!python/tuple [pos_items, pos_items_emb] + - !!python/tuple [neg_items, neg_items_emb] + shuffle: true + target_field: + - !!python/tuple [item_id, item_emb] + - !!python/tuple [item_id, item_emb] + task: binary_classification + use_behavior_refiner: false + use_features: null + use_pos_emb: false + verbose: 1 +DMIN_kuaivideo_x1_017_bd6e456b: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 4096 + bn_only_once: false + dataset_id: kuaivideo_x1_60f6c91a + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: null, name: pos_items} + - {feature_encoder: null, name: neg_items} + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 2 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: + - !!python/tuple [pos_items, pos_items_emb] + - !!python/tuple [neg_items, neg_items_emb] + shuffle: true + target_field: + - !!python/tuple [item_id, item_emb] + - !!python/tuple [item_id, item_emb] + task: binary_classification + use_behavior_refiner: false + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_kuaivideo_x1_018_2891dbfa: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 4096 + bn_only_once: false + dataset_id: kuaivideo_x1_60f6c91a + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: null, name: pos_items} + - {feature_encoder: null, name: neg_items} + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 2 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: + - !!python/tuple [pos_items, pos_items_emb] + - !!python/tuple [neg_items, neg_items_emb] + shuffle: true + target_field: + - !!python/tuple [item_id, item_emb] + - !!python/tuple [item_id, item_emb] + task: binary_classification + use_behavior_refiner: false + use_features: null + use_pos_emb: false + verbose: 1 +DMIN_kuaivideo_x1_019_43e76e5f: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 4096 + bn_only_once: false + dataset_id: kuaivideo_x1_60f6c91a + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: null, name: pos_items} + - {feature_encoder: null, name: neg_items} + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 2 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: + - !!python/tuple [pos_items, pos_items_emb] + - !!python/tuple [neg_items, neg_items_emb] + shuffle: true + target_field: + - !!python/tuple [item_id, item_emb] + - !!python/tuple [item_id, item_emb] + task: binary_classification + use_behavior_refiner: false + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_kuaivideo_x1_020_d155f57e: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 4096 + bn_only_once: false + dataset_id: kuaivideo_x1_60f6c91a + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: null, name: pos_items} + - {feature_encoder: null, name: neg_items} + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 2 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: + - !!python/tuple [pos_items, pos_items_emb] + - !!python/tuple [neg_items, neg_items_emb] + shuffle: true + target_field: + - !!python/tuple [item_id, item_emb] + - !!python/tuple [item_id, item_emb] + task: binary_classification + use_behavior_refiner: false + use_features: null + use_pos_emb: false + verbose: 1 +DMIN_kuaivideo_x1_021_71dc9909: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 4096 + bn_only_once: false + dataset_id: kuaivideo_x1_60f6c91a + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: null, name: pos_items} + - {feature_encoder: null, name: neg_items} + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 4 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: + - !!python/tuple [pos_items, pos_items_emb] + - !!python/tuple [neg_items, neg_items_emb] + shuffle: true + target_field: + - !!python/tuple [item_id, item_emb] + - !!python/tuple [item_id, item_emb] + task: binary_classification + use_behavior_refiner: false + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_kuaivideo_x1_022_703ac635: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 4096 + bn_only_once: false + dataset_id: kuaivideo_x1_60f6c91a + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: null, name: pos_items} + - {feature_encoder: null, name: neg_items} + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 4 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: + - !!python/tuple [pos_items, pos_items_emb] + - !!python/tuple [neg_items, neg_items_emb] + shuffle: true + target_field: + - !!python/tuple [item_id, item_emb] + - !!python/tuple [item_id, item_emb] + task: binary_classification + use_behavior_refiner: false + use_features: null + use_pos_emb: false + verbose: 1 +DMIN_kuaivideo_x1_023_76ab3800: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 4096 + bn_only_once: false + dataset_id: kuaivideo_x1_60f6c91a + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: null, name: pos_items} + - {feature_encoder: null, name: neg_items} + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 4 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: + - !!python/tuple [pos_items, pos_items_emb] + - !!python/tuple [neg_items, neg_items_emb] + shuffle: true + target_field: + - !!python/tuple [item_id, item_emb] + - !!python/tuple [item_id, item_emb] + task: binary_classification + use_behavior_refiner: false + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_kuaivideo_x1_024_b5700793: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 4096 + bn_only_once: false + dataset_id: kuaivideo_x1_60f6c91a + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: null, name: pos_items} + - {feature_encoder: null, name: neg_items} + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 4 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: + - !!python/tuple [pos_items, pos_items_emb] + - !!python/tuple [neg_items, neg_items_emb] + shuffle: true + target_field: + - !!python/tuple [item_id, item_emb] + - !!python/tuple [item_id, item_emb] + task: binary_classification + use_behavior_refiner: false + use_features: null + use_pos_emb: false + verbose: 1 diff --git a/ranking/ctr/DMIN/DMIN_kuaivideo_x1/README.md b/ranking/ctr/DMIN/DMIN_kuaivideo_x1/README.md new file mode 100644 index 0000000..d63093f --- /dev/null +++ b/ranking/ctr/DMIN/DMIN_kuaivideo_x1/README.md @@ -0,0 +1,226 @@ +## DMIN_kuaivideo_x1 + +A hands-on guide to run the DMIN model on the KuaiVideo_x1 dataset. + +Author: [BARS Benchmark](https://github.com/reczoo/BARS/blob/main/CITATION) + + +| [Environments](#Environments) | [Dataset](#Dataset) | [Code](#Code) | [Results](#Results) | [Logs](#Logs) | +|:-----------------------------:|:-----------:|:--------:|:--------:|-------| +### Environments ++ Hardware + + ```python + CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz + GPU: Tesla V100 32G + RAM: 755G + + ``` + ++ Software + + ```python + cuda: 10.2 + python: 3.7.10 + pytorch: 1.11.0 + pandas: 1.1.5 + numpy: 1.19.5 + scipy: 1.5.2 + sklearn: 0.22.1 + pyyaml: 6.0 + h5py: 2.8.0 + tqdm: 4.64.0 + fuxictr: 2.0.3 + + ``` + +### Dataset +Please refer to [KuaiVideo_x1](https://github.com/reczoo/Datasets/tree/main/KuaiShou/KuaiVideo_x1) to get the dataset details. + +### Code + +We use the [DMIN](https://github.com/reczoo/FuxiCTR/tree/v2.0.3/model_zoo/DMIN) model code from [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/tree/v2.0.3) for this experiment. + +Running steps: + +1. Download [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/archive/refs/tags/v2.0.3.zip) and install all the dependencies listed in the [environments](#environments). + + ```bash + pip uninstall fuxictr + pip install fuxictr==2.0.3 + ``` + +2. Create a data directory and put the downloaded data files in `../data/KuaiShou/KuaiVideo_x1`. + +3. Both `dataset_config.yaml` and `model_config.yaml` files are available in [DMIN_kuaivideo_x1_tuner_config_02](./DMIN_kuaivideo_x1_tuner_config_02). Please make sure that the data paths in `dataset_config.yaml` are correctly set. + +4. Run the following script to start training and evaluation. + + ```bash + cd FuxiCTR/model_zoo/DMIN + nohup python run_expid.py --config YOUR_PATH/DMIN/DMIN_kuaivideo_x1_tuner_config_02 --expid DMIN_kuaivideo_x1_020_d155f57e --gpu 0 > run.log & + tail -f run.log + ``` + +### Results + +| gAUC | AUC | logloss | +|:--------------------:|:--------------------:|:--------------------:| +| 0.672621 | 0.750777 | 0.430187 | + + +### Logs +```python +2023-05-24 02:21:17,101 P38184 INFO Params: { + "attention_activation": "ReLU", + "attention_dropout": "0.2", + "attention_hidden_units": "[512, 256]", + "aux_activation": "ReLU", + "aux_hidden_units": "[100, 50]", + "aux_loss_lambda": "0", + "batch_norm": "False", + "batch_size": "4096", + "bn_only_once": "False", + "data_format": "csv", + "data_root": "../data/KuaiShou/", + "dataset_id": "kuaivideo_x1_60f6c91a", + "debug_mode": "False", + "dnn_activations": "Dice", + "dnn_hidden_units": "[1024, 512, 256]", + "early_stop_patience": "2", + "embedding_dim": "64", + "embedding_regularizer": "0.0001", + "enable_sum_pooling": "False", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'group_id', 'preprocess': 'copy_from(user_id)', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': 'user_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'name': 'item_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'min_categr_count': 1, 'name': 'item_emb', 'preprocess': 'copy_from(item_id)', 'pretrained_emb': '../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'max_len': 100, 'name': 'pos_items', 'padding': 'post', 'share_embedding': 'item_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 100, 'name': 'neg_items', 'padding': 'post', 'share_embedding': 'item_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'max_len': 100, 'min_categr_count': 1, 'name': 'pos_items_emb', 'padding': 'post', 'preprocess': 'copy_from(pos_items)', 'pretrained_emb': '../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5', 'share_embedding': 'item_emb', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'max_len': 100, 'min_categr_count': 1, 'name': 'neg_items_emb', 'padding': 'post', 'preprocess': 'copy_from(neg_items)', 'pretrained_emb': '../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5', 'share_embedding': 'item_emb', 'splitter': '^', 'type': 'sequence'}]", + "feature_config": "None", + "feature_specs": "[{'feature_encoder': 'nn.Linear(64, 64, bias=False)', 'name': 'item_emb'}, {'feature_encoder': None, 'name': 'pos_items'}, {'feature_encoder': None, 'name': 'neg_items'}, {'feature_encoder': ['nn.Linear(64, 64, bias=False)'], 'name': 'pos_items_emb'}, {'feature_encoder': ['nn.Linear(64, 64, bias=False)'], 'name': 'neg_items_emb'}]", + "gpu": "1", + "group_id": "group_id", + "label_col": "{'dtype': 'float', 'name': 'is_click'}", + "layer_norm": "True", + "learning_rate": "0.001", + "loss": "binary_crossentropy", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "10", + "model": "DMIN", + "model_id": "DMIN_kuaivideo_x1_020_d155f57e", + "model_root": "./checkpoints/DMIN_kuaivideo_x1/", + "monitor": "{'AUC': 1, 'gAUC': 1}", + "monitor_mode": "max", + "neg_seq_field": "None", + "net_dropout": "0.1", + "net_regularizer": "0", + "num_heads": "2", + "num_workers": "3", + "optimizer": "adam", + "pickle_feature_encoder": "True", + "pos_emb_dim": "8", + "save_best_only": "True", + "seed": "20222023", + "sequence_field": "[('pos_items', 'pos_items_emb'), ('neg_items', 'neg_items_emb')]", + "shuffle": "True", + "target_field": "[('item_id', 'item_emb'), ('item_id', 'item_emb')]", + "task": "binary_classification", + "test_data": "../data/KuaiShou/KuaiVideo_x1/test.csv", + "train_data": "../data/KuaiShou/KuaiVideo_x1/train.csv", + "use_behavior_refiner": "False", + "use_features": "None", + "use_pos_emb": "False", + "valid_data": "../data/KuaiShou/KuaiVideo_x1/test.csv", + "verbose": "1" +} +2023-05-24 02:21:17,102 P38184 INFO Set up feature processor... +2023-05-24 02:21:17,102 P38184 WARNING Skip rebuilding ../data/KuaiShou/kuaivideo_x1_60f6c91a/feature_map.json. Please delete it manually if rebuilding is required. +2023-05-24 02:21:17,102 P38184 INFO Load feature_map from json: ../data/KuaiShou/kuaivideo_x1_60f6c91a/feature_map.json +2023-05-24 02:21:17,103 P38184 INFO Set column index... +2023-05-24 02:21:17,103 P38184 INFO Feature specs: { + "group_id": "{'type': 'meta'}", + "item_emb": "{'source': '', 'type': 'categorical', 'embedding_dim': 64, 'pretrained_emb': 'pretrained_emb.h5', 'freeze_emb': True, 'padding_idx': 0, 'oov_idx': 3242316, 'vocab_size': 3242317, 'feature_encoder': 'nn.Linear(64, 64, bias=False)'}", + "item_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 632405, 'vocab_size': 632406}", + "neg_items": "{'source': '', 'type': 'sequence', 'feature_encoder': None, 'share_embedding': 'item_id', 'padding_idx': 0, 'oov_idx': 632405, 'vocab_size': 632406, 'max_len': 100}", + "neg_items_emb": "{'source': '', 'type': 'sequence', 'feature_encoder': ['nn.Linear(64, 64, bias=False)'], 'embedding_dim': 64, 'share_embedding': 'item_emb', 'padding_idx': 0, 'oov_idx': 3242316, 'vocab_size': 3242317, 'max_len': 100}", + "pos_items": "{'source': '', 'type': 'sequence', 'feature_encoder': None, 'share_embedding': 'item_id', 'padding_idx': 0, 'oov_idx': 632405, 'vocab_size': 632406, 'max_len': 100}", + "pos_items_emb": "{'source': '', 'type': 'sequence', 'feature_encoder': ['nn.Linear(64, 64, bias=False)'], 'embedding_dim': 64, 'share_embedding': 'item_emb', 'padding_idx': 0, 'oov_idx': 3242316, 'vocab_size': 3242317, 'max_len': 100}", + "user_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 10001, 'vocab_size': 10002}" +} +2023-05-24 02:21:24,250 P38184 INFO Total number of parameters: 44479237. +2023-05-24 02:21:24,250 P38184 INFO Loading data... +2023-05-24 02:21:24,250 P38184 INFO Loading data from h5: ../data/KuaiShou/kuaivideo_x1_60f6c91a/train.h5 +2023-05-24 02:21:48,371 P38184 INFO Train samples: total/10931092, blocks/1 +2023-05-24 02:21:48,371 P38184 INFO Loading data from h5: ../data/KuaiShou/kuaivideo_x1_60f6c91a/valid.h5 +2023-05-24 02:21:54,337 P38184 INFO Validation samples: total/2730291, blocks/1 +2023-05-24 02:21:54,337 P38184 INFO Loading train and validation data done. +2023-05-24 02:21:54,337 P38184 INFO Start training: 2669 batches/epoch +2023-05-24 02:21:54,337 P38184 INFO ************ Epoch=1 start ************ +2023-05-24 02:51:43,862 P38184 INFO Train loss: 0.459763 +2023-05-24 02:51:43,863 P38184 INFO Evaluation @epoch 1 - batch 2669: +2023-05-24 02:54:26,176 P38184 INFO [Metrics] AUC: 0.728968 - gAUC: 0.644054 +2023-05-24 02:54:26,179 P38184 INFO Save best model: monitor(max)=1.373022 +2023-05-24 02:54:28,391 P38184 INFO ************ Epoch=1 end ************ +2023-05-24 03:24:25,138 P38184 INFO Train loss: 0.448659 +2023-05-24 03:24:25,139 P38184 INFO Evaluation @epoch 2 - batch 2669: +2023-05-24 03:27:09,608 P38184 INFO [Metrics] AUC: 0.736901 - gAUC: 0.653757 +2023-05-24 03:27:09,612 P38184 INFO Save best model: monitor(max)=1.390658 +2023-05-24 03:27:11,995 P38184 INFO ************ Epoch=2 end ************ +2023-05-24 03:57:07,792 P38184 INFO Train loss: 0.442370 +2023-05-24 03:57:07,793 P38184 INFO Evaluation @epoch 3 - batch 2669: +2023-05-24 03:59:51,719 P38184 INFO [Metrics] AUC: 0.740633 - gAUC: 0.658931 +2023-05-24 03:59:51,728 P38184 INFO Save best model: monitor(max)=1.399564 +2023-05-24 03:59:53,981 P38184 INFO ************ Epoch=3 end ************ +2023-05-24 04:29:39,203 P38184 INFO Train loss: 0.439325 +2023-05-24 04:29:39,204 P38184 INFO Evaluation @epoch 4 - batch 2669: +2023-05-24 04:32:21,538 P38184 INFO [Metrics] AUC: 0.743660 - gAUC: 0.661917 +2023-05-24 04:32:21,541 P38184 INFO Save best model: monitor(max)=1.405577 +2023-05-24 04:32:23,762 P38184 INFO ************ Epoch=4 end ************ +2023-05-24 05:02:11,222 P38184 INFO Train loss: 0.437056 +2023-05-24 05:02:11,223 P38184 INFO Evaluation @epoch 5 - batch 2669: +2023-05-24 05:04:53,498 P38184 INFO [Metrics] AUC: 0.741948 - gAUC: 0.660783 +2023-05-24 05:04:53,500 P38184 INFO Monitor(max)=1.402731 STOP! +2023-05-24 05:04:53,500 P38184 INFO Reduce learning rate on plateau: 0.000100 +2023-05-24 05:04:53,579 P38184 INFO ************ Epoch=5 end ************ +2023-05-24 05:34:34,084 P38184 INFO Train loss: 0.419416 +2023-05-24 05:34:34,084 P38184 INFO Evaluation @epoch 6 - batch 2669: +2023-05-24 05:37:14,934 P38184 INFO [Metrics] AUC: 0.749531 - gAUC: 0.670756 +2023-05-24 05:37:14,941 P38184 INFO Save best model: monitor(max)=1.420288 +2023-05-24 05:37:17,140 P38184 INFO ************ Epoch=6 end ************ +2023-05-24 06:07:02,535 P38184 INFO Train loss: 0.413453 +2023-05-24 06:07:02,535 P38184 INFO Evaluation @epoch 7 - batch 2669: +2023-05-24 06:09:45,285 P38184 INFO [Metrics] AUC: 0.750247 - gAUC: 0.671811 +2023-05-24 06:09:45,288 P38184 INFO Save best model: monitor(max)=1.422058 +2023-05-24 06:09:47,545 P38184 INFO ************ Epoch=7 end ************ +2023-05-24 06:39:56,163 P38184 INFO Train loss: 0.410211 +2023-05-24 06:39:56,164 P38184 INFO Evaluation @epoch 8 - batch 2669: +2023-05-24 06:42:41,946 P38184 INFO [Metrics] AUC: 0.750200 - gAUC: 0.672099 +2023-05-24 06:42:41,953 P38184 INFO Save best model: monitor(max)=1.422300 +2023-05-24 06:42:44,129 P38184 INFO ************ Epoch=8 end ************ +2023-05-24 07:12:26,246 P38184 INFO Train loss: 0.407591 +2023-05-24 07:12:26,246 P38184 INFO Evaluation @epoch 9 - batch 2669: +2023-05-24 07:15:08,906 P38184 INFO [Metrics] AUC: 0.750777 - gAUC: 0.672621 +2023-05-24 07:15:08,911 P38184 INFO Save best model: monitor(max)=1.423399 +2023-05-24 07:15:11,171 P38184 INFO ************ Epoch=9 end ************ +2023-05-24 07:45:09,335 P38184 INFO Train loss: 0.405235 +2023-05-24 07:45:09,336 P38184 INFO Evaluation @epoch 10 - batch 2669: +2023-05-24 07:47:53,016 P38184 INFO [Metrics] AUC: 0.749961 - gAUC: 0.671917 +2023-05-24 07:47:53,020 P38184 INFO Monitor(max)=1.421877 STOP! +2023-05-24 07:47:53,020 P38184 INFO Reduce learning rate on plateau: 0.000010 +2023-05-24 07:47:53,107 P38184 INFO ************ Epoch=10 end ************ +2023-05-24 08:17:44,123 P38184 INFO Train loss: 0.397358 +2023-05-24 08:17:44,124 P38184 INFO Evaluation @epoch 11 - batch 2669: +2023-05-24 08:20:26,087 P38184 INFO [Metrics] AUC: 0.748279 - gAUC: 0.670200 +2023-05-24 08:20:26,095 P38184 INFO Monitor(max)=1.418478 STOP! +2023-05-24 08:20:26,095 P38184 INFO Reduce learning rate on plateau: 0.000001 +2023-05-24 08:20:26,095 P38184 INFO ********* Epoch==11 early stop ********* +2023-05-24 08:20:26,167 P38184 INFO Training finished. +2023-05-24 08:20:26,167 P38184 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/DMIN_kuaivideo_x1/kuaivideo_x1_60f6c91a/DMIN_kuaivideo_x1_020_d155f57e.model +2023-05-24 08:20:27,344 P38184 INFO ****** Validation evaluation ****** +2023-05-24 08:23:09,237 P38184 INFO [Metrics] gAUC: 0.672621 - AUC: 0.750777 - logloss: 0.430187 +2023-05-24 08:23:09,389 P38184 INFO ******** Test evaluation ******** +2023-05-24 08:23:09,389 P38184 INFO Loading data... +2023-05-24 08:23:09,389 P38184 INFO Loading data from h5: ../data/KuaiShou/kuaivideo_x1_60f6c91a/test.h5 +2023-05-24 08:23:16,034 P38184 INFO Test samples: total/2730291, blocks/1 +2023-05-24 08:23:16,035 P38184 INFO Loading test data done. +2023-05-24 08:25:56,702 P38184 INFO [Metrics] gAUC: 0.672621 - AUC: 0.750777 - logloss: 0.430187 + +``` diff --git a/ranking/ctr/DMIN/DMIN_kuaivideo_x1/environments.txt b/ranking/ctr/DMIN/DMIN_kuaivideo_x1/environments.txt new file mode 100644 index 0000000..a39d234 --- /dev/null +++ b/ranking/ctr/DMIN/DMIN_kuaivideo_x1/environments.txt @@ -0,0 +1,17 @@ +[Hardware] +CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz +GPU: Tesla V100 32G +RAM: 755G + +[Software] +cuda: 10.2 +python: 3.7.10 +pytorch: 1.11.0 +pandas: 1.1.5 +numpy: 1.19.5 +scipy: 1.5.2 +sklearn: 0.22.1 +pyyaml: 6.0 +h5py: 2.8.0 +tqdm: 4.64.0 +fuxictr: 2.0.3 diff --git a/ranking/ctr/DMIN/DMIN_kuaivideo_x1/results.csv b/ranking/ctr/DMIN/DMIN_kuaivideo_x1/results.csv new file mode 100644 index 0000000..e676076 --- /dev/null +++ b/ranking/ctr/DMIN/DMIN_kuaivideo_x1/results.csv @@ -0,0 +1 @@ + 20230524-082556,[command] python run_expid.py --config KuaiShou/DMIN_kuaivideo_x1/DMIN_kuaivideo_x1_tuner_config_02 --expid DMIN_kuaivideo_x1_020_d155f57e --gpu 1,[exp_id] DMIN_kuaivideo_x1_020_d155f57e,[dataset_id] kuaivideo_x1_60f6c91a,[train] N.A.,[val] gAUC: 0.672621 - AUC: 0.750777 - logloss: 0.430187,[test] gAUC: 0.672621 - AUC: 0.750777 - logloss: 0.430187 diff --git a/ranking/ctr/DMIN/DMIN_microvideo1.7m_x1/DMIN_microvideo1.7m_x1_002_27dc4206.log b/ranking/ctr/DMIN/DMIN_microvideo1.7m_x1/DMIN_microvideo1.7m_x1_002_27dc4206.log new file mode 100644 index 0000000..46eb8af --- /dev/null +++ b/ranking/ctr/DMIN/DMIN_microvideo1.7m_x1/DMIN_microvideo1.7m_x1_002_27dc4206.log @@ -0,0 +1,139 @@ +2023-05-22 19:03:26,748 P1124 INFO Params: { + "attention_activation": "ReLU", + "attention_dropout": "0.1", + "attention_hidden_units": "[512, 256]", + "aux_activation": "ReLU", + "aux_hidden_units": "[100, 50]", + "aux_loss_lambda": "0", + "batch_norm": "True", + "batch_size": "2048", + "bn_only_once": "False", + "data_format": "csv", + "data_root": "../data/MicroVideo1.7M/", + "dataset_id": "microvideo1.7m_x1_83b31456", + "debug_mode": "False", + "dnn_activations": "ReLU", + "dnn_hidden_units": "[1024, 512, 256]", + "early_stop_patience": "2", + "embedding_dim": "64", + "embedding_regularizer": "0.0005", + "enable_sum_pooling": "False", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'group_id', 'preprocess': 'copy_from(user_id)', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': 'user_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'name': 'item_id', 'pretrained_emb': '../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'name': 'cate_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'max_len': 100, 'name': 'clicked_items', 'padding': 'post', 'pretrained_emb': '../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 100, 'name': 'clicked_categories', 'padding': 'post', 'share_embedding': 'cate_id', 'splitter': '^', 'type': 'sequence'}, {'active': False, 'dtype': 'str', 'name': 'timestamp', 'type': 'categorical'}]", + "feature_config": "None", + "feature_specs": "[{'feature_encoder': 'nn.Linear(64, 64, bias=False)', 'name': 'item_id'}, {'feature_encoder': 'nn.Linear(64, 64, bias=False)', 'name': 'clicked_items'}, {'feature_encoder': None, 'name': 'clicked_categories'}]", + "gpu": "1", + "group_id": "group_id", + "label_col": "{'dtype': 'float', 'name': 'is_click'}", + "layer_norm": "True", + "learning_rate": "0.0005", + "loss": "binary_crossentropy", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "1", + "model": "DMIN", + "model_id": "DMIN_microvideo1.7m_x1_002_27dc4206", + "model_root": "./checkpoints/DMIN_microvideo1.7m_x1/", + "monitor": "{'AUC': 1, 'gAUC': 1}", + "monitor_mode": "max", + "neg_seq_field": "None", + "net_dropout": "0.1", + "net_regularizer": "0", + "num_heads": "1", + "num_workers": "3", + "optimizer": "adam", + "pickle_feature_encoder": "True", + "pos_emb_dim": "2", + "save_best_only": "True", + "seed": "2022", + "sequence_field": "('clicked_items', 'clicked_categories')", + "shuffle": "True", + "target_field": "('item_id', 'cate_id')", + "task": "binary_classification", + "test_data": "../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv", + "train_data": "../data/MicroVideo1.7M/MicroVideo1.7M_x1/train.csv", + "use_behavior_refiner": "True", + "use_features": "None", + "use_pos_emb": "False", + "valid_data": "../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv", + "verbose": "1" +} +2023-05-22 19:03:26,748 P1124 INFO Set up feature processor... +2023-05-22 19:03:26,749 P1124 WARNING Skip rebuilding ../data/MicroVideo1.7M/microvideo1.7m_x1_83b31456/feature_map.json. Please delete it manually if rebuilding is required. +2023-05-22 19:03:26,749 P1124 INFO Load feature_map from json: ../data/MicroVideo1.7M/microvideo1.7m_x1_83b31456/feature_map.json +2023-05-22 19:03:26,749 P1124 INFO Set column index... +2023-05-22 19:03:26,749 P1124 INFO Feature specs: { + "cate_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 513, 'vocab_size': 514}", + "clicked_categories": "{'source': '', 'type': 'sequence', 'feature_encoder': None, 'share_embedding': 'cate_id', 'padding_idx': 0, 'oov_idx': 513, 'vocab_size': 514, 'max_len': 100}", + "clicked_items": "{'source': '', 'type': 'sequence', 'feature_encoder': 'nn.Linear(64, 64, bias=False)', 'embedding_dim': 64, 'pretrained_emb': 'pretrained_emb.h5', 'freeze_emb': True, 'padding_idx': 0, 'oov_idx': 1704881, 'vocab_size': 1704882, 'max_len': 100}", + "group_id": "{'type': 'meta'}", + "item_id": "{'source': '', 'type': 'categorical', 'embedding_dim': 64, 'pretrained_emb': 'pretrained_emb.h5', 'freeze_emb': True, 'padding_idx': 0, 'oov_idx': 1704881, 'vocab_size': 1704882, 'feature_encoder': 'nn.Linear(64, 64, bias=False)'}", + "user_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 10987, 'vocab_size': 10988}" +} +2023-05-22 19:03:34,413 P1124 INFO Total number of parameters: 2391170. +2023-05-22 19:03:34,413 P1124 INFO Loading data... +2023-05-22 19:03:34,414 P1124 INFO Loading data from h5: ../data/MicroVideo1.7M/microvideo1.7m_x1_83b31456/train.h5 +2023-05-22 19:03:44,720 P1124 INFO Train samples: total/8970309, blocks/1 +2023-05-22 19:03:44,721 P1124 INFO Loading data from h5: ../data/MicroVideo1.7M/microvideo1.7m_x1_83b31456/valid.h5 +2023-05-22 19:03:48,822 P1124 INFO Validation samples: total/3767308, blocks/1 +2023-05-22 19:03:48,822 P1124 INFO Loading train and validation data done. +2023-05-22 19:03:48,823 P1124 INFO Start training: 4381 batches/epoch +2023-05-22 19:03:48,823 P1124 INFO ************ Epoch=1 start ************ +2023-05-22 19:14:34,894 P1124 INFO Train loss: 0.459424 +2023-05-22 19:14:34,895 P1124 INFO Evaluation @epoch 1 - batch 4381: +2023-05-22 19:17:02,982 P1124 INFO [Metrics] AUC: 0.719974 - gAUC: 0.675118 +2023-05-22 19:17:02,986 P1124 INFO Save best model: monitor(max)=1.395092 +2023-05-22 19:17:04,928 P1124 INFO ************ Epoch=1 end ************ +2023-05-22 19:28:00,343 P1124 INFO Train loss: 0.440365 +2023-05-22 19:28:00,344 P1124 INFO Evaluation @epoch 2 - batch 4381: +2023-05-22 19:30:39,971 P1124 INFO [Metrics] AUC: 0.721605 - gAUC: 0.674904 +2023-05-22 19:30:39,972 P1124 INFO Save best model: monitor(max)=1.396509 +2023-05-22 19:30:41,925 P1124 INFO ************ Epoch=2 end ************ +2023-05-22 19:41:58,600 P1124 INFO Train loss: 0.436459 +2023-05-22 19:41:58,600 P1124 INFO Evaluation @epoch 3 - batch 4381: +2023-05-22 19:44:29,938 P1124 INFO [Metrics] AUC: 0.726343 - gAUC: 0.679697 +2023-05-22 19:44:29,939 P1124 INFO Save best model: monitor(max)=1.406041 +2023-05-22 19:44:31,867 P1124 INFO ************ Epoch=3 end ************ +2023-05-22 19:55:37,461 P1124 INFO Train loss: 0.433986 +2023-05-22 19:55:37,461 P1124 INFO Evaluation @epoch 4 - batch 4381: +2023-05-22 19:58:09,714 P1124 INFO [Metrics] AUC: 0.726451 - gAUC: 0.680044 +2023-05-22 19:58:09,721 P1124 INFO Save best model: monitor(max)=1.406495 +2023-05-22 19:58:11,601 P1124 INFO ************ Epoch=4 end ************ +2023-05-22 20:09:37,210 P1124 INFO Train loss: 0.432523 +2023-05-22 20:09:37,210 P1124 INFO Evaluation @epoch 5 - batch 4381: +2023-05-22 20:12:17,393 P1124 INFO [Metrics] AUC: 0.728707 - gAUC: 0.682796 +2023-05-22 20:12:17,399 P1124 INFO Save best model: monitor(max)=1.411503 +2023-05-22 20:12:19,360 P1124 INFO ************ Epoch=5 end ************ +2023-05-22 20:23:20,123 P1124 INFO Train loss: 0.431104 +2023-05-22 20:23:20,123 P1124 INFO Evaluation @epoch 6 - batch 4381: +2023-05-22 20:25:45,037 P1124 INFO [Metrics] AUC: 0.726938 - gAUC: 0.681092 +2023-05-22 20:25:45,043 P1124 INFO Monitor(max)=1.408031 STOP! +2023-05-22 20:25:45,043 P1124 INFO Reduce learning rate on plateau: 0.000050 +2023-05-22 20:25:45,089 P1124 INFO ************ Epoch=6 end ************ +2023-05-22 20:36:58,858 P1124 INFO Train loss: 0.419381 +2023-05-22 20:36:58,859 P1124 INFO Evaluation @epoch 7 - batch 4381: +2023-05-22 20:39:21,346 P1124 INFO [Metrics] AUC: 0.733174 - gAUC: 0.687910 +2023-05-22 20:39:21,347 P1124 INFO Save best model: monitor(max)=1.421083 +2023-05-22 20:39:23,250 P1124 INFO ************ Epoch=7 end ************ +2023-05-22 20:50:25,049 P1124 INFO Train loss: 0.414647 +2023-05-22 20:50:25,050 P1124 INFO Evaluation @epoch 8 - batch 4381: +2023-05-22 20:52:32,567 P1124 INFO [Metrics] AUC: 0.732513 - gAUC: 0.687943 +2023-05-22 20:52:32,569 P1124 INFO Monitor(max)=1.420457 STOP! +2023-05-22 20:52:32,569 P1124 INFO Reduce learning rate on plateau: 0.000005 +2023-05-22 20:52:32,627 P1124 INFO ************ Epoch=8 end ************ +2023-05-22 21:03:32,610 P1124 INFO Train loss: 0.410793 +2023-05-22 21:03:32,610 P1124 INFO Evaluation @epoch 9 - batch 4381: +2023-05-22 21:05:56,759 P1124 INFO [Metrics] AUC: 0.732347 - gAUC: 0.687945 +2023-05-22 21:05:56,760 P1124 INFO Monitor(max)=1.420292 STOP! +2023-05-22 21:05:56,760 P1124 INFO Reduce learning rate on plateau: 0.000001 +2023-05-22 21:05:56,760 P1124 INFO ********* Epoch==9 early stop ********* +2023-05-22 21:05:56,819 P1124 INFO Training finished. +2023-05-22 21:05:56,820 P1124 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/DMIN_microvideo1.7m_x1/microvideo1.7m_x1_83b31456/DMIN_microvideo1.7m_x1_002_27dc4206.model +2023-05-22 21:05:57,423 P1124 INFO ****** Validation evaluation ****** +2023-05-22 21:08:41,126 P1124 INFO [Metrics] gAUC: 0.687910 - AUC: 0.733174 - logloss: 0.411456 +2023-05-22 21:08:41,252 P1124 INFO ******** Test evaluation ******** +2023-05-22 21:08:41,252 P1124 INFO Loading data... +2023-05-22 21:08:41,252 P1124 INFO Loading data from h5: ../data/MicroVideo1.7M/microvideo1.7m_x1_83b31456/test.h5 +2023-05-22 21:08:45,539 P1124 INFO Test samples: total/3767308, blocks/1 +2023-05-22 21:08:45,539 P1124 INFO Loading test data done. +2023-05-22 21:11:01,894 P1124 INFO [Metrics] gAUC: 0.687910 - AUC: 0.733174 - logloss: 0.411456 diff --git a/ranking/ctr/DMIN/DMIN_microvideo1.7m_x1/DMIN_microvideo1.7m_x1_tuner_config_04.csv b/ranking/ctr/DMIN/DMIN_microvideo1.7m_x1/DMIN_microvideo1.7m_x1_tuner_config_04.csv new file mode 100644 index 0000000..6feb189 --- /dev/null +++ b/ranking/ctr/DMIN/DMIN_microvideo1.7m_x1/DMIN_microvideo1.7m_x1_tuner_config_04.csv @@ -0,0 +1,16 @@ + 20230522-124326,[command] python run_expid.py --config MicroVideo1.7M/DMIN_microvideo1.7m_x1/DMIN_microvideo1.7m_x1_tuner_config_04 --expid DMIN_microvideo1.7m_x1_002_27dc4206 --gpu 1,[exp_id] DMIN_microvideo1.7m_x1_002_27dc4206,[dataset_id] microvideo1.7m_x1_83b31456,[train] N.A.,[val] gAUC: 0.687910 - AUC: 0.733174 - logloss: 0.411456,[test] gAUC: 0.687910 - AUC: 0.733174 - logloss: 0.411456 + 20230522-130009,[command] python run_expid.py --config MicroVideo1.7M/DMIN_microvideo1.7m_x1/DMIN_microvideo1.7m_x1_tuner_config_04 --expid DMIN_microvideo1.7m_x1_001_2663b367 --gpu 0,[exp_id] DMIN_microvideo1.7m_x1_001_2663b367,[dataset_id] microvideo1.7m_x1_83b31456,[train] N.A.,[val] gAUC: 0.687785 - AUC: 0.733001 - logloss: 0.414093,[test] gAUC: 0.687785 - AUC: 0.733001 - logloss: 0.414093 + 20230522-141650,[command] python run_expid.py --config MicroVideo1.7M/DMIN_microvideo1.7m_x1/DMIN_microvideo1.7m_x1_tuner_config_04 --expid DMIN_microvideo1.7m_x1_010_d21be00a --gpu 5,[exp_id] DMIN_microvideo1.7m_x1_010_d21be00a,[dataset_id] microvideo1.7m_x1_83b31456,[train] N.A.,[val] gAUC: 0.687745 - AUC: 0.733632 - logloss: 0.410505,[test] gAUC: 0.687745 - AUC: 0.733632 - logloss: 0.410505 + 20230522-121448,[command] python run_expid.py --config MicroVideo1.7M/DMIN_microvideo1.7m_x1/DMIN_microvideo1.7m_x1_tuner_config_04 --expid DMIN_microvideo1.7m_x1_006_8935b08e --gpu 5,[exp_id] DMIN_microvideo1.7m_x1_006_8935b08e,[dataset_id] microvideo1.7m_x1_83b31456,[train] N.A.,[val] gAUC: 0.687347 - AUC: 0.734013 - logloss: 0.411224,[test] gAUC: 0.687347 - AUC: 0.734013 - logloss: 0.411224 + 20230522-142219,[command] python run_expid.py --config MicroVideo1.7M/DMIN_microvideo1.7m_x1/DMIN_microvideo1.7m_x1_tuner_config_04 --expid DMIN_microvideo1.7m_x1_009_800f504a --gpu 4,[exp_id] DMIN_microvideo1.7m_x1_009_800f504a,[dataset_id] microvideo1.7m_x1_83b31456,[train] N.A.,[val] gAUC: 0.687273 - AUC: 0.732961 - logloss: 0.413611,[test] gAUC: 0.687273 - AUC: 0.732961 - logloss: 0.413611 + 20230522-183610,[command] python run_expid.py --config MicroVideo1.7M/DMIN_microvideo1.7m_x1/DMIN_microvideo1.7m_x1_tuner_config_04 --expid DMIN_microvideo1.7m_x1_012_dd8c6ae2 --gpu 0,[exp_id] DMIN_microvideo1.7m_x1_012_dd8c6ae2,[dataset_id] microvideo1.7m_x1_83b31456,[train] N.A.,[val] gAUC: 0.687130 - AUC: 0.733196 - logloss: 0.412988,[test] gAUC: 0.687130 - AUC: 0.733196 - logloss: 0.412988 + 20230522-154901,[command] python run_expid.py --config MicroVideo1.7M/DMIN_microvideo1.7m_x1/DMIN_microvideo1.7m_x1_tuner_config_04 --expid DMIN_microvideo1.7m_x1_014_d6163c18 --gpu 6,[exp_id] DMIN_microvideo1.7m_x1_014_d6163c18,[dataset_id] microvideo1.7m_x1_83b31456,[train] N.A.,[val] gAUC: 0.686812 - AUC: 0.733758 - logloss: 0.410988,[test] gAUC: 0.686812 - AUC: 0.733758 - logloss: 0.410988 + 20230522-143935,[command] python run_expid.py --config MicroVideo1.7M/DMIN_microvideo1.7m_x1/DMIN_microvideo1.7m_x1_tuner_config_04 --expid DMIN_microvideo1.7m_x1_008_9d1ce223 --gpu 7,[exp_id] DMIN_microvideo1.7m_x1_008_9d1ce223,[dataset_id] microvideo1.7m_x1_83b31456,[train] N.A.,[val] gAUC: 0.686724 - AUC: 0.732729 - logloss: 0.411137,[test] gAUC: 0.686724 - AUC: 0.732729 - logloss: 0.411137 + 20230522-162648,[command] python run_expid.py --config MicroVideo1.7M/DMIN_microvideo1.7m_x1/DMIN_microvideo1.7m_x1_tuner_config_04 --expid DMIN_microvideo1.7m_x1_003_a1e54d87 --gpu 2,[exp_id] DMIN_microvideo1.7m_x1_003_a1e54d87,[dataset_id] microvideo1.7m_x1_83b31456,[train] N.A.,[val] gAUC: 0.686216 - AUC: 0.731227 - logloss: 0.413840,[test] gAUC: 0.686216 - AUC: 0.731227 - logloss: 0.413840 + 20230522-190206,[command] python run_expid.py --config MicroVideo1.7M/DMIN_microvideo1.7m_x1/DMIN_microvideo1.7m_x1_tuner_config_04 --expid DMIN_microvideo1.7m_x1_011_76a75336 --gpu 1,[exp_id] DMIN_microvideo1.7m_x1_011_76a75336,[dataset_id] microvideo1.7m_x1_83b31456,[train] N.A.,[val] gAUC: 0.686064 - AUC: 0.731007 - logloss: 0.414135,[test] gAUC: 0.686064 - AUC: 0.731007 - logloss: 0.414135 + 20230522-183344,[command] python run_expid.py --config MicroVideo1.7M/DMIN_microvideo1.7m_x1/DMIN_microvideo1.7m_x1_tuner_config_04 --expid DMIN_microvideo1.7m_x1_016_38252189 --gpu 7,[exp_id] DMIN_microvideo1.7m_x1_016_38252189,[dataset_id] microvideo1.7m_x1_83b31456,[train] N.A.,[val] gAUC: 0.685895 - AUC: 0.731964 - logloss: 0.411439,[test] gAUC: 0.685895 - AUC: 0.731964 - logloss: 0.411439 + 20230522-161118,[command] python run_expid.py --config MicroVideo1.7M/DMIN_microvideo1.7m_x1/DMIN_microvideo1.7m_x1_tuner_config_04 --expid DMIN_microvideo1.7m_x1_013_d21be00a --gpu 5,[exp_id] DMIN_microvideo1.7m_x1_013_d21be00a,[dataset_id] microvideo1.7m_x1_83b31456,[train] N.A.,[val] gAUC: 0.685848 - AUC: 0.733109 - logloss: 0.411783,[test] gAUC: 0.685848 - AUC: 0.733109 - logloss: 0.411783 + 20230522-161656,[command] python run_expid.py --config MicroVideo1.7M/DMIN_microvideo1.7m_x1/DMIN_microvideo1.7m_x1_tuner_config_04 --expid DMIN_microvideo1.7m_x1_004_f15038ee --gpu 3,[exp_id] DMIN_microvideo1.7m_x1_004_f15038ee,[dataset_id] microvideo1.7m_x1_83b31456,[train] N.A.,[val] gAUC: 0.685812 - AUC: 0.731645 - logloss: 0.415347,[test] gAUC: 0.685812 - AUC: 0.731645 - logloss: 0.415347 + 20230522-120538,[command] python run_expid.py --config MicroVideo1.7M/DMIN_microvideo1.7m_x1/DMIN_microvideo1.7m_x1_tuner_config_04 --expid DMIN_microvideo1.7m_x1_005_27dc4206 --gpu 4,[exp_id] DMIN_microvideo1.7m_x1_005_27dc4206,[dataset_id] microvideo1.7m_x1_83b31456,[train] N.A.,[val] gAUC: 0.685604 - AUC: 0.732814 - logloss: 0.410612,[test] gAUC: 0.685604 - AUC: 0.732814 - logloss: 0.410612 + 20230522-182443,[command] python run_expid.py --config MicroVideo1.7M/DMIN_microvideo1.7m_x1/DMIN_microvideo1.7m_x1_tuner_config_04 --expid DMIN_microvideo1.7m_x1_015_dd8c6ae2 --gpu 4,[exp_id] DMIN_microvideo1.7m_x1_015_dd8c6ae2,[dataset_id] microvideo1.7m_x1_83b31456,[train] N.A.,[val] gAUC: 0.685240 - AUC: 0.730345 - logloss: 0.413545,[test] gAUC: 0.685240 - AUC: 0.730345 - logloss: 0.413545 + 20230522-141711,[command] python run_expid.py --config MicroVideo1.7M/DMIN_microvideo1.7m_x1/DMIN_microvideo1.7m_x1_tuner_config_04 --expid DMIN_microvideo1.7m_x1_007_f15038ee --gpu 6,[exp_id] DMIN_microvideo1.7m_x1_007_f15038ee,[dataset_id] microvideo1.7m_x1_83b31456,[train] N.A.,[val] gAUC: 0.685022 - AUC: 0.730428 - logloss: 0.412488,[test] gAUC: 0.685022 - AUC: 0.730428 - logloss: 0.412488 diff --git a/ranking/ctr/DMIN/DMIN_microvideo1.7m_x1/DMIN_microvideo1.7m_x1_tuner_config_04.yaml b/ranking/ctr/DMIN/DMIN_microvideo1.7m_x1/DMIN_microvideo1.7m_x1_tuner_config_04.yaml new file mode 100644 index 0000000..9a9eead --- /dev/null +++ b/ranking/ctr/DMIN/DMIN_microvideo1.7m_x1/DMIN_microvideo1.7m_x1_tuner_config_04.yaml @@ -0,0 +1,58 @@ +base_config: ../model_zoo/DMIN/config/ +base_expid: DMIN_default +dataset_id: microvideo1.7m_x1 + +dataset_config: + microvideo1.7m_x1: + data_root: ../data/MicroVideo1.7M/ + data_format: csv + train_data: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/train.csv + valid_data: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv # no validation data split in original paper + test_data: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv + min_categr_count: 1 + feature_cols: + - {name: group_id, active: True, dtype: int, type: meta, preprocess: "copy_from(user_id)", remap: False} + - {name: user_id, active: True, dtype: str, type: categorical} + - {name: item_id, active: True, dtype: str, type: categorical, embedding_dim: 64, + pretrained_emb: "../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5"} + - {name: cate_id, active: True, dtype: str, type: categorical} + - {name: clicked_items, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, embedding_dim: 64, + padding: post, pretrained_emb: "../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5"} + - {name: clicked_categories, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, padding: post, + share_embedding: cate_id} + - {name: timestamp, active: False, dtype: str, type: categorical} + label_col: {name: is_click, dtype: float} + + +tuner_space: + model_root: './checkpoints/DMIN_microvideo1.7m_x1/' + feature_specs: [[ + {name: item_id, feature_encoder: "nn.Linear(64, 64, bias=False)"}, + {name: clicked_items, feature_encoder: "nn.Linear(64, 64, bias=False)"}, + {name: clicked_categories, feature_encoder: null} + ]] + embedding_dim: 64 + dnn_hidden_units: [[1024, 512, 256]] + target_field: [!!python/tuple [item_id, cate_id]] + sequence_field: [!!python/tuple [clicked_items, clicked_categories]] + dnn_activations: ReLU + num_heads: [1, 4] + attention_activation: ReLU + attention_hidden_units: [[512, 256]] + attention_dropout: 0.1 + embedding_regularizer: [5.e-4, 1.e-3] + net_dropout: 0.1 + enable_sum_pooling: False + use_behavior_refiner: [True, False] + bn_only_once: False + use_pos_emb: [True, False] + pos_emb_dim: 2 + batch_norm: True + layer_norm: True + learning_rate: 5.e-4 + batch_size: 2048 + seed: 2022 + group_id: group_id + metrics: [[gAUC, AUC, logloss]] + monitor: {"gAUC": 1, "AUC": 1} + diff --git a/ranking/ctr/DMIN/DMIN_microvideo1.7m_x1/DMIN_microvideo1.7m_x1_tuner_config_04/dataset_config.yaml b/ranking/ctr/DMIN/DMIN_microvideo1.7m_x1/DMIN_microvideo1.7m_x1_tuner_config_04/dataset_config.yaml new file mode 100644 index 0000000..9b378af --- /dev/null +++ b/ranking/ctr/DMIN/DMIN_microvideo1.7m_x1/DMIN_microvideo1.7m_x1_tuner_config_04/dataset_config.yaml @@ -0,0 +1,21 @@ +microvideo1.7m_x1_83b31456: + data_format: csv + data_root: ../data/MicroVideo1.7M/ + feature_cols: + - {active: true, dtype: int, name: group_id, preprocess: copy_from(user_id), remap: false, + type: meta} + - {active: true, dtype: str, name: user_id, type: categorical} + - {active: true, dtype: str, embedding_dim: 64, name: item_id, pretrained_emb: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5, + type: categorical} + - {active: true, dtype: str, name: cate_id, type: categorical} + - {active: true, dtype: str, embedding_dim: 64, max_len: 100, name: clicked_items, + padding: post, pretrained_emb: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5, + splitter: ^, type: sequence} + - {active: true, dtype: str, max_len: 100, name: clicked_categories, padding: post, + share_embedding: cate_id, splitter: ^, type: sequence} + - {active: false, dtype: str, name: timestamp, type: categorical} + label_col: {dtype: float, name: is_click} + min_categr_count: 1 + test_data: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv + train_data: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/train.csv + valid_data: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv diff --git a/ranking/ctr/DMIN/DMIN_microvideo1.7m_x1/DMIN_microvideo1.7m_x1_tuner_config_04/model_config.yaml b/ranking/ctr/DMIN/DMIN_microvideo1.7m_x1/DMIN_microvideo1.7m_x1_tuner_config_04/model_config.yaml new file mode 100644 index 0000000..f61e462 --- /dev/null +++ b/ranking/ctr/DMIN/DMIN_microvideo1.7m_x1/DMIN_microvideo1.7m_x1_tuner_config_04/model_config.yaml @@ -0,0 +1,832 @@ +DMIN_microvideo1.7m_x1_001_2663b367: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: true + batch_size: 2048 + bn_only_once: false + dataset_id: microvideo1.7m_x1_83b31456 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: clicked_items} + - {feature_encoder: null, name: clicked_categories} + group_id: group_id + layer_norm: true + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 1 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 2 + save_best_only: true + seed: 2022 + sequence_field: !!python/tuple [clicked_items, clicked_categories] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_microvideo1.7m_x1_002_27dc4206: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: true + batch_size: 2048 + bn_only_once: false + dataset_id: microvideo1.7m_x1_83b31456 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: clicked_items} + - {feature_encoder: null, name: clicked_categories} + group_id: group_id + layer_norm: true + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 1 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 2 + save_best_only: true + seed: 2022 + sequence_field: !!python/tuple [clicked_items, clicked_categories] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: false + verbose: 1 +DMIN_microvideo1.7m_x1_003_a1e54d87: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: true + batch_size: 2048 + bn_only_once: false + dataset_id: microvideo1.7m_x1_83b31456 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: clicked_items} + - {feature_encoder: null, name: clicked_categories} + group_id: group_id + layer_norm: true + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 4 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 2 + save_best_only: true + seed: 2022 + sequence_field: !!python/tuple [clicked_items, clicked_categories] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_microvideo1.7m_x1_004_f15038ee: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: true + batch_size: 2048 + bn_only_once: false + dataset_id: microvideo1.7m_x1_83b31456 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: clicked_items} + - {feature_encoder: null, name: clicked_categories} + group_id: group_id + layer_norm: true + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 4 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 2 + save_best_only: true + seed: 2022 + sequence_field: !!python/tuple [clicked_items, clicked_categories] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: false + verbose: 1 +DMIN_microvideo1.7m_x1_005_27dc4206: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: true + batch_size: 2048 + bn_only_once: false + dataset_id: microvideo1.7m_x1_83b31456 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: clicked_items} + - {feature_encoder: null, name: clicked_categories} + group_id: group_id + layer_norm: true + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 1 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 2 + save_best_only: true + seed: 2022 + sequence_field: !!python/tuple [clicked_items, clicked_categories] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_behavior_refiner: false + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_microvideo1.7m_x1_006_8935b08e: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: true + batch_size: 2048 + bn_only_once: false + dataset_id: microvideo1.7m_x1_83b31456 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: clicked_items} + - {feature_encoder: null, name: clicked_categories} + group_id: group_id + layer_norm: true + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 1 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 2 + save_best_only: true + seed: 2022 + sequence_field: !!python/tuple [clicked_items, clicked_categories] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_behavior_refiner: false + use_features: null + use_pos_emb: false + verbose: 1 +DMIN_microvideo1.7m_x1_007_f15038ee: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: true + batch_size: 2048 + bn_only_once: false + dataset_id: microvideo1.7m_x1_83b31456 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: clicked_items} + - {feature_encoder: null, name: clicked_categories} + group_id: group_id + layer_norm: true + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 4 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 2 + save_best_only: true + seed: 2022 + sequence_field: !!python/tuple [clicked_items, clicked_categories] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_behavior_refiner: false + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_microvideo1.7m_x1_008_9d1ce223: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: true + batch_size: 2048 + bn_only_once: false + dataset_id: microvideo1.7m_x1_83b31456 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: clicked_items} + - {feature_encoder: null, name: clicked_categories} + group_id: group_id + layer_norm: true + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 4 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 2 + save_best_only: true + seed: 2022 + sequence_field: !!python/tuple [clicked_items, clicked_categories] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_behavior_refiner: false + use_features: null + use_pos_emb: false + verbose: 1 +DMIN_microvideo1.7m_x1_009_800f504a: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: true + batch_size: 2048 + bn_only_once: false + dataset_id: microvideo1.7m_x1_83b31456 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.001 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: clicked_items} + - {feature_encoder: null, name: clicked_categories} + group_id: group_id + layer_norm: true + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 1 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 2 + save_best_only: true + seed: 2022 + sequence_field: !!python/tuple [clicked_items, clicked_categories] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_microvideo1.7m_x1_010_d21be00a: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: true + batch_size: 2048 + bn_only_once: false + dataset_id: microvideo1.7m_x1_83b31456 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.001 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: clicked_items} + - {feature_encoder: null, name: clicked_categories} + group_id: group_id + layer_norm: true + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 1 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 2 + save_best_only: true + seed: 2022 + sequence_field: !!python/tuple [clicked_items, clicked_categories] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: false + verbose: 1 +DMIN_microvideo1.7m_x1_011_76a75336: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: true + batch_size: 2048 + bn_only_once: false + dataset_id: microvideo1.7m_x1_83b31456 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.001 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: clicked_items} + - {feature_encoder: null, name: clicked_categories} + group_id: group_id + layer_norm: true + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 4 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 2 + save_best_only: true + seed: 2022 + sequence_field: !!python/tuple [clicked_items, clicked_categories] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_microvideo1.7m_x1_012_dd8c6ae2: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: true + batch_size: 2048 + bn_only_once: false + dataset_id: microvideo1.7m_x1_83b31456 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.001 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: clicked_items} + - {feature_encoder: null, name: clicked_categories} + group_id: group_id + layer_norm: true + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 4 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 2 + save_best_only: true + seed: 2022 + sequence_field: !!python/tuple [clicked_items, clicked_categories] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: false + verbose: 1 +DMIN_microvideo1.7m_x1_013_d21be00a: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: true + batch_size: 2048 + bn_only_once: false + dataset_id: microvideo1.7m_x1_83b31456 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.001 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: clicked_items} + - {feature_encoder: null, name: clicked_categories} + group_id: group_id + layer_norm: true + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 1 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 2 + save_best_only: true + seed: 2022 + sequence_field: !!python/tuple [clicked_items, clicked_categories] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_behavior_refiner: false + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_microvideo1.7m_x1_014_d6163c18: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: true + batch_size: 2048 + bn_only_once: false + dataset_id: microvideo1.7m_x1_83b31456 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.001 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: clicked_items} + - {feature_encoder: null, name: clicked_categories} + group_id: group_id + layer_norm: true + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 1 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 2 + save_best_only: true + seed: 2022 + sequence_field: !!python/tuple [clicked_items, clicked_categories] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_behavior_refiner: false + use_features: null + use_pos_emb: false + verbose: 1 +DMIN_microvideo1.7m_x1_015_dd8c6ae2: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: true + batch_size: 2048 + bn_only_once: false + dataset_id: microvideo1.7m_x1_83b31456 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.001 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: clicked_items} + - {feature_encoder: null, name: clicked_categories} + group_id: group_id + layer_norm: true + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 4 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 2 + save_best_only: true + seed: 2022 + sequence_field: !!python/tuple [clicked_items, clicked_categories] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_behavior_refiner: false + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_microvideo1.7m_x1_016_38252189: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: true + batch_size: 2048 + bn_only_once: false + dataset_id: microvideo1.7m_x1_83b31456 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.001 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: clicked_items} + - {feature_encoder: null, name: clicked_categories} + group_id: group_id + layer_norm: true + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_heads: 4 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 2 + save_best_only: true + seed: 2022 + sequence_field: !!python/tuple [clicked_items, clicked_categories] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_behavior_refiner: false + use_features: null + use_pos_emb: false + verbose: 1 diff --git a/ranking/ctr/DMIN/DMIN_microvideo1.7m_x1/README.md b/ranking/ctr/DMIN/DMIN_microvideo1.7m_x1/README.md new file mode 100644 index 0000000..12c8784 --- /dev/null +++ b/ranking/ctr/DMIN/DMIN_microvideo1.7m_x1/README.md @@ -0,0 +1,214 @@ +## DMIN_microvideo1.7m_x1 + +A hands-on guide to run the DMIN model on the MicroVideo1.7M_x1 dataset. + +Author: [BARS Benchmark](https://github.com/reczoo/BARS/blob/main/CITATION) + + +| [Environments](#Environments) | [Dataset](#Dataset) | [Code](#Code) | [Results](#Results) | [Logs](#Logs) | +|:-----------------------------:|:-----------:|:--------:|:--------:|-------| +### Environments ++ Hardware + + ```python + CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz + GPU: Tesla V100 32G + RAM: 755G + + ``` + ++ Software + + ```python + cuda: 10.2 + python: 3.7.10 + pytorch: 1.11.0 + pandas: 1.1.5 + numpy: 1.19.5 + scipy: 1.5.2 + sklearn: 0.22.1 + pyyaml: 6.0 + h5py: 2.8.0 + tqdm: 4.64.0 + fuxictr: 2.0.3 + + ``` + +### Dataset +Please refer to [MicroVideo1.7M_x1](https://github.com/reczoo/Datasets/tree/main/MicroVideo/MicroVideo1.7M_x1) to get the dataset details. + +### Code + +We use the [DMIN](https://github.com/reczoo/FuxiCTR/tree/v2.0.3/model_zoo/DMIN) model code from [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/tree/v2.0.3) for this experiment. + +Running steps: + +1. Download [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/archive/refs/tags/v2.0.3.zip) and install all the dependencies listed in the [environments](#environments). + + ```bash + pip uninstall fuxictr + pip install fuxictr==2.0.3 + ``` + +2. Create a data directory and put the downloaded data files in `../data/MicroVideo/MicroVideo1.7M_x1`. + +3. Both `dataset_config.yaml` and `model_config.yaml` files are available in [DMIN_microvideo1.7m_x1_tuner_config_04](./DMIN_microvideo1.7m_x1_tuner_config_04). Please make sure that the data paths in `dataset_config.yaml` are correctly set. + +4. Run the following script to start training and evaluation. + + ```bash + cd FuxiCTR/model_zoo/DMIN + nohup python run_expid.py --config YOUR_PATH/DMIN/DMIN_microvideo1.7m_x1_tuner_config_04 --expid DMIN_microvideo1 --gpu 0 > run.log & + tail -f run.log + ``` + +### Results + +| gAUC | AUC | logloss | +|:--------------------:|:--------------------:|:--------------------:| +| 0.687910 | 0.733174 | 0.411456 | + + +### Logs +```python +2023-05-22 19:03:26,748 P1124 INFO Params: { + "attention_activation": "ReLU", + "attention_dropout": "0.1", + "attention_hidden_units": "[512, 256]", + "aux_activation": "ReLU", + "aux_hidden_units": "[100, 50]", + "aux_loss_lambda": "0", + "batch_norm": "True", + "batch_size": "2048", + "bn_only_once": "False", + "data_format": "csv", + "data_root": "../data/MicroVideo1.7M/", + "dataset_id": "microvideo1.7m_x1_83b31456", + "debug_mode": "False", + "dnn_activations": "ReLU", + "dnn_hidden_units": "[1024, 512, 256]", + "early_stop_patience": "2", + "embedding_dim": "64", + "embedding_regularizer": "0.0005", + "enable_sum_pooling": "False", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'group_id', 'preprocess': 'copy_from(user_id)', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': 'user_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'name': 'item_id', 'pretrained_emb': '../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'name': 'cate_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'max_len': 100, 'name': 'clicked_items', 'padding': 'post', 'pretrained_emb': '../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 100, 'name': 'clicked_categories', 'padding': 'post', 'share_embedding': 'cate_id', 'splitter': '^', 'type': 'sequence'}, {'active': False, 'dtype': 'str', 'name': 'timestamp', 'type': 'categorical'}]", + "feature_config": "None", + "feature_specs": "[{'feature_encoder': 'nn.Linear(64, 64, bias=False)', 'name': 'item_id'}, {'feature_encoder': 'nn.Linear(64, 64, bias=False)', 'name': 'clicked_items'}, {'feature_encoder': None, 'name': 'clicked_categories'}]", + "gpu": "1", + "group_id": "group_id", + "label_col": "{'dtype': 'float', 'name': 'is_click'}", + "layer_norm": "True", + "learning_rate": "0.0005", + "loss": "binary_crossentropy", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "1", + "model": "DMIN", + "model_id": "DMIN_microvideo1.7m_x1_002_27dc4206", + "model_root": "./checkpoints/DMIN_microvideo1.7m_x1/", + "monitor": "{'AUC': 1, 'gAUC': 1}", + "monitor_mode": "max", + "neg_seq_field": "None", + "net_dropout": "0.1", + "net_regularizer": "0", + "num_heads": "1", + "num_workers": "3", + "optimizer": "adam", + "pickle_feature_encoder": "True", + "pos_emb_dim": "2", + "save_best_only": "True", + "seed": "2022", + "sequence_field": "('clicked_items', 'clicked_categories')", + "shuffle": "True", + "target_field": "('item_id', 'cate_id')", + "task": "binary_classification", + "test_data": "../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv", + "train_data": "../data/MicroVideo1.7M/MicroVideo1.7M_x1/train.csv", + "use_behavior_refiner": "True", + "use_features": "None", + "use_pos_emb": "False", + "valid_data": "../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv", + "verbose": "1" +} +2023-05-22 19:03:26,748 P1124 INFO Set up feature processor... +2023-05-22 19:03:26,749 P1124 WARNING Skip rebuilding ../data/MicroVideo1.7M/microvideo1.7m_x1_83b31456/feature_map.json. Please delete it manually if rebuilding is required. +2023-05-22 19:03:26,749 P1124 INFO Load feature_map from json: ../data/MicroVideo1.7M/microvideo1.7m_x1_83b31456/feature_map.json +2023-05-22 19:03:26,749 P1124 INFO Set column index... +2023-05-22 19:03:26,749 P1124 INFO Feature specs: { + "cate_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 513, 'vocab_size': 514}", + "clicked_categories": "{'source': '', 'type': 'sequence', 'feature_encoder': None, 'share_embedding': 'cate_id', 'padding_idx': 0, 'oov_idx': 513, 'vocab_size': 514, 'max_len': 100}", + "clicked_items": "{'source': '', 'type': 'sequence', 'feature_encoder': 'nn.Linear(64, 64, bias=False)', 'embedding_dim': 64, 'pretrained_emb': 'pretrained_emb.h5', 'freeze_emb': True, 'padding_idx': 0, 'oov_idx': 1704881, 'vocab_size': 1704882, 'max_len': 100}", + "group_id": "{'type': 'meta'}", + "item_id": "{'source': '', 'type': 'categorical', 'embedding_dim': 64, 'pretrained_emb': 'pretrained_emb.h5', 'freeze_emb': True, 'padding_idx': 0, 'oov_idx': 1704881, 'vocab_size': 1704882, 'feature_encoder': 'nn.Linear(64, 64, bias=False)'}", + "user_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 10987, 'vocab_size': 10988}" +} +2023-05-22 19:03:34,413 P1124 INFO Total number of parameters: 2391170. +2023-05-22 19:03:34,413 P1124 INFO Loading data... +2023-05-22 19:03:34,414 P1124 INFO Loading data from h5: ../data/MicroVideo1.7M/microvideo1.7m_x1_83b31456/train.h5 +2023-05-22 19:03:44,720 P1124 INFO Train samples: total/8970309, blocks/1 +2023-05-22 19:03:44,721 P1124 INFO Loading data from h5: ../data/MicroVideo1.7M/microvideo1.7m_x1_83b31456/valid.h5 +2023-05-22 19:03:48,822 P1124 INFO Validation samples: total/3767308, blocks/1 +2023-05-22 19:03:48,822 P1124 INFO Loading train and validation data done. +2023-05-22 19:03:48,823 P1124 INFO Start training: 4381 batches/epoch +2023-05-22 19:03:48,823 P1124 INFO ************ Epoch=1 start ************ +2023-05-22 19:14:34,894 P1124 INFO Train loss: 0.459424 +2023-05-22 19:14:34,895 P1124 INFO Evaluation @epoch 1 - batch 4381: +2023-05-22 19:17:02,982 P1124 INFO [Metrics] AUC: 0.719974 - gAUC: 0.675118 +2023-05-22 19:17:02,986 P1124 INFO Save best model: monitor(max)=1.395092 +2023-05-22 19:17:04,928 P1124 INFO ************ Epoch=1 end ************ +2023-05-22 19:28:00,343 P1124 INFO Train loss: 0.440365 +2023-05-22 19:28:00,344 P1124 INFO Evaluation @epoch 2 - batch 4381: +2023-05-22 19:30:39,971 P1124 INFO [Metrics] AUC: 0.721605 - gAUC: 0.674904 +2023-05-22 19:30:39,972 P1124 INFO Save best model: monitor(max)=1.396509 +2023-05-22 19:30:41,925 P1124 INFO ************ Epoch=2 end ************ +2023-05-22 19:41:58,600 P1124 INFO Train loss: 0.436459 +2023-05-22 19:41:58,600 P1124 INFO Evaluation @epoch 3 - batch 4381: +2023-05-22 19:44:29,938 P1124 INFO [Metrics] AUC: 0.726343 - gAUC: 0.679697 +2023-05-22 19:44:29,939 P1124 INFO Save best model: monitor(max)=1.406041 +2023-05-22 19:44:31,867 P1124 INFO ************ Epoch=3 end ************ +2023-05-22 19:55:37,461 P1124 INFO Train loss: 0.433986 +2023-05-22 19:55:37,461 P1124 INFO Evaluation @epoch 4 - batch 4381: +2023-05-22 19:58:09,714 P1124 INFO [Metrics] AUC: 0.726451 - gAUC: 0.680044 +2023-05-22 19:58:09,721 P1124 INFO Save best model: monitor(max)=1.406495 +2023-05-22 19:58:11,601 P1124 INFO ************ Epoch=4 end ************ +2023-05-22 20:09:37,210 P1124 INFO Train loss: 0.432523 +2023-05-22 20:09:37,210 P1124 INFO Evaluation @epoch 5 - batch 4381: +2023-05-22 20:12:17,393 P1124 INFO [Metrics] AUC: 0.728707 - gAUC: 0.682796 +2023-05-22 20:12:17,399 P1124 INFO Save best model: monitor(max)=1.411503 +2023-05-22 20:12:19,360 P1124 INFO ************ Epoch=5 end ************ +2023-05-22 20:23:20,123 P1124 INFO Train loss: 0.431104 +2023-05-22 20:23:20,123 P1124 INFO Evaluation @epoch 6 - batch 4381: +2023-05-22 20:25:45,037 P1124 INFO [Metrics] AUC: 0.726938 - gAUC: 0.681092 +2023-05-22 20:25:45,043 P1124 INFO Monitor(max)=1.408031 STOP! +2023-05-22 20:25:45,043 P1124 INFO Reduce learning rate on plateau: 0.000050 +2023-05-22 20:25:45,089 P1124 INFO ************ Epoch=6 end ************ +2023-05-22 20:36:58,858 P1124 INFO Train loss: 0.419381 +2023-05-22 20:36:58,859 P1124 INFO Evaluation @epoch 7 - batch 4381: +2023-05-22 20:39:21,346 P1124 INFO [Metrics] AUC: 0.733174 - gAUC: 0.687910 +2023-05-22 20:39:21,347 P1124 INFO Save best model: monitor(max)=1.421083 +2023-05-22 20:39:23,250 P1124 INFO ************ Epoch=7 end ************ +2023-05-22 20:50:25,049 P1124 INFO Train loss: 0.414647 +2023-05-22 20:50:25,050 P1124 INFO Evaluation @epoch 8 - batch 4381: +2023-05-22 20:52:32,567 P1124 INFO [Metrics] AUC: 0.732513 - gAUC: 0.687943 +2023-05-22 20:52:32,569 P1124 INFO Monitor(max)=1.420457 STOP! +2023-05-22 20:52:32,569 P1124 INFO Reduce learning rate on plateau: 0.000005 +2023-05-22 20:52:32,627 P1124 INFO ************ Epoch=8 end ************ +2023-05-22 21:03:32,610 P1124 INFO Train loss: 0.410793 +2023-05-22 21:03:32,610 P1124 INFO Evaluation @epoch 9 - batch 4381: +2023-05-22 21:05:56,759 P1124 INFO [Metrics] AUC: 0.732347 - gAUC: 0.687945 +2023-05-22 21:05:56,760 P1124 INFO Monitor(max)=1.420292 STOP! +2023-05-22 21:05:56,760 P1124 INFO Reduce learning rate on plateau: 0.000001 +2023-05-22 21:05:56,760 P1124 INFO ********* Epoch==9 early stop ********* +2023-05-22 21:05:56,819 P1124 INFO Training finished. +2023-05-22 21:05:56,820 P1124 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/DMIN_microvideo1.7m_x1/microvideo1.7m_x1_83b31456/DMIN_microvideo1.7m_x1_002_27dc4206.model +2023-05-22 21:05:57,423 P1124 INFO ****** Validation evaluation ****** +2023-05-22 21:08:41,126 P1124 INFO [Metrics] gAUC: 0.687910 - AUC: 0.733174 - logloss: 0.411456 +2023-05-22 21:08:41,252 P1124 INFO ******** Test evaluation ******** +2023-05-22 21:08:41,252 P1124 INFO Loading data... +2023-05-22 21:08:41,252 P1124 INFO Loading data from h5: ../data/MicroVideo1.7M/microvideo1.7m_x1_83b31456/test.h5 +2023-05-22 21:08:45,539 P1124 INFO Test samples: total/3767308, blocks/1 +2023-05-22 21:08:45,539 P1124 INFO Loading test data done. +2023-05-22 21:11:01,894 P1124 INFO [Metrics] gAUC: 0.687910 - AUC: 0.733174 - logloss: 0.411456 + +``` diff --git a/ranking/ctr/DMIN/DMIN_microvideo1.7m_x1/environments.txt b/ranking/ctr/DMIN/DMIN_microvideo1.7m_x1/environments.txt new file mode 100644 index 0000000..a39d234 --- /dev/null +++ b/ranking/ctr/DMIN/DMIN_microvideo1.7m_x1/environments.txt @@ -0,0 +1,17 @@ +[Hardware] +CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz +GPU: Tesla V100 32G +RAM: 755G + +[Software] +cuda: 10.2 +python: 3.7.10 +pytorch: 1.11.0 +pandas: 1.1.5 +numpy: 1.19.5 +scipy: 1.5.2 +sklearn: 0.22.1 +pyyaml: 6.0 +h5py: 2.8.0 +tqdm: 4.64.0 +fuxictr: 2.0.3 diff --git a/ranking/ctr/DMIN/DMIN_microvideo1.7m_x1/results.csv b/ranking/ctr/DMIN/DMIN_microvideo1.7m_x1/results.csv new file mode 100644 index 0000000..e9a724c --- /dev/null +++ b/ranking/ctr/DMIN/DMIN_microvideo1.7m_x1/results.csv @@ -0,0 +1 @@ + 20230522-124326,[command] python run_expid.py --config MicroVideo1.7M/DMIN_microvideo1.7m_x1/DMIN_microvideo1.7m_x1_tuner_config_04 --expid DMIN_microvideo1.7m_x1_002_27dc4206 --gpu 1,[exp_id] DMIN_microvideo1.7m_x1_002_27dc4206,[dataset_id] microvideo1.7m_x1_83b31456,[train] N.A.,[val] gAUC: 0.687910 - AUC: 0.733174 - logloss: 0.411456,[test] gAUC: 0.687910 - AUC: 0.733174 - logloss: 0.411456 diff --git a/ranking/ctr/DMIN/DMIN_taobaoad_x1/DMIN_taobaoad_x1_011_0be611e8.log b/ranking/ctr/DMIN/DMIN_taobaoad_x1/DMIN_taobaoad_x1_011_0be611e8.log new file mode 100644 index 0000000..3a51576 --- /dev/null +++ b/ranking/ctr/DMIN/DMIN_taobaoad_x1/DMIN_taobaoad_x1_011_0be611e8.log @@ -0,0 +1,138 @@ +2023-05-23 11:38:17,711 P27781 INFO Params: { + "attention_activation": "ReLU", + "attention_dropout": "0.2", + "attention_hidden_units": "[512, 256]", + "aux_activation": "ReLU", + "aux_hidden_units": "[100, 50]", + "aux_loss_lambda": "0", + "batch_norm": "False", + "batch_size": "8192", + "bn_only_once": "False", + "data_format": "csv", + "data_root": "../data/Taobao/", + "dataset_id": "taobaoad_x1_bf8c47ea", + "debug_mode": "False", + "dnn_activations": "ReLU", + "dnn_hidden_units": "[512, 256, 128]", + "early_stop_patience": "2", + "embedding_dim": "32", + "embedding_regularizer": "5e-06", + "enable_sum_pooling": "False", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'group_id', 'preprocess': 'copy_from(userid)', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': ['userid', 'cms_segid', 'cms_group_id', 'final_gender_code', 'age_level', 'pvalue_level', 'shopping_level', 'occupation', 'new_user_class_level', 'adgroup_id', 'cate_id', 'campaign_id', 'customer', 'brand', 'pid', 'btag'], 'type': 'categorical'}, {'active': True, 'dtype': 'float', 'name': 'price', 'type': 'numeric'}, {'active': True, 'dtype': 'str', 'max_len': 50, 'name': 'cate_his', 'padding': 'post', 'share_embedding': 'cate_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 50, 'name': 'brand_his', 'padding': 'post', 'share_embedding': 'brand', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 50, 'name': 'btag_his', 'padding': 'post', 'share_embedding': 'btag', 'splitter': '^', 'type': 'sequence'}]", + "feature_config": "None", + "feature_specs": "[{'feature_encoder': None, 'name': ['cate_his', 'brand_his', 'btag_his']}]", + "gpu": "0", + "group_id": "group_id", + "label_col": "{'dtype': 'float', 'name': 'clk'}", + "layer_norm": "True", + "learning_rate": "0.001", + "loss": "binary_crossentropy", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "10", + "model": "DMIN", + "model_id": "DMIN_taobaoad_x1_011_0be611e8", + "model_root": "./checkpoints/DMIN_taobaoad_x1/", + "monitor": "{'AUC': 1, 'gAUC': 1}", + "monitor_mode": "max", + "neg_seq_field": "None", + "net_dropout": "0", + "net_regularizer": "0", + "num_heads": "1", + "num_workers": "3", + "optimizer": "adam", + "pickle_feature_encoder": "True", + "pos_emb_dim": "4", + "save_best_only": "True", + "seed": "20222023", + "sequence_field": "('cate_his', 'brand_his', 'btag_his')", + "shuffle": "True", + "target_field": "('cate_id', 'brand', 'btag')", + "task": "binary_classification", + "test_data": "../data/Taobao/TaobaoAd_x1/test.csv", + "train_data": "../data/Taobao/TaobaoAd_x1/train.csv", + "use_behavior_refiner": "False", + "use_features": "None", + "use_pos_emb": "True", + "valid_data": "../data/Taobao/TaobaoAd_x1/test.csv", + "verbose": "1" +} +2023-05-23 11:38:17,713 P27781 INFO Set up feature processor... +2023-05-23 11:38:17,713 P27781 WARNING Skip rebuilding ../data/Taobao/taobaoad_x1_bf8c47ea/feature_map.json. Please delete it manually if rebuilding is required. +2023-05-23 11:38:17,713 P27781 INFO Load feature_map from json: ../data/Taobao/taobaoad_x1_bf8c47ea/feature_map.json +2023-05-23 11:38:17,714 P27781 INFO Set column index... +2023-05-23 11:38:17,714 P27781 INFO Feature specs: { + "adgroup_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 246850, 'vocab_size': 246851}", + "age_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 8, 'vocab_size': 9}", + "brand": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 308869, 'vocab_size': 308870}", + "brand_his": "{'source': '', 'type': 'sequence', 'feature_encoder': None, 'share_embedding': 'brand', 'padding_idx': 0, 'oov_idx': 308869, 'vocab_size': 308870, 'max_len': 50}", + "btag": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 5, 'vocab_size': 6}", + "btag_his": "{'source': '', 'type': 'sequence', 'feature_encoder': None, 'share_embedding': 'btag', 'padding_idx': 0, 'oov_idx': 5, 'vocab_size': 6, 'max_len': 50}", + "campaign_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 191770, 'vocab_size': 191771}", + "cate_his": "{'source': '', 'type': 'sequence', 'feature_encoder': None, 'share_embedding': 'cate_id', 'padding_idx': 0, 'oov_idx': 11329, 'vocab_size': 11330, 'max_len': 50}", + "cate_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 11329, 'vocab_size': 11330}", + "cms_group_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 14, 'vocab_size': 15}", + "cms_segid": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 98, 'vocab_size': 99}", + "customer": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 132135, 'vocab_size': 132136}", + "final_gender_code": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 3, 'vocab_size': 4}", + "group_id": "{'type': 'meta'}", + "new_user_class_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 6, 'vocab_size': 7}", + "occupation": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 3, 'vocab_size': 4}", + "pid": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 3, 'vocab_size': 4}", + "price": "{'source': '', 'type': 'numeric'}", + "pvalue_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 5, 'vocab_size': 6}", + "shopping_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 4, 'vocab_size': 5}", + "userid": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 403957, 'vocab_size': 403958}" +} +2023-05-23 11:38:21,653 P27781 INFO Total number of parameters: 42347786. +2023-05-23 11:38:21,654 P27781 INFO Loading data... +2023-05-23 11:38:21,654 P27781 INFO Loading data from h5: ../data/Taobao/taobaoad_x1_bf8c47ea/train.h5 +2023-05-23 11:38:49,862 P27781 INFO Train samples: total/21929911, blocks/1 +2023-05-23 11:38:49,862 P27781 INFO Loading data from h5: ../data/Taobao/taobaoad_x1_bf8c47ea/valid.h5 +2023-05-23 11:38:53,632 P27781 INFO Validation samples: total/3099515, blocks/1 +2023-05-23 11:38:53,632 P27781 INFO Loading train and validation data done. +2023-05-23 11:38:53,632 P27781 INFO Start training: 2677 batches/epoch +2023-05-23 11:38:53,632 P27781 INFO ************ Epoch=1 start ************ +2023-05-23 11:47:12,354 P27781 INFO Train loss: 0.204894 +2023-05-23 11:47:12,354 P27781 INFO Evaluation @epoch 1 - batch 2677: +2023-05-23 11:48:58,068 P27781 INFO [Metrics] AUC: 0.639346 - gAUC: 0.564971 +2023-05-23 11:48:58,069 P27781 INFO Save best model: monitor(max)=1.204317 +2023-05-23 11:48:58,389 P27781 INFO ************ Epoch=1 end ************ +2023-05-23 11:57:36,966 P27781 INFO Train loss: 0.201418 +2023-05-23 11:57:36,966 P27781 INFO Evaluation @epoch 2 - batch 2677: +2023-05-23 11:59:20,585 P27781 INFO [Metrics] AUC: 0.650592 - gAUC: 0.572662 +2023-05-23 11:59:20,587 P27781 INFO Save best model: monitor(max)=1.223254 +2023-05-23 11:59:21,045 P27781 INFO ************ Epoch=2 end ************ +2023-05-23 12:07:36,123 P27781 INFO Train loss: 0.198432 +2023-05-23 12:07:36,124 P27781 INFO Evaluation @epoch 3 - batch 2677: +2023-05-23 12:09:18,991 P27781 INFO [Metrics] AUC: 0.651607 - gAUC: 0.575599 +2023-05-23 12:09:18,993 P27781 INFO Save best model: monitor(max)=1.227206 +2023-05-23 12:09:19,407 P27781 INFO ************ Epoch=3 end ************ +2023-05-23 12:17:38,650 P27781 INFO Train loss: 0.197723 +2023-05-23 12:17:38,651 P27781 INFO Evaluation @epoch 4 - batch 2677: +2023-05-23 12:19:16,429 P27781 INFO [Metrics] AUC: 0.651103 - gAUC: 0.577000 +2023-05-23 12:19:16,430 P27781 INFO Save best model: monitor(max)=1.228104 +2023-05-23 12:19:16,865 P27781 INFO ************ Epoch=4 end ************ +2023-05-23 12:27:46,877 P27781 INFO Train loss: 0.197705 +2023-05-23 12:27:46,877 P27781 INFO Evaluation @epoch 5 - batch 2677: +2023-05-23 12:29:25,193 P27781 INFO [Metrics] AUC: 0.651449 - gAUC: 0.575664 +2023-05-23 12:29:25,194 P27781 INFO Monitor(max)=1.227113 STOP! +2023-05-23 12:29:25,194 P27781 INFO Reduce learning rate on plateau: 0.000100 +2023-05-23 12:29:25,288 P27781 INFO ************ Epoch=5 end ************ +2023-05-23 12:37:40,904 P27781 INFO Train loss: 0.184534 +2023-05-23 12:37:40,904 P27781 INFO Evaluation @epoch 6 - batch 2677: +2023-05-23 12:39:17,180 P27781 INFO [Metrics] AUC: 0.644481 - gAUC: 0.572521 +2023-05-23 12:39:17,181 P27781 INFO Monitor(max)=1.217002 STOP! +2023-05-23 12:39:17,181 P27781 INFO Reduce learning rate on plateau: 0.000010 +2023-05-23 12:39:17,182 P27781 INFO ********* Epoch==6 early stop ********* +2023-05-23 12:39:17,284 P27781 INFO Training finished. +2023-05-23 12:39:17,284 P27781 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/DMIN_taobaoad_x1/taobaoad_x1_bf8c47ea/DMIN_taobaoad_x1_011_0be611e8.model +2023-05-23 12:39:17,452 P27781 INFO ****** Validation evaluation ****** +2023-05-23 12:40:52,661 P27781 INFO [Metrics] gAUC: 0.577000 - AUC: 0.651103 - logloss: 0.192813 +2023-05-23 12:40:52,807 P27781 INFO ******** Test evaluation ******** +2023-05-23 12:40:52,807 P27781 INFO Loading data... +2023-05-23 12:40:52,807 P27781 INFO Loading data from h5: ../data/Taobao/taobaoad_x1_bf8c47ea/test.h5 +2023-05-23 12:40:57,028 P27781 INFO Test samples: total/3099515, blocks/1 +2023-05-23 12:40:57,029 P27781 INFO Loading test data done. +2023-05-23 12:42:30,215 P27781 INFO [Metrics] gAUC: 0.577000 - AUC: 0.651103 - logloss: 0.192813 diff --git a/ranking/ctr/DMIN/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05.csv b/ranking/ctr/DMIN/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05.csv new file mode 100644 index 0000000..a742681 --- /dev/null +++ b/ranking/ctr/DMIN/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05.csv @@ -0,0 +1,32 @@ + 20230523-124230,[command] python run_expid.py --config Taobao/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05 --expid DMIN_taobaoad_x1_011_0be611e8 --gpu 0,[exp_id] DMIN_taobaoad_x1_011_0be611e8,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.577000 - AUC: 0.651103 - logloss: 0.192813,[test] gAUC: 0.577000 - AUC: 0.651103 - logloss: 0.192813 + 20230523-123022,[command] python run_expid.py --config Taobao/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05 --expid DMIN_taobaoad_x1_009_3572948b --gpu 2,[exp_id] DMIN_taobaoad_x1_009_3572948b,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.576733 - AUC: 0.651123 - logloss: 0.192825,[test] gAUC: 0.576733 - AUC: 0.651123 - logloss: 0.192825 + 20230523-135941,[command] python run_expid.py --config Taobao/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05 --expid DMIN_taobaoad_x1_005_e0e309ad --gpu 4,[exp_id] DMIN_taobaoad_x1_005_e0e309ad,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.576157 - AUC: 0.652013 - logloss: 0.192727,[test] gAUC: 0.576157 - AUC: 0.652013 - logloss: 0.192727 + 20230523-165701,[command] python run_expid.py --config Taobao/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05 --expid DMIN_taobaoad_x1_016_03bc23c4 --gpu 0,[exp_id] DMIN_taobaoad_x1_016_03bc23c4,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.576064 - AUC: 0.650110 - logloss: 0.193194,[test] gAUC: 0.576064 - AUC: 0.650110 - logloss: 0.193194 + 20230523-123229,[command] python run_expid.py --config Taobao/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05 --expid DMIN_taobaoad_x1_012_f37486b2 --gpu 1,[exp_id] DMIN_taobaoad_x1_012_f37486b2,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.575946 - AUC: 0.651341 - logloss: 0.192299,[test] gAUC: 0.575946 - AUC: 0.651341 - logloss: 0.192299 + 20230523-122007,[command] python run_expid.py --config Taobao/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05 --expid DMIN_taobaoad_x1_010_94186132 --gpu 3,[exp_id] DMIN_taobaoad_x1_010_94186132,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.575653 - AUC: 0.651243 - logloss: 0.192299,[test] gAUC: 0.575653 - AUC: 0.651243 - logloss: 0.192299 + 20230523-154828,[command] python run_expid.py --config Taobao/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05 --expid DMIN_taobaoad_x1_014_7bc7d404 --gpu 2,[exp_id] DMIN_taobaoad_x1_014_7bc7d404,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.575457 - AUC: 0.650048 - logloss: 0.192609,[test] gAUC: 0.575457 - AUC: 0.650048 - logloss: 0.192609 + 20230523-143035,[command] python run_expid.py --config Taobao/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05 --expid DMIN_taobaoad_x1_006_105b7543 --gpu 5,[exp_id] DMIN_taobaoad_x1_006_105b7543,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.575362 - AUC: 0.652404 - logloss: 0.192417,[test] gAUC: 0.575362 - AUC: 0.652404 - logloss: 0.192417 + 20230523-151118,[command] python run_expid.py --config Taobao/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05 --expid DMIN_taobaoad_x1_013_f562e713 --gpu 3,[exp_id] DMIN_taobaoad_x1_013_f562e713,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.575204 - AUC: 0.652113 - logloss: 0.192660,[test] gAUC: 0.575204 - AUC: 0.652113 - logloss: 0.192660 + 20230523-132951,[command] python run_expid.py --config Taobao/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05 --expid DMIN_taobaoad_x1_007_f0047d18 --gpu 6,[exp_id] DMIN_taobaoad_x1_007_f0047d18,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.574956 - AUC: 0.650645 - logloss: 0.193137,[test] gAUC: 0.574956 - AUC: 0.650645 - logloss: 0.193137 + 20230523-152304,[command] python run_expid.py --config Taobao/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05 --expid DMIN_taobaoad_x1_015_3179d037 --gpu 1,[exp_id] DMIN_taobaoad_x1_015_3179d037,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.574303 - AUC: 0.651254 - logloss: 0.192997,[test] gAUC: 0.574303 - AUC: 0.651254 - logloss: 0.192997 + 20230523-113813,[command] python run_expid.py --config Taobao/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05 --expid DMIN_taobaoad_x1_001_3e76899d --gpu 0,[exp_id] DMIN_taobaoad_x1_001_3e76899d,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.573824 - AUC: 0.650905 - logloss: 0.192770,[test] gAUC: 0.573824 - AUC: 0.650905 - logloss: 0.192770 + 20230523-113818,[command] python run_expid.py --config Taobao/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05 --expid DMIN_taobaoad_x1_002_b4f08285 --gpu 1,[exp_id] DMIN_taobaoad_x1_002_b4f08285,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.573190 - AUC: 0.648402 - logloss: 0.195575,[test] gAUC: 0.573190 - AUC: 0.648402 - logloss: 0.195575 + 20230523-112530,[command] python run_expid.py --config Taobao/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05 --expid DMIN_taobaoad_x1_004_7e9f7bc6 --gpu 3,[exp_id] DMIN_taobaoad_x1_004_7e9f7bc6,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.572950 - AUC: 0.649414 - logloss: 0.192545,[test] gAUC: 0.572950 - AUC: 0.649414 - logloss: 0.192545 + 20230523-143609,[command] python run_expid.py --config Taobao/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05 --expid DMIN_taobaoad_x1_018_082d75bd --gpu 6,[exp_id] DMIN_taobaoad_x1_018_082d75bd,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.572664 - AUC: 0.649764 - logloss: 0.192463,[test] gAUC: 0.572664 - AUC: 0.649764 - logloss: 0.192463 + 20230523-161656,[command] python run_expid.py --config Taobao/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05 --expid DMIN_taobaoad_x1_025_3e76899d --gpu 1,[exp_id] DMIN_taobaoad_x1_025_3e76899d,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.572560 - AUC: 0.649745 - logloss: 0.192904,[test] gAUC: 0.572560 - AUC: 0.649745 - logloss: 0.192904 + 20230523-143604,[command] python run_expid.py --config Taobao/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05 --expid DMIN_taobaoad_x1_017_59164799 --gpu 7,[exp_id] DMIN_taobaoad_x1_017_59164799,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.572557 - AUC: 0.649299 - logloss: 0.192551,[test] gAUC: 0.572557 - AUC: 0.649299 - logloss: 0.192551 + 20230523-164227,[command] python run_expid.py --config Taobao/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05 --expid DMIN_taobaoad_x1_027_33112c82 --gpu 2,[exp_id] DMIN_taobaoad_x1_027_33112c82,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.572504 - AUC: 0.649273 - logloss: 0.192836,[test] gAUC: 0.572504 - AUC: 0.649273 - logloss: 0.192836 + 20230523-171010,[command] python run_expid.py --config Taobao/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05 --expid DMIN_taobaoad_x1_028_7e9f7bc6 --gpu 1,[exp_id] DMIN_taobaoad_x1_028_7e9f7bc6,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.572407 - AUC: 0.650045 - logloss: 0.192763,[test] gAUC: 0.572407 - AUC: 0.650045 - logloss: 0.192763 + 20230523-153626,[command] python run_expid.py --config Taobao/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05 --expid DMIN_taobaoad_x1_020_0ad40076 --gpu 5,[exp_id] DMIN_taobaoad_x1_020_0ad40076,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.572146 - AUC: 0.650029 - logloss: 0.192637,[test] gAUC: 0.572146 - AUC: 0.650029 - logloss: 0.192637 + 20230523-195840,[command] python run_expid.py --config Taobao/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05 --expid DMIN_taobaoad_x1_032_11927827 --gpu 1,[exp_id] DMIN_taobaoad_x1_032_11927827,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.572053 - AUC: 0.648433 - logloss: 0.192723,[test] gAUC: 0.572053 - AUC: 0.648433 - logloss: 0.192723 + 20230523-192019,[command] python run_expid.py --config Taobao/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05 --expid DMIN_taobaoad_x1_029_e0e309ad --gpu 5,[exp_id] DMIN_taobaoad_x1_029_e0e309ad,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.571945 - AUC: 0.649000 - logloss: 0.192793,[test] gAUC: 0.571945 - AUC: 0.649000 - logloss: 0.192793 + 20230523-171617,[command] python run_expid.py --config Taobao/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05 --expid DMIN_taobaoad_x1_021_a775af59 --gpu 7,[exp_id] DMIN_taobaoad_x1_021_a775af59,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.571777 - AUC: 0.648634 - logloss: 0.192515,[test] gAUC: 0.571777 - AUC: 0.648634 - logloss: 0.192515 + 20230523-150515,[command] python run_expid.py --config Taobao/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05 --expid DMIN_taobaoad_x1_019_981f3f5c --gpu 4,[exp_id] DMIN_taobaoad_x1_019_981f3f5c,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.571669 - AUC: 0.648968 - logloss: 0.192536,[test] gAUC: 0.571669 - AUC: 0.648968 - logloss: 0.192536 + 20230523-163019,[command] python run_expid.py --config Taobao/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05 --expid DMIN_taobaoad_x1_026_b4f08285 --gpu 5,[exp_id] DMIN_taobaoad_x1_026_b4f08285,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.571578 - AUC: 0.650330 - logloss: 0.192776,[test] gAUC: 0.571578 - AUC: 0.650330 - logloss: 0.192776 + 20230523-132950,[command] python run_expid.py --config Taobao/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05 --expid DMIN_taobaoad_x1_008_11927827 --gpu 7,[exp_id] DMIN_taobaoad_x1_008_11927827,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.571530 - AUC: 0.647859 - logloss: 0.193067,[test] gAUC: 0.571530 - AUC: 0.647859 - logloss: 0.193067 + 20230523-193128,[command] python run_expid.py --config Taobao/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05 --expid DMIN_taobaoad_x1_030_105b7543 --gpu 2,[exp_id] DMIN_taobaoad_x1_030_105b7543,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.571430 - AUC: 0.648556 - logloss: 0.192709,[test] gAUC: 0.571430 - AUC: 0.648556 - logloss: 0.192709 + 20230523-191936,[command] python run_expid.py --config Taobao/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05 --expid DMIN_taobaoad_x1_031_f0047d18 --gpu 0,[exp_id] DMIN_taobaoad_x1_031_f0047d18,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.571282 - AUC: 0.648446 - logloss: 0.192888,[test] gAUC: 0.571282 - AUC: 0.648446 - logloss: 0.192888 + 20230523-112528,[command] python run_expid.py --config Taobao/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05 --expid DMIN_taobaoad_x1_003_33112c82 --gpu 2,[exp_id] DMIN_taobaoad_x1_003_33112c82,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.571236 - AUC: 0.647886 - logloss: 0.192870,[test] gAUC: 0.571236 - AUC: 0.647886 - logloss: 0.192870 + 20230523-174919,[command] python run_expid.py --config Taobao/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05 --expid DMIN_taobaoad_x1_024_c9f93ef2 --gpu 3,[exp_id] DMIN_taobaoad_x1_024_c9f93ef2,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.571000 - AUC: 0.648946 - logloss: 0.193016,[test] gAUC: 0.571000 - AUC: 0.648946 - logloss: 0.193016 + 20230523-171536,[command] python run_expid.py --config Taobao/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05 --expid DMIN_taobaoad_x1_022_306aabd9 --gpu 6,[exp_id] DMIN_taobaoad_x1_022_306aabd9,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.570534 - AUC: 0.648144 - logloss: 0.193198,[test] gAUC: 0.570534 - AUC: 0.648144 - logloss: 0.193198 + 20230523-181344,[command] python run_expid.py --config Taobao/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05 --expid DMIN_taobaoad_x1_023_f09e89a3 --gpu 4,[exp_id] DMIN_taobaoad_x1_023_f09e89a3,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.570402 - AUC: 0.647820 - logloss: 0.193092,[test] gAUC: 0.570402 - AUC: 0.647820 - logloss: 0.193092 diff --git a/ranking/ctr/DMIN/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05.yaml b/ranking/ctr/DMIN/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05.yaml new file mode 100644 index 0000000..03cd070 --- /dev/null +++ b/ranking/ctr/DMIN/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05.yaml @@ -0,0 +1,54 @@ +base_config: ../model_zoo/DMIN/config/ +base_expid: DMIN_default +dataset_id: taobaoad_x1 + +dataset_config: + taobaoad_x1: + data_root: ../data/Taobao/ + data_format: csv + train_data: ../data/Taobao/TaobaoAd_x1/train.csv + valid_data: ../data/Taobao/TaobaoAd_x1/test.csv + test_data: ../data/Taobao/TaobaoAd_x1/test.csv + min_categr_count: 10 + feature_cols: + - {name: "group_id", active: True, dtype: int, type: meta, preprocess: "copy_from(userid)", remap: False} + - {name: ["userid","cms_segid","cms_group_id","final_gender_code","age_level","pvalue_level","shopping_level", + "occupation","new_user_class_level","adgroup_id","cate_id","campaign_id","customer","brand","pid","btag"], + active: True, dtype: str, type: categorical} + - {name: price, active: True, dtype: float, type: numeric} + - {name: cate_his, active: True, dtype: str, splitter: ^, type: sequence, max_len: 50, padding: post, + share_embedding: cate_id} + - {name: brand_his, active: True, dtype: str, splitter: ^, type: sequence, max_len: 50, padding: post, + share_embedding: brand} + - {name: btag_his, active: True, dtype: str, splitter: ^, type: sequence, max_len: 50, padding: post, + share_embedding: btag} + label_col: {name: clk, dtype: float} + +tuner_space: + model_root: './checkpoints/DMIN_taobaoad_x1/' + feature_specs: [[ + {name: [cate_his, brand_his, btag_his], feature_encoder: null} + ]] + embedding_dim: 32 + dnn_hidden_units: [[512, 256, 128]] + dnn_activations: ReLU + target_field: [!!python/tuple [cate_id, brand, btag]] + sequence_field: [!!python/tuple [cate_his, brand_his, btag_his]] + num_heads: [1, 4] + attention_activation: ReLU + attention_hidden_units: [[512, 256]] + attention_dropout: [0.1, 0.2] + embedding_regularizer: 5.e-6 + net_dropout: 0 + use_pos_emb: True + pos_emb_dim: [4, 32] + enable_sum_pooling: [False, True] + use_behavior_refiner: [True, False] + batch_norm: False + learning_rate: 1.e-3 + batch_size: 8192 + seed: 20222023 + group_id: group_id + metrics: [[gAUC, AUC, logloss]] + monitor: {"gAUC": 1, "AUC": 1} + diff --git a/ranking/ctr/DMIN/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05/dataset_config.yaml b/ranking/ctr/DMIN/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05/dataset_config.yaml new file mode 100644 index 0000000..451745d --- /dev/null +++ b/ranking/ctr/DMIN/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05/dataset_config.yaml @@ -0,0 +1,24 @@ +taobaoad_x1_bf8c47ea: + data_format: csv + data_root: ../data/Taobao/ + feature_cols: + - {active: true, dtype: int, name: group_id, preprocess: copy_from(userid), remap: false, + type: meta} + - active: true + dtype: str + name: [userid, cms_segid, cms_group_id, final_gender_code, age_level, pvalue_level, + shopping_level, occupation, new_user_class_level, adgroup_id, cate_id, + campaign_id, customer, brand, pid, btag] + type: categorical + - {active: true, dtype: float, name: price, type: numeric} + - {active: true, dtype: str, max_len: 50, name: cate_his, padding: post, share_embedding: cate_id, + splitter: ^, type: sequence} + - {active: true, dtype: str, max_len: 50, name: brand_his, padding: post, share_embedding: brand, + splitter: ^, type: sequence} + - {active: true, dtype: str, max_len: 50, name: btag_his, padding: post, share_embedding: btag, + splitter: ^, type: sequence} + label_col: {dtype: float, name: clk} + min_categr_count: 10 + test_data: ../data/Taobao/TaobaoAd_x1/test.csv + train_data: ../data/Taobao/TaobaoAd_x1/train.csv + valid_data: ../data/Taobao/TaobaoAd_x1/test.csv diff --git a/ranking/ctr/DMIN/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05/model_config.yaml b/ranking/ctr/DMIN/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05/model_config.yaml new file mode 100644 index 0000000..a55c3f7 --- /dev/null +++ b/ranking/ctr/DMIN/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05/model_config.yaml @@ -0,0 +1,1632 @@ +DMIN_taobaoad_x1_001_3e76899d: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0 + net_regularizer: 0 + num_heads: 1 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 4 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_taobaoad_x1_002_b4f08285: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0 + net_regularizer: 0 + num_heads: 1 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 32 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_taobaoad_x1_003_33112c82: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0 + net_regularizer: 0 + num_heads: 1 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 4 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_taobaoad_x1_004_7e9f7bc6: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0 + net_regularizer: 0 + num_heads: 1 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 32 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_taobaoad_x1_005_e0e309ad: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0 + net_regularizer: 0 + num_heads: 4 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 4 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_taobaoad_x1_006_105b7543: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0 + net_regularizer: 0 + num_heads: 4 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 32 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_taobaoad_x1_007_f0047d18: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0 + net_regularizer: 0 + num_heads: 4 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 4 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_taobaoad_x1_008_11927827: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0 + net_regularizer: 0 + num_heads: 4 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 32 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_taobaoad_x1_009_3572948b: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0 + net_regularizer: 0 + num_heads: 1 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 4 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_behavior_refiner: false + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_taobaoad_x1_010_94186132: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0 + net_regularizer: 0 + num_heads: 1 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 32 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_behavior_refiner: false + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_taobaoad_x1_011_0be611e8: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0 + net_regularizer: 0 + num_heads: 1 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 4 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_behavior_refiner: false + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_taobaoad_x1_012_f37486b2: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0 + net_regularizer: 0 + num_heads: 1 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 32 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_behavior_refiner: false + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_taobaoad_x1_013_f562e713: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0 + net_regularizer: 0 + num_heads: 4 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 4 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_behavior_refiner: false + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_taobaoad_x1_014_7bc7d404: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0 + net_regularizer: 0 + num_heads: 4 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 32 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_behavior_refiner: false + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_taobaoad_x1_015_3179d037: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0 + net_regularizer: 0 + num_heads: 4 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 4 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_behavior_refiner: false + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_taobaoad_x1_016_03bc23c4: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_sum_pooling: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0 + net_regularizer: 0 + num_heads: 4 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 32 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_behavior_refiner: false + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_taobaoad_x1_017_59164799: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_sum_pooling: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0 + net_regularizer: 0 + num_heads: 1 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 4 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_taobaoad_x1_018_082d75bd: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_sum_pooling: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0 + net_regularizer: 0 + num_heads: 1 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 32 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_taobaoad_x1_019_981f3f5c: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_sum_pooling: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0 + net_regularizer: 0 + num_heads: 1 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 4 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_taobaoad_x1_020_0ad40076: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_sum_pooling: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0 + net_regularizer: 0 + num_heads: 1 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 32 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_taobaoad_x1_021_a775af59: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_sum_pooling: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0 + net_regularizer: 0 + num_heads: 4 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 4 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_taobaoad_x1_022_306aabd9: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_sum_pooling: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0 + net_regularizer: 0 + num_heads: 4 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 32 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_taobaoad_x1_023_f09e89a3: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_sum_pooling: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0 + net_regularizer: 0 + num_heads: 4 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 4 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_taobaoad_x1_024_c9f93ef2: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_sum_pooling: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0 + net_regularizer: 0 + num_heads: 4 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 32 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_behavior_refiner: true + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_taobaoad_x1_025_3e76899d: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_sum_pooling: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0 + net_regularizer: 0 + num_heads: 1 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 4 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_behavior_refiner: false + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_taobaoad_x1_026_b4f08285: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_sum_pooling: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0 + net_regularizer: 0 + num_heads: 1 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 32 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_behavior_refiner: false + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_taobaoad_x1_027_33112c82: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_sum_pooling: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0 + net_regularizer: 0 + num_heads: 1 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 4 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_behavior_refiner: false + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_taobaoad_x1_028_7e9f7bc6: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_sum_pooling: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0 + net_regularizer: 0 + num_heads: 1 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 32 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_behavior_refiner: false + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_taobaoad_x1_029_e0e309ad: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_sum_pooling: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0 + net_regularizer: 0 + num_heads: 4 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 4 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_behavior_refiner: false + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_taobaoad_x1_030_105b7543: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_sum_pooling: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0 + net_regularizer: 0 + num_heads: 4 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 32 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_behavior_refiner: false + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_taobaoad_x1_031_f0047d18: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_sum_pooling: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0 + net_regularizer: 0 + num_heads: 4 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 4 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_behavior_refiner: false + use_features: null + use_pos_emb: true + verbose: 1 +DMIN_taobaoad_x1_032_11927827: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_activation: ReLU + aux_hidden_units: [100, 50] + aux_loss_lambda: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_sum_pooling: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + layer_norm: true + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMIN + model_root: ./checkpoints/DMIN_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0 + net_regularizer: 0 + num_heads: 4 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 32 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_behavior_refiner: false + use_features: null + use_pos_emb: true + verbose: 1 diff --git a/ranking/ctr/DMIN/DMIN_taobaoad_x1/README.md b/ranking/ctr/DMIN/DMIN_taobaoad_x1/README.md new file mode 100644 index 0000000..6a0a564 --- /dev/null +++ b/ranking/ctr/DMIN/DMIN_taobaoad_x1/README.md @@ -0,0 +1,213 @@ +## DMIN_taobaoad_x1 + +A hands-on guide to run the DMIN model on the TaobaoAd_x1 dataset. + +Author: [BARS Benchmark](https://github.com/reczoo/BARS/blob/main/CITATION) + + +| [Environments](#Environments) | [Dataset](#Dataset) | [Code](#Code) | [Results](#Results) | [Logs](#Logs) | +|:-----------------------------:|:-----------:|:--------:|:--------:|-------| +### Environments ++ Hardware + + ```python + CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz + GPU: Tesla V100 32G + RAM: 755G + + ``` + ++ Software + + ```python + cuda: 10.2 + python: 3.7.10 + pytorch: 1.11.0 + pandas: 1.1.5 + numpy: 1.19.5 + scipy: 1.5.2 + sklearn: 0.22.1 + pyyaml: 6.0 + h5py: 2.8.0 + tqdm: 4.64.0 + fuxictr: 2.0.3 + + ``` + +### Dataset +Please refer to [TaobaoAd_x1](https://github.com/reczoo/Datasets/tree/main/Taobao/TaobaoAd_x1) to get the dataset details. + +### Code + +We use the [DMIN](https://github.com/reczoo/FuxiCTR/tree/v2.0.3/model_zoo/DMIN) model code from [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/tree/v2.0.3) for this experiment. + +Running steps: + +1. Download [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/archive/refs/tags/v2.0.3.zip) and install all the dependencies listed in the [environments](#environments). + + ```bash + pip uninstall fuxictr + pip install fuxictr==2.0.3 + ``` + +2. Create a data directory and put the downloaded data files in `../data/Taobao/TaobaoAd_x1`. + +3. Both `dataset_config.yaml` and `model_config.yaml` files are available in [DMIN_taobaoad_x1_tuner_config_05](./DMIN_taobaoad_x1_tuner_config_05). Please make sure that the data paths in `dataset_config.yaml` are correctly set. + +4. Run the following script to start training and evaluation. + + ```bash + cd FuxiCTR/model_zoo/DMIN + nohup python run_expid.py --config YOUR_PATH/DMIN/DMIN_taobaoad_x1_tuner_config_05 --expid DMIN_taobaoad_x1_011_0be611e8 --gpu 0 > run.log & + tail -f run.log + ``` + +### Results + +| gAUC | AUC | logloss | +|:--------------------:|:--------------------:|:--------------------:| +| 0.577000 | 0.651103 | 0.192813 | + + +### Logs +```python +2023-05-23 11:38:17,711 P27781 INFO Params: { + "attention_activation": "ReLU", + "attention_dropout": "0.2", + "attention_hidden_units": "[512, 256]", + "aux_activation": "ReLU", + "aux_hidden_units": "[100, 50]", + "aux_loss_lambda": "0", + "batch_norm": "False", + "batch_size": "8192", + "bn_only_once": "False", + "data_format": "csv", + "data_root": "../data/Taobao/", + "dataset_id": "taobaoad_x1_bf8c47ea", + "debug_mode": "False", + "dnn_activations": "ReLU", + "dnn_hidden_units": "[512, 256, 128]", + "early_stop_patience": "2", + "embedding_dim": "32", + "embedding_regularizer": "5e-06", + "enable_sum_pooling": "False", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'group_id', 'preprocess': 'copy_from(userid)', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': ['userid', 'cms_segid', 'cms_group_id', 'final_gender_code', 'age_level', 'pvalue_level', 'shopping_level', 'occupation', 'new_user_class_level', 'adgroup_id', 'cate_id', 'campaign_id', 'customer', 'brand', 'pid', 'btag'], 'type': 'categorical'}, {'active': True, 'dtype': 'float', 'name': 'price', 'type': 'numeric'}, {'active': True, 'dtype': 'str', 'max_len': 50, 'name': 'cate_his', 'padding': 'post', 'share_embedding': 'cate_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 50, 'name': 'brand_his', 'padding': 'post', 'share_embedding': 'brand', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 50, 'name': 'btag_his', 'padding': 'post', 'share_embedding': 'btag', 'splitter': '^', 'type': 'sequence'}]", + "feature_config": "None", + "feature_specs": "[{'feature_encoder': None, 'name': ['cate_his', 'brand_his', 'btag_his']}]", + "gpu": "0", + "group_id": "group_id", + "label_col": "{'dtype': 'float', 'name': 'clk'}", + "layer_norm": "True", + "learning_rate": "0.001", + "loss": "binary_crossentropy", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "10", + "model": "DMIN", + "model_id": "DMIN_taobaoad_x1_011_0be611e8", + "model_root": "./checkpoints/DMIN_taobaoad_x1/", + "monitor": "{'AUC': 1, 'gAUC': 1}", + "monitor_mode": "max", + "neg_seq_field": "None", + "net_dropout": "0", + "net_regularizer": "0", + "num_heads": "1", + "num_workers": "3", + "optimizer": "adam", + "pickle_feature_encoder": "True", + "pos_emb_dim": "4", + "save_best_only": "True", + "seed": "20222023", + "sequence_field": "('cate_his', 'brand_his', 'btag_his')", + "shuffle": "True", + "target_field": "('cate_id', 'brand', 'btag')", + "task": "binary_classification", + "test_data": "../data/Taobao/TaobaoAd_x1/test.csv", + "train_data": "../data/Taobao/TaobaoAd_x1/train.csv", + "use_behavior_refiner": "False", + "use_features": "None", + "use_pos_emb": "True", + "valid_data": "../data/Taobao/TaobaoAd_x1/test.csv", + "verbose": "1" +} +2023-05-23 11:38:17,713 P27781 INFO Set up feature processor... +2023-05-23 11:38:17,713 P27781 WARNING Skip rebuilding ../data/Taobao/taobaoad_x1_bf8c47ea/feature_map.json. Please delete it manually if rebuilding is required. +2023-05-23 11:38:17,713 P27781 INFO Load feature_map from json: ../data/Taobao/taobaoad_x1_bf8c47ea/feature_map.json +2023-05-23 11:38:17,714 P27781 INFO Set column index... +2023-05-23 11:38:17,714 P27781 INFO Feature specs: { + "adgroup_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 246850, 'vocab_size': 246851}", + "age_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 8, 'vocab_size': 9}", + "brand": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 308869, 'vocab_size': 308870}", + "brand_his": "{'source': '', 'type': 'sequence', 'feature_encoder': None, 'share_embedding': 'brand', 'padding_idx': 0, 'oov_idx': 308869, 'vocab_size': 308870, 'max_len': 50}", + "btag": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 5, 'vocab_size': 6}", + "btag_his": "{'source': '', 'type': 'sequence', 'feature_encoder': None, 'share_embedding': 'btag', 'padding_idx': 0, 'oov_idx': 5, 'vocab_size': 6, 'max_len': 50}", + "campaign_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 191770, 'vocab_size': 191771}", + "cate_his": "{'source': '', 'type': 'sequence', 'feature_encoder': None, 'share_embedding': 'cate_id', 'padding_idx': 0, 'oov_idx': 11329, 'vocab_size': 11330, 'max_len': 50}", + "cate_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 11329, 'vocab_size': 11330}", + "cms_group_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 14, 'vocab_size': 15}", + "cms_segid": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 98, 'vocab_size': 99}", + "customer": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 132135, 'vocab_size': 132136}", + "final_gender_code": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 3, 'vocab_size': 4}", + "group_id": "{'type': 'meta'}", + "new_user_class_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 6, 'vocab_size': 7}", + "occupation": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 3, 'vocab_size': 4}", + "pid": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 3, 'vocab_size': 4}", + "price": "{'source': '', 'type': 'numeric'}", + "pvalue_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 5, 'vocab_size': 6}", + "shopping_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 4, 'vocab_size': 5}", + "userid": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 403957, 'vocab_size': 403958}" +} +2023-05-23 11:38:21,653 P27781 INFO Total number of parameters: 42347786. +2023-05-23 11:38:21,654 P27781 INFO Loading data... +2023-05-23 11:38:21,654 P27781 INFO Loading data from h5: ../data/Taobao/taobaoad_x1_bf8c47ea/train.h5 +2023-05-23 11:38:49,862 P27781 INFO Train samples: total/21929911, blocks/1 +2023-05-23 11:38:49,862 P27781 INFO Loading data from h5: ../data/Taobao/taobaoad_x1_bf8c47ea/valid.h5 +2023-05-23 11:38:53,632 P27781 INFO Validation samples: total/3099515, blocks/1 +2023-05-23 11:38:53,632 P27781 INFO Loading train and validation data done. +2023-05-23 11:38:53,632 P27781 INFO Start training: 2677 batches/epoch +2023-05-23 11:38:53,632 P27781 INFO ************ Epoch=1 start ************ +2023-05-23 11:47:12,354 P27781 INFO Train loss: 0.204894 +2023-05-23 11:47:12,354 P27781 INFO Evaluation @epoch 1 - batch 2677: +2023-05-23 11:48:58,068 P27781 INFO [Metrics] AUC: 0.639346 - gAUC: 0.564971 +2023-05-23 11:48:58,069 P27781 INFO Save best model: monitor(max)=1.204317 +2023-05-23 11:48:58,389 P27781 INFO ************ Epoch=1 end ************ +2023-05-23 11:57:36,966 P27781 INFO Train loss: 0.201418 +2023-05-23 11:57:36,966 P27781 INFO Evaluation @epoch 2 - batch 2677: +2023-05-23 11:59:20,585 P27781 INFO [Metrics] AUC: 0.650592 - gAUC: 0.572662 +2023-05-23 11:59:20,587 P27781 INFO Save best model: monitor(max)=1.223254 +2023-05-23 11:59:21,045 P27781 INFO ************ Epoch=2 end ************ +2023-05-23 12:07:36,123 P27781 INFO Train loss: 0.198432 +2023-05-23 12:07:36,124 P27781 INFO Evaluation @epoch 3 - batch 2677: +2023-05-23 12:09:18,991 P27781 INFO [Metrics] AUC: 0.651607 - gAUC: 0.575599 +2023-05-23 12:09:18,993 P27781 INFO Save best model: monitor(max)=1.227206 +2023-05-23 12:09:19,407 P27781 INFO ************ Epoch=3 end ************ +2023-05-23 12:17:38,650 P27781 INFO Train loss: 0.197723 +2023-05-23 12:17:38,651 P27781 INFO Evaluation @epoch 4 - batch 2677: +2023-05-23 12:19:16,429 P27781 INFO [Metrics] AUC: 0.651103 - gAUC: 0.577000 +2023-05-23 12:19:16,430 P27781 INFO Save best model: monitor(max)=1.228104 +2023-05-23 12:19:16,865 P27781 INFO ************ Epoch=4 end ************ +2023-05-23 12:27:46,877 P27781 INFO Train loss: 0.197705 +2023-05-23 12:27:46,877 P27781 INFO Evaluation @epoch 5 - batch 2677: +2023-05-23 12:29:25,193 P27781 INFO [Metrics] AUC: 0.651449 - gAUC: 0.575664 +2023-05-23 12:29:25,194 P27781 INFO Monitor(max)=1.227113 STOP! +2023-05-23 12:29:25,194 P27781 INFO Reduce learning rate on plateau: 0.000100 +2023-05-23 12:29:25,288 P27781 INFO ************ Epoch=5 end ************ +2023-05-23 12:37:40,904 P27781 INFO Train loss: 0.184534 +2023-05-23 12:37:40,904 P27781 INFO Evaluation @epoch 6 - batch 2677: +2023-05-23 12:39:17,180 P27781 INFO [Metrics] AUC: 0.644481 - gAUC: 0.572521 +2023-05-23 12:39:17,181 P27781 INFO Monitor(max)=1.217002 STOP! +2023-05-23 12:39:17,181 P27781 INFO Reduce learning rate on plateau: 0.000010 +2023-05-23 12:39:17,182 P27781 INFO ********* Epoch==6 early stop ********* +2023-05-23 12:39:17,284 P27781 INFO Training finished. +2023-05-23 12:39:17,284 P27781 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/DMIN_taobaoad_x1/taobaoad_x1_bf8c47ea/DMIN_taobaoad_x1_011_0be611e8.model +2023-05-23 12:39:17,452 P27781 INFO ****** Validation evaluation ****** +2023-05-23 12:40:52,661 P27781 INFO [Metrics] gAUC: 0.577000 - AUC: 0.651103 - logloss: 0.192813 +2023-05-23 12:40:52,807 P27781 INFO ******** Test evaluation ******** +2023-05-23 12:40:52,807 P27781 INFO Loading data... +2023-05-23 12:40:52,807 P27781 INFO Loading data from h5: ../data/Taobao/taobaoad_x1_bf8c47ea/test.h5 +2023-05-23 12:40:57,028 P27781 INFO Test samples: total/3099515, blocks/1 +2023-05-23 12:40:57,029 P27781 INFO Loading test data done. +2023-05-23 12:42:30,215 P27781 INFO [Metrics] gAUC: 0.577000 - AUC: 0.651103 - logloss: 0.192813 + +``` diff --git a/ranking/ctr/DMIN/DMIN_taobaoad_x1/environments.txt b/ranking/ctr/DMIN/DMIN_taobaoad_x1/environments.txt new file mode 100644 index 0000000..a39d234 --- /dev/null +++ b/ranking/ctr/DMIN/DMIN_taobaoad_x1/environments.txt @@ -0,0 +1,17 @@ +[Hardware] +CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz +GPU: Tesla V100 32G +RAM: 755G + +[Software] +cuda: 10.2 +python: 3.7.10 +pytorch: 1.11.0 +pandas: 1.1.5 +numpy: 1.19.5 +scipy: 1.5.2 +sklearn: 0.22.1 +pyyaml: 6.0 +h5py: 2.8.0 +tqdm: 4.64.0 +fuxictr: 2.0.3 diff --git a/ranking/ctr/DMIN/DMIN_taobaoad_x1/results.csv b/ranking/ctr/DMIN/DMIN_taobaoad_x1/results.csv new file mode 100644 index 0000000..cc042b3 --- /dev/null +++ b/ranking/ctr/DMIN/DMIN_taobaoad_x1/results.csv @@ -0,0 +1 @@ + 20230523-124230,[command] python run_expid.py --config Taobao/DMIN_taobaoad_x1/DMIN_taobaoad_x1_tuner_config_05 --expid DMIN_taobaoad_x1_011_0be611e8 --gpu 0,[exp_id] DMIN_taobaoad_x1_011_0be611e8,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.577000 - AUC: 0.651103 - logloss: 0.192813,[test] gAUC: 0.577000 - AUC: 0.651103 - logloss: 0.192813 diff --git a/ranking/ctr/DMR/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_002_bc859be0.log b/ranking/ctr/DMR/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_002_bc859be0.log new file mode 100644 index 0000000..ac4af29 --- /dev/null +++ b/ranking/ctr/DMR/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_002_bc859be0.log @@ -0,0 +1,161 @@ +2023-05-23 21:34:53,431 P18185 INFO Params: { + "attention_activation": "Dice", + "attention_dropout": "0.1", + "attention_hidden_units": "[512, 256]", + "aux_loss_beta": "0", + "batch_norm": "True", + "batch_size": "1024", + "bn_only_once": "False", + "context_field": "None", + "data_format": "csv", + "data_root": "../data/Amazon/", + "dataset_id": "amazonelectronics_x1_51836f99", + "debug_mode": "False", + "dnn_activations": "ReLU", + "dnn_hidden_units": "[1024, 512, 256]", + "early_stop_patience": "2", + "embedding_dim": "64", + "embedding_regularizer": "0.005", + "enable_i2i_rel": "False", + "enable_sum_pooling": "False", + "enable_u2i_rel": "True", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'user_id', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': 'item_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'name': 'cate_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'feature_encoder': 'layers.MaskedAveragePooling()', 'max_len': 100, 'name': 'item_history', 'padding': 'post', 'share_embedding': 'item_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'feature_encoder': 'layers.MaskedAveragePooling()', 'max_len': 100, 'name': 'cate_history', 'padding': 'post', 'share_embedding': 'cate_id', 'splitter': '^', 'type': 'sequence'}]", + "feature_config": "None", + "feature_specs": "[{'feature_encoder': None, 'name': 'item_history'}, {'feature_encoder': None, 'name': 'cate_history'}]", + "gpu": "1", + "group_id": "user_id", + "label_col": "{'dtype': 'float', 'name': 'label'}", + "learning_rate": "0.0005", + "loss": "binary_crossentropy", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "1", + "model": "DMR", + "model_id": "DMR_amazonelectronics_x1_002_bc859be0", + "model_root": "./checkpoints/DMR_amazonelectronics_x1/", + "monitor": "gAUC", + "monitor_mode": "max", + "neg_seq_field": "None", + "net_dropout": "0.1", + "net_regularizer": "0", + "num_workers": "3", + "optimizer": "adam", + "pickle_feature_encoder": "True", + "pos_emb_dim": "8", + "save_best_only": "True", + "seed": "20222023", + "sequence_field": "('item_history', 'cate_history')", + "shuffle": "True", + "target_field": "('item_id', 'cate_id')", + "task": "binary_classification", + "test_data": "../data/Amazon/AmazonElectronics_x1/test.csv", + "train_data": "../data/Amazon/AmazonElectronics_x1/train.csv", + "use_features": "None", + "use_pos_emb": "True", + "valid_data": "../data/Amazon/AmazonElectronics_x1/test.csv", + "verbose": "1" +} +2023-05-23 21:34:53,432 P18185 INFO Set up feature processor... +2023-05-23 21:34:53,432 P18185 WARNING Skip rebuilding ../data/Amazon/amazonelectronics_x1_51836f99/feature_map.json. Please delete it manually if rebuilding is required. +2023-05-23 21:34:53,432 P18185 INFO Load feature_map from json: ../data/Amazon/amazonelectronics_x1_51836f99/feature_map.json +2023-05-23 21:34:53,432 P18185 INFO Set column index... +2023-05-23 21:34:53,432 P18185 INFO Feature specs: { + "cate_history": "{'source': '', 'type': 'sequence', 'feature_encoder': None, 'share_embedding': 'cate_id', 'padding_idx': 0, 'oov_idx': 802, 'vocab_size': 803, 'max_len': 100}", + "cate_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 802, 'vocab_size': 803}", + "item_history": "{'source': '', 'type': 'sequence', 'feature_encoder': None, 'share_embedding': 'item_id', 'padding_idx': 0, 'oov_idx': 63002, 'vocab_size': 63003, 'max_len': 100}", + "item_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 63002, 'vocab_size': 63003}", + "user_id": "{'type': 'meta'}" +} +2023-05-23 21:35:01,074 P18185 INFO Total number of parameters: 9918147. +2023-05-23 21:35:01,074 P18185 INFO Loading data... +2023-05-23 21:35:01,075 P18185 INFO Loading data from h5: ../data/Amazon/amazonelectronics_x1_51836f99/train.h5 +2023-05-23 21:35:04,778 P18185 INFO Train samples: total/2608764, blocks/1 +2023-05-23 21:35:04,778 P18185 INFO Loading data from h5: ../data/Amazon/amazonelectronics_x1_51836f99/valid.h5 +2023-05-23 21:35:05,348 P18185 INFO Validation samples: total/384806, blocks/1 +2023-05-23 21:35:05,349 P18185 INFO Loading train and validation data done. +2023-05-23 21:35:05,349 P18185 INFO Start training: 2548 batches/epoch +2023-05-23 21:35:05,349 P18185 INFO ************ Epoch=1 start ************ +2023-05-23 21:46:19,091 P18185 INFO Train loss: 0.644987 +2023-05-23 21:46:19,092 P18185 INFO Evaluation @epoch 1 - batch 2548: +2023-05-23 21:48:41,607 P18185 INFO [Metrics] gAUC: 0.833932 +2023-05-23 21:48:41,608 P18185 INFO Save best model: monitor(max)=0.833932 +2023-05-23 21:48:41,746 P18185 INFO ************ Epoch=1 end ************ +2023-05-23 21:59:53,774 P18185 INFO Train loss: 0.593059 +2023-05-23 21:59:53,774 P18185 INFO Evaluation @epoch 2 - batch 2548: +2023-05-23 22:02:13,341 P18185 INFO [Metrics] gAUC: 0.847398 +2023-05-23 22:02:13,342 P18185 INFO Save best model: monitor(max)=0.847398 +2023-05-23 22:02:13,530 P18185 INFO ************ Epoch=2 end ************ +2023-05-23 22:13:28,921 P18185 INFO Train loss: 0.574215 +2023-05-23 22:13:28,922 P18185 INFO Evaluation @epoch 3 - batch 2548: +2023-05-23 22:15:46,619 P18185 INFO [Metrics] gAUC: 0.853116 +2023-05-23 22:15:46,620 P18185 INFO Save best model: monitor(max)=0.853116 +2023-05-23 22:15:46,796 P18185 INFO ************ Epoch=3 end ************ +2023-05-23 22:26:58,887 P18185 INFO Train loss: 0.566249 +2023-05-23 22:26:58,887 P18185 INFO Evaluation @epoch 4 - batch 2548: +2023-05-23 22:29:17,239 P18185 INFO [Metrics] gAUC: 0.856650 +2023-05-23 22:29:17,240 P18185 INFO Save best model: monitor(max)=0.856650 +2023-05-23 22:29:17,416 P18185 INFO ************ Epoch=4 end ************ +2023-05-23 22:40:35,757 P18185 INFO Train loss: 0.562551 +2023-05-23 22:40:35,757 P18185 INFO Evaluation @epoch 5 - batch 2548: +2023-05-23 22:42:54,551 P18185 INFO [Metrics] gAUC: 0.858214 +2023-05-23 22:42:54,552 P18185 INFO Save best model: monitor(max)=0.858214 +2023-05-23 22:42:54,753 P18185 INFO ************ Epoch=5 end ************ +2023-05-23 22:54:09,036 P18185 INFO Train loss: 0.560197 +2023-05-23 22:54:09,037 P18185 INFO Evaluation @epoch 6 - batch 2548: +2023-05-23 22:56:27,023 P18185 INFO [Metrics] gAUC: 0.859514 +2023-05-23 22:56:27,024 P18185 INFO Save best model: monitor(max)=0.859514 +2023-05-23 22:56:27,372 P18185 INFO ************ Epoch=6 end ************ +2023-05-23 23:07:41,177 P18185 INFO Train loss: 0.558907 +2023-05-23 23:07:41,178 P18185 INFO Evaluation @epoch 7 - batch 2548: +2023-05-23 23:09:57,111 P18185 INFO [Metrics] gAUC: 0.859961 +2023-05-23 23:09:57,112 P18185 INFO Save best model: monitor(max)=0.859961 +2023-05-23 23:09:57,298 P18185 INFO ************ Epoch=7 end ************ +2023-05-23 23:21:14,408 P18185 INFO Train loss: 0.557464 +2023-05-23 23:21:14,408 P18185 INFO Evaluation @epoch 8 - batch 2548: +2023-05-23 23:23:32,196 P18185 INFO [Metrics] gAUC: 0.860376 +2023-05-23 23:23:32,198 P18185 INFO Save best model: monitor(max)=0.860376 +2023-05-23 23:23:32,390 P18185 INFO ************ Epoch=8 end ************ +2023-05-23 23:34:45,299 P18185 INFO Train loss: 0.556701 +2023-05-23 23:34:45,300 P18185 INFO Evaluation @epoch 9 - batch 2548: +2023-05-23 23:37:03,792 P18185 INFO [Metrics] gAUC: 0.859145 +2023-05-23 23:37:03,803 P18185 INFO Monitor(max)=0.859145 STOP! +2023-05-23 23:37:03,803 P18185 INFO Reduce learning rate on plateau: 0.000050 +2023-05-23 23:37:03,888 P18185 INFO ************ Epoch=9 end ************ +2023-05-23 23:48:11,547 P18185 INFO Train loss: 0.462638 +2023-05-23 23:48:11,547 P18185 INFO Evaluation @epoch 10 - batch 2548: +2023-05-23 23:50:19,955 P18185 INFO [Metrics] gAUC: 0.878531 +2023-05-23 23:50:19,961 P18185 INFO Save best model: monitor(max)=0.878531 +2023-05-23 23:50:20,141 P18185 INFO ************ Epoch=10 end ************ +2023-05-24 00:01:39,500 P18185 INFO Train loss: 0.419315 +2023-05-24 00:01:39,501 P18185 INFO Evaluation @epoch 11 - batch 2548: +2023-05-24 00:03:50,824 P18185 INFO [Metrics] gAUC: 0.883214 +2023-05-24 00:03:50,825 P18185 INFO Save best model: monitor(max)=0.883214 +2023-05-24 00:03:51,006 P18185 INFO ************ Epoch=11 end ************ +2023-05-24 00:15:06,635 P18185 INFO Train loss: 0.401688 +2023-05-24 00:15:06,636 P18185 INFO Evaluation @epoch 12 - batch 2548: +2023-05-24 00:16:58,274 P18185 INFO [Metrics] gAUC: 0.885142 +2023-05-24 00:16:58,276 P18185 INFO Save best model: monitor(max)=0.885142 +2023-05-24 00:16:58,450 P18185 INFO ************ Epoch=12 end ************ +2023-05-24 00:27:33,679 P18185 INFO Train loss: 0.390809 +2023-05-24 00:27:33,680 P18185 INFO Evaluation @epoch 13 - batch 2548: +2023-05-24 00:29:23,541 P18185 INFO [Metrics] gAUC: 0.883843 +2023-05-24 00:29:23,542 P18185 INFO Monitor(max)=0.883843 STOP! +2023-05-24 00:29:23,542 P18185 INFO Reduce learning rate on plateau: 0.000005 +2023-05-24 00:29:23,634 P18185 INFO ************ Epoch=13 end ************ +2023-05-24 00:39:31,120 P18185 INFO Train loss: 0.342710 +2023-05-24 00:39:31,121 P18185 INFO Evaluation @epoch 14 - batch 2548: +2023-05-24 00:41:11,799 P18185 INFO [Metrics] gAUC: 0.882263 +2023-05-24 00:41:11,800 P18185 INFO Monitor(max)=0.882263 STOP! +2023-05-24 00:41:11,800 P18185 INFO Reduce learning rate on plateau: 0.000001 +2023-05-24 00:41:11,800 P18185 INFO ********* Epoch==14 early stop ********* +2023-05-24 00:41:11,876 P18185 INFO Training finished. +2023-05-24 00:41:11,876 P18185 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/DMR_amazonelectronics_x1/amazonelectronics_x1_51836f99/DMR_amazonelectronics_x1_002_bc859be0.model +2023-05-24 00:41:12,005 P18185 INFO ****** Validation evaluation ****** +2023-05-24 00:42:49,899 P18185 INFO [Metrics] gAUC: 0.885142 - AUC: 0.887335 - logloss: 0.427744 +2023-05-24 00:42:49,990 P18185 INFO ******** Test evaluation ******** +2023-05-24 00:42:49,990 P18185 INFO Loading data... +2023-05-24 00:42:49,990 P18185 INFO Loading data from h5: ../data/Amazon/amazonelectronics_x1_51836f99/test.h5 +2023-05-24 00:42:50,463 P18185 INFO Test samples: total/384806, blocks/1 +2023-05-24 00:42:50,463 P18185 INFO Loading test data done. +2023-05-24 00:44:18,081 P18185 INFO [Metrics] gAUC: 0.885142 - AUC: 0.887335 - logloss: 0.427744 diff --git a/ranking/ctr/DMR/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07.csv b/ranking/ctr/DMR/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07.csv new file mode 100644 index 0000000..e80a82f --- /dev/null +++ b/ranking/ctr/DMR/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07.csv @@ -0,0 +1,24 @@ + 20230524-004418,[command] python run_expid.py --config Amazon/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07 --expid DMR_amazonelectronics_x1_002_bc859be0 --gpu 1,[exp_id] DMR_amazonelectronics_x1_002_bc859be0,[dataset_id] amazonelectronics_x1_51836f99,[train] N.A.,[val] gAUC: 0.885142 - AUC: 0.887335 - logloss: 0.427744,[test] gAUC: 0.885142 - AUC: 0.887335 - logloss: 0.427744 + 20230524-013513,[command] python run_expid.py --config Amazon/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07 --expid DMR_amazonelectronics_x1_020_ec8ef0a5 --gpu 1,[exp_id] DMR_amazonelectronics_x1_020_ec8ef0a5,[dataset_id] amazonelectronics_x1_51836f99,[train] N.A.,[val] gAUC: 0.884784 - AUC: 0.887326 - logloss: 0.429275,[test] gAUC: 0.884784 - AUC: 0.887326 - logloss: 0.429275 + 20230524-002530,[command] python run_expid.py --config Amazon/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07 --expid DMR_amazonelectronics_x1_007_a6c3bb2b --gpu 6,[exp_id] DMR_amazonelectronics_x1_007_a6c3bb2b,[dataset_id] amazonelectronics_x1_51836f99,[train] N.A.,[val] gAUC: 0.884544 - AUC: 0.886780 - logloss: 0.431698,[test] gAUC: 0.884544 - AUC: 0.886780 - logloss: 0.431698 + 20230524-012714,[command] python run_expid.py --config Amazon/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07 --expid DMR_amazonelectronics_x1_021_60f27593 --gpu 3,[exp_id] DMR_amazonelectronics_x1_021_60f27593,[dataset_id] amazonelectronics_x1_51836f99,[train] N.A.,[val] gAUC: 0.884420 - AUC: 0.886864 - logloss: 0.430423,[test] gAUC: 0.884420 - AUC: 0.886864 - logloss: 0.430423 + 20230524-000424,[command] python run_expid.py --config Amazon/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07 --expid DMR_amazonelectronics_x1_008_2fe6cbef --gpu 7,[exp_id] DMR_amazonelectronics_x1_008_2fe6cbef,[dataset_id] amazonelectronics_x1_51836f99,[train] N.A.,[val] gAUC: 0.884186 - AUC: 0.886823 - logloss: 0.427910,[test] gAUC: 0.884186 - AUC: 0.886823 - logloss: 0.427910 + 20230524-004130,[command] python run_expid.py --config Amazon/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07 --expid DMR_amazonelectronics_x1_015_85904c6d --gpu 6,[exp_id] DMR_amazonelectronics_x1_015_85904c6d,[dataset_id] amazonelectronics_x1_51836f99,[train] N.A.,[val] gAUC: 0.883993 - AUC: 0.886879 - logloss: 0.430867,[test] gAUC: 0.883993 - AUC: 0.886879 - logloss: 0.430867 + 20230524-001256,[command] python run_expid.py --config Amazon/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07 --expid DMR_amazonelectronics_x1_014_40ab6382 --gpu 5,[exp_id] DMR_amazonelectronics_x1_014_40ab6382,[dataset_id] amazonelectronics_x1_51836f99,[train] N.A.,[val] gAUC: 0.883926 - AUC: 0.886789 - logloss: 0.428497,[test] gAUC: 0.883926 - AUC: 0.886789 - logloss: 0.428497 + 20230524-002111,[command] python run_expid.py --config Amazon/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07 --expid DMR_amazonelectronics_x1_003_549bcdf7 --gpu 2,[exp_id] DMR_amazonelectronics_x1_003_549bcdf7,[dataset_id] amazonelectronics_x1_51836f99,[train] N.A.,[val] gAUC: 0.883370 - AUC: 0.885815 - logloss: 0.427463,[test] gAUC: 0.883370 - AUC: 0.885815 - logloss: 0.427463 + 20230524-012010,[command] python run_expid.py --config Amazon/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07 --expid DMR_amazonelectronics_x1_023_bfca288a --gpu 4,[exp_id] DMR_amazonelectronics_x1_023_bfca288a,[dataset_id] amazonelectronics_x1_51836f99,[train] N.A.,[val] gAUC: 0.882653 - AUC: 0.885123 - logloss: 0.432745,[test] gAUC: 0.882653 - AUC: 0.885123 - logloss: 0.432745 + 20230524-013709,[command] python run_expid.py --config Amazon/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07 --expid DMR_amazonelectronics_x1_022_bc74937f --gpu 0,[exp_id] DMR_amazonelectronics_x1_022_bc74937f,[dataset_id] amazonelectronics_x1_51836f99,[train] N.A.,[val] gAUC: 0.882653 - AUC: 0.885123 - logloss: 0.432745,[test] gAUC: 0.882653 - AUC: 0.885123 - logloss: 0.432745 + 20230524-013836,[command] python run_expid.py --config Amazon/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07 --expid DMR_amazonelectronics_x1_024_8255250a --gpu 7,[exp_id] DMR_amazonelectronics_x1_024_8255250a,[dataset_id] amazonelectronics_x1_51836f99,[train] N.A.,[val] gAUC: 0.882653 - AUC: 0.885123 - logloss: 0.432745,[test] gAUC: 0.882653 - AUC: 0.885123 - logloss: 0.432745 + 20230524-010956,[command] python run_expid.py --config Amazon/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07 --expid DMR_amazonelectronics_x1_019_d20c4571 --gpu 2,[exp_id] DMR_amazonelectronics_x1_019_d20c4571,[dataset_id] amazonelectronics_x1_51836f99,[train] N.A.,[val] gAUC: 0.882611 - AUC: 0.884574 - logloss: 0.438016,[test] gAUC: 0.882611 - AUC: 0.884574 - logloss: 0.438016 + 20230523-235556,[command] python run_expid.py --config Amazon/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07 --expid DMR_amazonelectronics_x1_001_3f4f9da8 --gpu 0,[exp_id] DMR_amazonelectronics_x1_001_3f4f9da8,[dataset_id] amazonelectronics_x1_51836f99,[train] N.A.,[val] gAUC: 0.882543 - AUC: 0.884552 - logloss: 0.433594,[test] gAUC: 0.882543 - AUC: 0.884552 - logloss: 0.433594 + 20230523-233057,[command] python run_expid.py --config Amazon/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07 --expid DMR_amazonelectronics_x1_009_6d51e803 --gpu 0,[exp_id] DMR_amazonelectronics_x1_009_6d51e803,[dataset_id] amazonelectronics_x1_51836f99,[train] N.A.,[val] gAUC: 0.882445 - AUC: 0.885414 - logloss: 0.429406,[test] gAUC: 0.882445 - AUC: 0.885414 - logloss: 0.429406 + 20230523-235702,[command] python run_expid.py --config Amazon/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07 --expid DMR_amazonelectronics_x1_013_7b529b37 --gpu 4,[exp_id] DMR_amazonelectronics_x1_013_7b529b37,[dataset_id] amazonelectronics_x1_51836f99,[train] N.A.,[val] gAUC: 0.882419 - AUC: 0.885560 - logloss: 0.431778,[test] gAUC: 0.882419 - AUC: 0.885560 - logloss: 0.431778 + 20230524-000749,[command] python run_expid.py --config Amazon/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07 --expid DMR_amazonelectronics_x1_004_a6c3bb2b --gpu 3,[exp_id] DMR_amazonelectronics_x1_004_a6c3bb2b,[dataset_id] amazonelectronics_x1_51836f99,[train] N.A.,[val] gAUC: 0.882299 - AUC: 0.884880 - logloss: 0.431900,[test] gAUC: 0.882299 - AUC: 0.884880 - logloss: 0.431900 + 20230524-003224,[command] python run_expid.py --config Amazon/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07 --expid DMR_amazonelectronics_x1_006_6d51e803 --gpu 5,[exp_id] DMR_amazonelectronics_x1_006_6d51e803,[dataset_id] amazonelectronics_x1_51836f99,[train] N.A.,[val] gAUC: 0.881738 - AUC: 0.884322 - logloss: 0.434081,[test] gAUC: 0.881738 - AUC: 0.884322 - logloss: 0.434081 + 20230524-013118,[command] python run_expid.py --config Amazon/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07 --expid DMR_amazonelectronics_x1_017_ec8ef0a5 --gpu 7,[exp_id] DMR_amazonelectronics_x1_017_ec8ef0a5,[dataset_id] amazonelectronics_x1_51836f99,[train] N.A.,[val] gAUC: 0.881722 - AUC: 0.883792 - logloss: 0.437670,[test] gAUC: 0.881722 - AUC: 0.883792 - logloss: 0.437670 + 20230524-000906,[command] python run_expid.py --config Amazon/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07 --expid DMR_amazonelectronics_x1_005_2fe6cbef --gpu 4,[exp_id] DMR_amazonelectronics_x1_005_2fe6cbef,[dataset_id] amazonelectronics_x1_51836f99,[train] N.A.,[val] gAUC: 0.881592 - AUC: 0.884150 - logloss: 0.434764,[test] gAUC: 0.881592 - AUC: 0.884150 - logloss: 0.434764 + 20230523-232750,[command] python run_expid.py --config Amazon/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07 --expid DMR_amazonelectronics_x1_016_d20c4571 --gpu 7,[exp_id] DMR_amazonelectronics_x1_016_d20c4571,[dataset_id] amazonelectronics_x1_51836f99,[train] N.A.,[val] gAUC: 0.881535 - AUC: 0.883315 - logloss: 0.434885,[test] gAUC: 0.881535 - AUC: 0.883315 - logloss: 0.434885 + 20230524-013447,[command] python run_expid.py --config Amazon/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07 --expid DMR_amazonelectronics_x1_018_60f27593 --gpu 0,[exp_id] DMR_amazonelectronics_x1_018_60f27593,[dataset_id] amazonelectronics_x1_51836f99,[train] N.A.,[val] gAUC: 0.881499 - AUC: 0.884354 - logloss: 0.433773,[test] gAUC: 0.881499 - AUC: 0.884354 - logloss: 0.433773 + 20230523-235249,[command] python run_expid.py --config Amazon/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07 --expid DMR_amazonelectronics_x1_011_43a133a8 --gpu 2,[exp_id] DMR_amazonelectronics_x1_011_43a133a8,[dataset_id] amazonelectronics_x1_51836f99,[train] N.A.,[val] gAUC: 0.881291 - AUC: 0.884547 - logloss: 0.431628,[test] gAUC: 0.881291 - AUC: 0.884547 - logloss: 0.431628 + 20230523-235310,[command] python run_expid.py --config Amazon/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07 --expid DMR_amazonelectronics_x1_010_aef21957 --gpu 1,[exp_id] DMR_amazonelectronics_x1_010_aef21957,[dataset_id] amazonelectronics_x1_51836f99,[train] N.A.,[val] gAUC: 0.881291 - AUC: 0.884547 - logloss: 0.431628,[test] gAUC: 0.881291 - AUC: 0.884547 - logloss: 0.431628 + 20230523-235322,[command] python run_expid.py --config Amazon/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07 --expid DMR_amazonelectronics_x1_012_149464de --gpu 3,[exp_id] DMR_amazonelectronics_x1_012_149464de,[dataset_id] amazonelectronics_x1_51836f99,[train] N.A.,[val] gAUC: 0.881291 - AUC: 0.884547 - logloss: 0.431628,[test] gAUC: 0.881291 - AUC: 0.884547 - logloss: 0.431628 diff --git a/ranking/ctr/DMR/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07.yaml b/ranking/ctr/DMR/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07.yaml new file mode 100644 index 0000000..7c50556 --- /dev/null +++ b/ranking/ctr/DMR/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07.yaml @@ -0,0 +1,53 @@ +base_config: ../model_zoo/DMR/config/ +base_expid: DMR_default +dataset_id: amazonelectronics_x1 + +dataset_config: + amazonelectronics_x1: + data_root: ../data/Amazon/ + data_format: csv + train_data: ../data/Amazon/AmazonElectronics_x1/train.csv + valid_data: ../data/Amazon/AmazonElectronics_x1/test.csv # no validation data split in original paper + test_data: ../data/Amazon/AmazonElectronics_x1/test.csv + min_categr_count: 1 + feature_cols: + - {name: user_id, active: True, dtype: int, type: meta, remap: False} + - {name: item_id, active: True, dtype: str, type: categorical} + - {name: cate_id, active: True, dtype: str, type: categorical} + - {name: item_history, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, padding: "post", + feature_encoder: "layers.MaskedAveragePooling()", share_embedding: item_id} + - {name: cate_history, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, padding: "post", + feature_encoder: "layers.MaskedAveragePooling()", share_embedding: cate_id} + label_col: {name: label, dtype: float} + + +tuner_space: + model_root: './checkpoints/DMR_amazonelectronics_x1/' + feature_specs: [[ + {name: item_history, feature_encoder: null}, + {name: cate_history, feature_encoder: null} + ]] + embedding_dim: 64 + dnn_hidden_units: [[1024, 512, 256]] + target_field: [!!python/tuple [item_id, cate_id]] + sequence_field: [!!python/tuple [item_history, cate_history]] + dnn_activations: [ReLU, Dice] + attention_hidden_units: [[512, 256]] + attention_activation: Dice + attention_dropout: 0.1 + use_pos_emb: [True, False] + pos_emb_dim: [2, 8, 64] + enable_sum_pooling: False + enable_u2i_rel: [True, False] + enable_i2i_rel: False + embedding_regularizer: 5.e-3 + net_dropout: 0.1 + batch_norm: True + bn_only_once: False + learning_rate: 5.e-4 + batch_size: 1024 + seed: 20222023 + group_id: user_id + metrics: [[gAUC, AUC, logloss]] + monitor: gAUC + diff --git a/ranking/ctr/DMR/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07/dataset_config.yaml b/ranking/ctr/DMR/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07/dataset_config.yaml new file mode 100644 index 0000000..8e30e8e --- /dev/null +++ b/ranking/ctr/DMR/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07/dataset_config.yaml @@ -0,0 +1,18 @@ +amazonelectronics_x1_51836f99: + data_format: csv + data_root: ../data/Amazon/ + feature_cols: + - {active: true, dtype: int, name: user_id, remap: false, type: meta} + - {active: true, dtype: str, name: item_id, type: categorical} + - {active: true, dtype: str, name: cate_id, type: categorical} + - {active: true, dtype: str, feature_encoder: layers.MaskedAveragePooling(), max_len: 100, + name: item_history, padding: post, share_embedding: item_id, splitter: ^, + type: sequence} + - {active: true, dtype: str, feature_encoder: layers.MaskedAveragePooling(), max_len: 100, + name: cate_history, padding: post, share_embedding: cate_id, splitter: ^, + type: sequence} + label_col: {dtype: float, name: label} + min_categr_count: 1 + test_data: ../data/Amazon/AmazonElectronics_x1/test.csv + train_data: ../data/Amazon/AmazonElectronics_x1/train.csv + valid_data: ../data/Amazon/AmazonElectronics_x1/test.csv diff --git a/ranking/ctr/DMR/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07/model_config.yaml b/ranking/ctr/DMR/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07/model_config.yaml new file mode 100644 index 0000000..3744758 --- /dev/null +++ b/ranking/ctr/DMR/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07/model_config.yaml @@ -0,0 +1,1176 @@ +DMR_amazonelectronics_x1_001_3f4f9da8: + attention_activation: Dice + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: true + batch_size: 1024 + bn_only_once: false + context_field: null + dataset_id: amazonelectronics_x1_51836f99 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: null, name: item_history} + - {feature_encoder: null, name: cate_history} + group_id: user_id + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_amazonelectronics_x1/ + monitor: gAUC + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 2 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [item_history, cate_history] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_features: null + use_pos_emb: true + verbose: 1 +DMR_amazonelectronics_x1_002_bc859be0: + attention_activation: Dice + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: true + batch_size: 1024 + bn_only_once: false + context_field: null + dataset_id: amazonelectronics_x1_51836f99 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: null, name: item_history} + - {feature_encoder: null, name: cate_history} + group_id: user_id + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_amazonelectronics_x1/ + monitor: gAUC + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [item_history, cate_history] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_features: null + use_pos_emb: true + verbose: 1 +DMR_amazonelectronics_x1_003_549bcdf7: + attention_activation: Dice + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: true + batch_size: 1024 + bn_only_once: false + context_field: null + dataset_id: amazonelectronics_x1_51836f99 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: null, name: item_history} + - {feature_encoder: null, name: cate_history} + group_id: user_id + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_amazonelectronics_x1/ + monitor: gAUC + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 64 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [item_history, cate_history] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_features: null + use_pos_emb: true + verbose: 1 +DMR_amazonelectronics_x1_004_a6c3bb2b: + attention_activation: Dice + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: true + batch_size: 1024 + bn_only_once: false + context_field: null + dataset_id: amazonelectronics_x1_51836f99 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: null, name: item_history} + - {feature_encoder: null, name: cate_history} + group_id: user_id + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_amazonelectronics_x1/ + monitor: gAUC + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 2 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [item_history, cate_history] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_features: null + use_pos_emb: false + verbose: 1 +DMR_amazonelectronics_x1_005_2fe6cbef: + attention_activation: Dice + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: true + batch_size: 1024 + bn_only_once: false + context_field: null + dataset_id: amazonelectronics_x1_51836f99 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: null, name: item_history} + - {feature_encoder: null, name: cate_history} + group_id: user_id + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_amazonelectronics_x1/ + monitor: gAUC + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [item_history, cate_history] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_features: null + use_pos_emb: false + verbose: 1 +DMR_amazonelectronics_x1_006_6d51e803: + attention_activation: Dice + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: true + batch_size: 1024 + bn_only_once: false + context_field: null + dataset_id: amazonelectronics_x1_51836f99 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: null, name: item_history} + - {feature_encoder: null, name: cate_history} + group_id: user_id + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_amazonelectronics_x1/ + monitor: gAUC + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 64 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [item_history, cate_history] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_features: null + use_pos_emb: false + verbose: 1 +DMR_amazonelectronics_x1_007_a6c3bb2b: + attention_activation: Dice + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: true + batch_size: 1024 + bn_only_once: false + context_field: null + dataset_id: amazonelectronics_x1_51836f99 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: null, name: item_history} + - {feature_encoder: null, name: cate_history} + group_id: user_id + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_amazonelectronics_x1/ + monitor: gAUC + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 2 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [item_history, cate_history] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_features: null + use_pos_emb: true + verbose: 1 +DMR_amazonelectronics_x1_008_2fe6cbef: + attention_activation: Dice + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: true + batch_size: 1024 + bn_only_once: false + context_field: null + dataset_id: amazonelectronics_x1_51836f99 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: null, name: item_history} + - {feature_encoder: null, name: cate_history} + group_id: user_id + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_amazonelectronics_x1/ + monitor: gAUC + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [item_history, cate_history] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_features: null + use_pos_emb: true + verbose: 1 +DMR_amazonelectronics_x1_009_6d51e803: + attention_activation: Dice + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: true + batch_size: 1024 + bn_only_once: false + context_field: null + dataset_id: amazonelectronics_x1_51836f99 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: null, name: item_history} + - {feature_encoder: null, name: cate_history} + group_id: user_id + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_amazonelectronics_x1/ + monitor: gAUC + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 64 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [item_history, cate_history] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_features: null + use_pos_emb: true + verbose: 1 +DMR_amazonelectronics_x1_010_aef21957: + attention_activation: Dice + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: true + batch_size: 1024 + bn_only_once: false + context_field: null + dataset_id: amazonelectronics_x1_51836f99 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: null, name: item_history} + - {feature_encoder: null, name: cate_history} + group_id: user_id + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_amazonelectronics_x1/ + monitor: gAUC + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 2 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [item_history, cate_history] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_features: null + use_pos_emb: false + verbose: 1 +DMR_amazonelectronics_x1_011_43a133a8: + attention_activation: Dice + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: true + batch_size: 1024 + bn_only_once: false + context_field: null + dataset_id: amazonelectronics_x1_51836f99 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: null, name: item_history} + - {feature_encoder: null, name: cate_history} + group_id: user_id + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_amazonelectronics_x1/ + monitor: gAUC + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [item_history, cate_history] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_features: null + use_pos_emb: false + verbose: 1 +DMR_amazonelectronics_x1_012_149464de: + attention_activation: Dice + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: true + batch_size: 1024 + bn_only_once: false + context_field: null + dataset_id: amazonelectronics_x1_51836f99 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: null, name: item_history} + - {feature_encoder: null, name: cate_history} + group_id: user_id + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_amazonelectronics_x1/ + monitor: gAUC + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 64 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [item_history, cate_history] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_features: null + use_pos_emb: false + verbose: 1 +DMR_amazonelectronics_x1_013_7b529b37: + attention_activation: Dice + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: true + batch_size: 1024 + bn_only_once: false + context_field: null + dataset_id: amazonelectronics_x1_51836f99 + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: null, name: item_history} + - {feature_encoder: null, name: cate_history} + group_id: user_id + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_amazonelectronics_x1/ + monitor: gAUC + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 2 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [item_history, cate_history] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_features: null + use_pos_emb: true + verbose: 1 +DMR_amazonelectronics_x1_014_40ab6382: + attention_activation: Dice + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: true + batch_size: 1024 + bn_only_once: false + context_field: null + dataset_id: amazonelectronics_x1_51836f99 + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: null, name: item_history} + - {feature_encoder: null, name: cate_history} + group_id: user_id + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_amazonelectronics_x1/ + monitor: gAUC + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [item_history, cate_history] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_features: null + use_pos_emb: true + verbose: 1 +DMR_amazonelectronics_x1_015_85904c6d: + attention_activation: Dice + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: true + batch_size: 1024 + bn_only_once: false + context_field: null + dataset_id: amazonelectronics_x1_51836f99 + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: null, name: item_history} + - {feature_encoder: null, name: cate_history} + group_id: user_id + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_amazonelectronics_x1/ + monitor: gAUC + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 64 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [item_history, cate_history] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_features: null + use_pos_emb: true + verbose: 1 +DMR_amazonelectronics_x1_016_d20c4571: + attention_activation: Dice + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: true + batch_size: 1024 + bn_only_once: false + context_field: null + dataset_id: amazonelectronics_x1_51836f99 + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: null, name: item_history} + - {feature_encoder: null, name: cate_history} + group_id: user_id + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_amazonelectronics_x1/ + monitor: gAUC + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 2 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [item_history, cate_history] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_features: null + use_pos_emb: false + verbose: 1 +DMR_amazonelectronics_x1_017_ec8ef0a5: + attention_activation: Dice + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: true + batch_size: 1024 + bn_only_once: false + context_field: null + dataset_id: amazonelectronics_x1_51836f99 + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: null, name: item_history} + - {feature_encoder: null, name: cate_history} + group_id: user_id + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_amazonelectronics_x1/ + monitor: gAUC + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [item_history, cate_history] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_features: null + use_pos_emb: false + verbose: 1 +DMR_amazonelectronics_x1_018_60f27593: + attention_activation: Dice + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: true + batch_size: 1024 + bn_only_once: false + context_field: null + dataset_id: amazonelectronics_x1_51836f99 + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: null, name: item_history} + - {feature_encoder: null, name: cate_history} + group_id: user_id + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_amazonelectronics_x1/ + monitor: gAUC + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 64 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [item_history, cate_history] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_features: null + use_pos_emb: false + verbose: 1 +DMR_amazonelectronics_x1_019_d20c4571: + attention_activation: Dice + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: true + batch_size: 1024 + bn_only_once: false + context_field: null + dataset_id: amazonelectronics_x1_51836f99 + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: null, name: item_history} + - {feature_encoder: null, name: cate_history} + group_id: user_id + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_amazonelectronics_x1/ + monitor: gAUC + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 2 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [item_history, cate_history] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_features: null + use_pos_emb: true + verbose: 1 +DMR_amazonelectronics_x1_020_ec8ef0a5: + attention_activation: Dice + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: true + batch_size: 1024 + bn_only_once: false + context_field: null + dataset_id: amazonelectronics_x1_51836f99 + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: null, name: item_history} + - {feature_encoder: null, name: cate_history} + group_id: user_id + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_amazonelectronics_x1/ + monitor: gAUC + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [item_history, cate_history] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_features: null + use_pos_emb: true + verbose: 1 +DMR_amazonelectronics_x1_021_60f27593: + attention_activation: Dice + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: true + batch_size: 1024 + bn_only_once: false + context_field: null + dataset_id: amazonelectronics_x1_51836f99 + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: null, name: item_history} + - {feature_encoder: null, name: cate_history} + group_id: user_id + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_amazonelectronics_x1/ + monitor: gAUC + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 64 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [item_history, cate_history] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_features: null + use_pos_emb: true + verbose: 1 +DMR_amazonelectronics_x1_022_bc74937f: + attention_activation: Dice + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: true + batch_size: 1024 + bn_only_once: false + context_field: null + dataset_id: amazonelectronics_x1_51836f99 + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: null, name: item_history} + - {feature_encoder: null, name: cate_history} + group_id: user_id + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_amazonelectronics_x1/ + monitor: gAUC + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 2 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [item_history, cate_history] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_features: null + use_pos_emb: false + verbose: 1 +DMR_amazonelectronics_x1_023_bfca288a: + attention_activation: Dice + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: true + batch_size: 1024 + bn_only_once: false + context_field: null + dataset_id: amazonelectronics_x1_51836f99 + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: null, name: item_history} + - {feature_encoder: null, name: cate_history} + group_id: user_id + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_amazonelectronics_x1/ + monitor: gAUC + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [item_history, cate_history] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_features: null + use_pos_emb: false + verbose: 1 +DMR_amazonelectronics_x1_024_8255250a: + attention_activation: Dice + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: true + batch_size: 1024 + bn_only_once: false + context_field: null + dataset_id: amazonelectronics_x1_51836f99 + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: null, name: item_history} + - {feature_encoder: null, name: cate_history} + group_id: user_id + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_amazonelectronics_x1/ + monitor: gAUC + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 64 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [item_history, cate_history] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_features: null + use_pos_emb: false + verbose: 1 diff --git a/ranking/ctr/DMR/DMR_amazonelectronics_x1/README.md b/ranking/ctr/DMR/DMR_amazonelectronics_x1/README.md new file mode 100644 index 0000000..ad9b27e --- /dev/null +++ b/ranking/ctr/DMR/DMR_amazonelectronics_x1/README.md @@ -0,0 +1,236 @@ +## DMR_amazonelectronics_x1 + +A hands-on guide to run the DMR model on the AmazonElectronics_x1 dataset. + +Author: [BARS Benchmark](https://github.com/reczoo/BARS/blob/main/CITATION) + + +| [Environments](#Environments) | [Dataset](#Dataset) | [Code](#Code) | [Results](#Results) | [Logs](#Logs) | +|:-----------------------------:|:-----------:|:--------:|:--------:|-------| +### Environments ++ Hardware + + ```python + CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz + GPU: Tesla V100 32G + RAM: 755G + + ``` + ++ Software + + ```python + cuda: 10.2 + python: 3.7.10 + pytorch: 1.11.0 + pandas: 1.1.5 + numpy: 1.19.5 + scipy: 1.5.2 + sklearn: 0.22.1 + pyyaml: 6.0 + h5py: 2.8.0 + tqdm: 4.64.0 + fuxictr: 2.0.3 + + ``` + +### Dataset +Please refer to [AmazonElectronics_x1](https://github.com/reczoo/Datasets/tree/main/Amazon/AmazonElectronics_x1) to get the dataset details. + +### Code + +We use the [DMR](https://github.com/reczoo/FuxiCTR/tree/v2.0.3/model_zoo/DMR) model code from [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/tree/v2.0.3) for this experiment. + +Running steps: + +1. Download [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/archive/refs/tags/v2.0.3.zip) and install all the dependencies listed in the [environments](#environments). + + ```bash + pip uninstall fuxictr + pip install fuxictr==2.0.3 + ``` + +2. Create a data directory and put the downloaded data files in `../data/Amazon/AmazonElectronics_x1`. + +3. Both `dataset_config.yaml` and `model_config.yaml` files are available in [DMR_amazonelectronics_x1_tuner_config_07](./DMR_amazonelectronics_x1_tuner_config_07). Please make sure that the data paths in `dataset_config.yaml` are correctly set. + +4. Run the following script to start training and evaluation. + + ```bash + cd FuxiCTR/model_zoo/DMR + nohup python run_expid.py --config YOUR_PATH/DMR/DMR_amazonelectronics_x1_tuner_config_07 --expid DMR_amazonelectronics_x1_002_bc859be0 --gpu 0 > run.log & + tail -f run.log + ``` + +### Results + +| gAUC | AUC | logloss | +|:--------------------:|:--------------------:|:--------------------:| +| 0.885142 | 0.887335 | 0.427744 | + + +### Logs +```python +2023-05-23 21:34:53,431 P18185 INFO Params: { + "attention_activation": "Dice", + "attention_dropout": "0.1", + "attention_hidden_units": "[512, 256]", + "aux_loss_beta": "0", + "batch_norm": "True", + "batch_size": "1024", + "bn_only_once": "False", + "context_field": "None", + "data_format": "csv", + "data_root": "../data/Amazon/", + "dataset_id": "amazonelectronics_x1_51836f99", + "debug_mode": "False", + "dnn_activations": "ReLU", + "dnn_hidden_units": "[1024, 512, 256]", + "early_stop_patience": "2", + "embedding_dim": "64", + "embedding_regularizer": "0.005", + "enable_i2i_rel": "False", + "enable_sum_pooling": "False", + "enable_u2i_rel": "True", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'user_id', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': 'item_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'name': 'cate_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'feature_encoder': 'layers.MaskedAveragePooling()', 'max_len': 100, 'name': 'item_history', 'padding': 'post', 'share_embedding': 'item_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'feature_encoder': 'layers.MaskedAveragePooling()', 'max_len': 100, 'name': 'cate_history', 'padding': 'post', 'share_embedding': 'cate_id', 'splitter': '^', 'type': 'sequence'}]", + "feature_config": "None", + "feature_specs": "[{'feature_encoder': None, 'name': 'item_history'}, {'feature_encoder': None, 'name': 'cate_history'}]", + "gpu": "1", + "group_id": "user_id", + "label_col": "{'dtype': 'float', 'name': 'label'}", + "learning_rate": "0.0005", + "loss": "binary_crossentropy", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "1", + "model": "DMR", + "model_id": "DMR_amazonelectronics_x1_002_bc859be0", + "model_root": "./checkpoints/DMR_amazonelectronics_x1/", + "monitor": "gAUC", + "monitor_mode": "max", + "neg_seq_field": "None", + "net_dropout": "0.1", + "net_regularizer": "0", + "num_workers": "3", + "optimizer": "adam", + "pickle_feature_encoder": "True", + "pos_emb_dim": "8", + "save_best_only": "True", + "seed": "20222023", + "sequence_field": "('item_history', 'cate_history')", + "shuffle": "True", + "target_field": "('item_id', 'cate_id')", + "task": "binary_classification", + "test_data": "../data/Amazon/AmazonElectronics_x1/test.csv", + "train_data": "../data/Amazon/AmazonElectronics_x1/train.csv", + "use_features": "None", + "use_pos_emb": "True", + "valid_data": "../data/Amazon/AmazonElectronics_x1/test.csv", + "verbose": "1" +} +2023-05-23 21:34:53,432 P18185 INFO Set up feature processor... +2023-05-23 21:34:53,432 P18185 WARNING Skip rebuilding ../data/Amazon/amazonelectronics_x1_51836f99/feature_map.json. Please delete it manually if rebuilding is required. +2023-05-23 21:34:53,432 P18185 INFO Load feature_map from json: ../data/Amazon/amazonelectronics_x1_51836f99/feature_map.json +2023-05-23 21:34:53,432 P18185 INFO Set column index... +2023-05-23 21:34:53,432 P18185 INFO Feature specs: { + "cate_history": "{'source': '', 'type': 'sequence', 'feature_encoder': None, 'share_embedding': 'cate_id', 'padding_idx': 0, 'oov_idx': 802, 'vocab_size': 803, 'max_len': 100}", + "cate_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 802, 'vocab_size': 803}", + "item_history": "{'source': '', 'type': 'sequence', 'feature_encoder': None, 'share_embedding': 'item_id', 'padding_idx': 0, 'oov_idx': 63002, 'vocab_size': 63003, 'max_len': 100}", + "item_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 63002, 'vocab_size': 63003}", + "user_id": "{'type': 'meta'}" +} +2023-05-23 21:35:01,074 P18185 INFO Total number of parameters: 9918147. +2023-05-23 21:35:01,074 P18185 INFO Loading data... +2023-05-23 21:35:01,075 P18185 INFO Loading data from h5: ../data/Amazon/amazonelectronics_x1_51836f99/train.h5 +2023-05-23 21:35:04,778 P18185 INFO Train samples: total/2608764, blocks/1 +2023-05-23 21:35:04,778 P18185 INFO Loading data from h5: ../data/Amazon/amazonelectronics_x1_51836f99/valid.h5 +2023-05-23 21:35:05,348 P18185 INFO Validation samples: total/384806, blocks/1 +2023-05-23 21:35:05,349 P18185 INFO Loading train and validation data done. +2023-05-23 21:35:05,349 P18185 INFO Start training: 2548 batches/epoch +2023-05-23 21:35:05,349 P18185 INFO ************ Epoch=1 start ************ +2023-05-23 21:46:19,091 P18185 INFO Train loss: 0.644987 +2023-05-23 21:46:19,092 P18185 INFO Evaluation @epoch 1 - batch 2548: +2023-05-23 21:48:41,607 P18185 INFO [Metrics] gAUC: 0.833932 +2023-05-23 21:48:41,608 P18185 INFO Save best model: monitor(max)=0.833932 +2023-05-23 21:48:41,746 P18185 INFO ************ Epoch=1 end ************ +2023-05-23 21:59:53,774 P18185 INFO Train loss: 0.593059 +2023-05-23 21:59:53,774 P18185 INFO Evaluation @epoch 2 - batch 2548: +2023-05-23 22:02:13,341 P18185 INFO [Metrics] gAUC: 0.847398 +2023-05-23 22:02:13,342 P18185 INFO Save best model: monitor(max)=0.847398 +2023-05-23 22:02:13,530 P18185 INFO ************ Epoch=2 end ************ +2023-05-23 22:13:28,921 P18185 INFO Train loss: 0.574215 +2023-05-23 22:13:28,922 P18185 INFO Evaluation @epoch 3 - batch 2548: +2023-05-23 22:15:46,619 P18185 INFO [Metrics] gAUC: 0.853116 +2023-05-23 22:15:46,620 P18185 INFO Save best model: monitor(max)=0.853116 +2023-05-23 22:15:46,796 P18185 INFO ************ Epoch=3 end ************ +2023-05-23 22:26:58,887 P18185 INFO Train loss: 0.566249 +2023-05-23 22:26:58,887 P18185 INFO Evaluation @epoch 4 - batch 2548: +2023-05-23 22:29:17,239 P18185 INFO [Metrics] gAUC: 0.856650 +2023-05-23 22:29:17,240 P18185 INFO Save best model: monitor(max)=0.856650 +2023-05-23 22:29:17,416 P18185 INFO ************ Epoch=4 end ************ +2023-05-23 22:40:35,757 P18185 INFO Train loss: 0.562551 +2023-05-23 22:40:35,757 P18185 INFO Evaluation @epoch 5 - batch 2548: +2023-05-23 22:42:54,551 P18185 INFO [Metrics] gAUC: 0.858214 +2023-05-23 22:42:54,552 P18185 INFO Save best model: monitor(max)=0.858214 +2023-05-23 22:42:54,753 P18185 INFO ************ Epoch=5 end ************ +2023-05-23 22:54:09,036 P18185 INFO Train loss: 0.560197 +2023-05-23 22:54:09,037 P18185 INFO Evaluation @epoch 6 - batch 2548: +2023-05-23 22:56:27,023 P18185 INFO [Metrics] gAUC: 0.859514 +2023-05-23 22:56:27,024 P18185 INFO Save best model: monitor(max)=0.859514 +2023-05-23 22:56:27,372 P18185 INFO ************ Epoch=6 end ************ +2023-05-23 23:07:41,177 P18185 INFO Train loss: 0.558907 +2023-05-23 23:07:41,178 P18185 INFO Evaluation @epoch 7 - batch 2548: +2023-05-23 23:09:57,111 P18185 INFO [Metrics] gAUC: 0.859961 +2023-05-23 23:09:57,112 P18185 INFO Save best model: monitor(max)=0.859961 +2023-05-23 23:09:57,298 P18185 INFO ************ Epoch=7 end ************ +2023-05-23 23:21:14,408 P18185 INFO Train loss: 0.557464 +2023-05-23 23:21:14,408 P18185 INFO Evaluation @epoch 8 - batch 2548: +2023-05-23 23:23:32,196 P18185 INFO [Metrics] gAUC: 0.860376 +2023-05-23 23:23:32,198 P18185 INFO Save best model: monitor(max)=0.860376 +2023-05-23 23:23:32,390 P18185 INFO ************ Epoch=8 end ************ +2023-05-23 23:34:45,299 P18185 INFO Train loss: 0.556701 +2023-05-23 23:34:45,300 P18185 INFO Evaluation @epoch 9 - batch 2548: +2023-05-23 23:37:03,792 P18185 INFO [Metrics] gAUC: 0.859145 +2023-05-23 23:37:03,803 P18185 INFO Monitor(max)=0.859145 STOP! +2023-05-23 23:37:03,803 P18185 INFO Reduce learning rate on plateau: 0.000050 +2023-05-23 23:37:03,888 P18185 INFO ************ Epoch=9 end ************ +2023-05-23 23:48:11,547 P18185 INFO Train loss: 0.462638 +2023-05-23 23:48:11,547 P18185 INFO Evaluation @epoch 10 - batch 2548: +2023-05-23 23:50:19,955 P18185 INFO [Metrics] gAUC: 0.878531 +2023-05-23 23:50:19,961 P18185 INFO Save best model: monitor(max)=0.878531 +2023-05-23 23:50:20,141 P18185 INFO ************ Epoch=10 end ************ +2023-05-24 00:01:39,500 P18185 INFO Train loss: 0.419315 +2023-05-24 00:01:39,501 P18185 INFO Evaluation @epoch 11 - batch 2548: +2023-05-24 00:03:50,824 P18185 INFO [Metrics] gAUC: 0.883214 +2023-05-24 00:03:50,825 P18185 INFO Save best model: monitor(max)=0.883214 +2023-05-24 00:03:51,006 P18185 INFO ************ Epoch=11 end ************ +2023-05-24 00:15:06,635 P18185 INFO Train loss: 0.401688 +2023-05-24 00:15:06,636 P18185 INFO Evaluation @epoch 12 - batch 2548: +2023-05-24 00:16:58,274 P18185 INFO [Metrics] gAUC: 0.885142 +2023-05-24 00:16:58,276 P18185 INFO Save best model: monitor(max)=0.885142 +2023-05-24 00:16:58,450 P18185 INFO ************ Epoch=12 end ************ +2023-05-24 00:27:33,679 P18185 INFO Train loss: 0.390809 +2023-05-24 00:27:33,680 P18185 INFO Evaluation @epoch 13 - batch 2548: +2023-05-24 00:29:23,541 P18185 INFO [Metrics] gAUC: 0.883843 +2023-05-24 00:29:23,542 P18185 INFO Monitor(max)=0.883843 STOP! +2023-05-24 00:29:23,542 P18185 INFO Reduce learning rate on plateau: 0.000005 +2023-05-24 00:29:23,634 P18185 INFO ************ Epoch=13 end ************ +2023-05-24 00:39:31,120 P18185 INFO Train loss: 0.342710 +2023-05-24 00:39:31,121 P18185 INFO Evaluation @epoch 14 - batch 2548: +2023-05-24 00:41:11,799 P18185 INFO [Metrics] gAUC: 0.882263 +2023-05-24 00:41:11,800 P18185 INFO Monitor(max)=0.882263 STOP! +2023-05-24 00:41:11,800 P18185 INFO Reduce learning rate on plateau: 0.000001 +2023-05-24 00:41:11,800 P18185 INFO ********* Epoch==14 early stop ********* +2023-05-24 00:41:11,876 P18185 INFO Training finished. +2023-05-24 00:41:11,876 P18185 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/DMR_amazonelectronics_x1/amazonelectronics_x1_51836f99/DMR_amazonelectronics_x1_002_bc859be0.model +2023-05-24 00:41:12,005 P18185 INFO ****** Validation evaluation ****** +2023-05-24 00:42:49,899 P18185 INFO [Metrics] gAUC: 0.885142 - AUC: 0.887335 - logloss: 0.427744 +2023-05-24 00:42:49,990 P18185 INFO ******** Test evaluation ******** +2023-05-24 00:42:49,990 P18185 INFO Loading data... +2023-05-24 00:42:49,990 P18185 INFO Loading data from h5: ../data/Amazon/amazonelectronics_x1_51836f99/test.h5 +2023-05-24 00:42:50,463 P18185 INFO Test samples: total/384806, blocks/1 +2023-05-24 00:42:50,463 P18185 INFO Loading test data done. +2023-05-24 00:44:18,081 P18185 INFO [Metrics] gAUC: 0.885142 - AUC: 0.887335 - logloss: 0.427744 + +``` diff --git a/ranking/ctr/DMR/DMR_amazonelectronics_x1/environments.txt b/ranking/ctr/DMR/DMR_amazonelectronics_x1/environments.txt new file mode 100644 index 0000000..a39d234 --- /dev/null +++ b/ranking/ctr/DMR/DMR_amazonelectronics_x1/environments.txt @@ -0,0 +1,17 @@ +[Hardware] +CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz +GPU: Tesla V100 32G +RAM: 755G + +[Software] +cuda: 10.2 +python: 3.7.10 +pytorch: 1.11.0 +pandas: 1.1.5 +numpy: 1.19.5 +scipy: 1.5.2 +sklearn: 0.22.1 +pyyaml: 6.0 +h5py: 2.8.0 +tqdm: 4.64.0 +fuxictr: 2.0.3 diff --git a/ranking/ctr/DMR/DMR_amazonelectronics_x1/results.csv b/ranking/ctr/DMR/DMR_amazonelectronics_x1/results.csv new file mode 100644 index 0000000..1678226 --- /dev/null +++ b/ranking/ctr/DMR/DMR_amazonelectronics_x1/results.csv @@ -0,0 +1 @@ + 20230524-004418,[command] python run_expid.py --config Amazon/DMR_amazonelectronics_x1/DMR_amazonelectronics_x1_tuner_config_07 --expid DMR_amazonelectronics_x1_002_bc859be0 --gpu 1,[exp_id] DMR_amazonelectronics_x1_002_bc859be0,[dataset_id] amazonelectronics_x1_51836f99,[train] N.A.,[val] gAUC: 0.885142 - AUC: 0.887335 - logloss: 0.427744,[test] gAUC: 0.885142 - AUC: 0.887335 - logloss: 0.427744 diff --git a/ranking/ctr/DMR/DMR_kuaivideo_x1/DMR_kuaivideo_x1_003_e9fb63c2.log b/ranking/ctr/DMR/DMR_kuaivideo_x1/DMR_kuaivideo_x1_003_e9fb63c2.log new file mode 100644 index 0000000..2d81b3f --- /dev/null +++ b/ranking/ctr/DMR/DMR_kuaivideo_x1/DMR_kuaivideo_x1_003_e9fb63c2.log @@ -0,0 +1,149 @@ +2023-05-24 14:36:57,418 P91467 INFO Params: { + "attention_activation": "ReLU", + "attention_dropout": "0.1", + "attention_hidden_units": "[512, 256]", + "aux_loss_beta": "0", + "batch_norm": "False", + "batch_size": "4096", + "bn_only_once": "False", + "context_field": "None", + "data_format": "csv", + "data_root": "../data/KuaiShou/", + "dataset_id": "kuaivideo_x1_60f6c91a", + "debug_mode": "False", + "dnn_activations": "Dice", + "dnn_hidden_units": "[1024, 512, 256]", + "early_stop_patience": "2", + "embedding_dim": "64", + "embedding_regularizer": "0.0001", + "enable_i2i_rel": "False", + "enable_sum_pooling": "False", + "enable_u2i_rel": "False", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'group_id', 'preprocess': 'copy_from(user_id)', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': 'user_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'name': 'item_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'min_categr_count': 1, 'name': 'item_emb', 'preprocess': 'copy_from(item_id)', 'pretrained_emb': '../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'max_len': 100, 'name': 'pos_items', 'padding': 'post', 'share_embedding': 'item_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 100, 'name': 'neg_items', 'padding': 'post', 'share_embedding': 'item_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'max_len': 100, 'min_categr_count': 1, 'name': 'pos_items_emb', 'padding': 'post', 'preprocess': 'copy_from(pos_items)', 'pretrained_emb': '../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5', 'share_embedding': 'item_emb', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'max_len': 100, 'min_categr_count': 1, 'name': 'neg_items_emb', 'padding': 'post', 'preprocess': 'copy_from(neg_items)', 'pretrained_emb': '../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5', 'share_embedding': 'item_emb', 'splitter': '^', 'type': 'sequence'}]", + "feature_config": "None", + "feature_specs": "[{'feature_encoder': 'nn.Linear(64, 64, bias=False)', 'name': 'item_emb'}, {'feature_encoder': None, 'name': 'pos_items'}, {'feature_encoder': None, 'name': 'neg_items'}, {'feature_encoder': ['nn.Linear(64, 64, bias=False)'], 'name': 'pos_items_emb'}, {'feature_encoder': ['nn.Linear(64, 64, bias=False)'], 'name': 'neg_items_emb'}]", + "gpu": "2", + "group_id": "group_id", + "label_col": "{'dtype': 'float', 'name': 'is_click'}", + "learning_rate": "0.001", + "loss": "binary_crossentropy", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "10", + "model": "DMR", + "model_id": "DMR_kuaivideo_x1_003_e9fb63c2", + "model_root": "./checkpoints/DMR_kuaivideo_x1/", + "monitor": "{'AUC': 1, 'gAUC': 1}", + "monitor_mode": "max", + "neg_seq_field": "None", + "net_dropout": "0.1", + "net_regularizer": "0", + "num_workers": "3", + "optimizer": "adam", + "pickle_feature_encoder": "True", + "pos_emb_dim": "8", + "save_best_only": "True", + "seed": "20222023", + "sequence_field": "[('pos_items', 'pos_items_emb'), ('neg_items', 'neg_items_emb')]", + "shuffle": "True", + "target_field": "[('item_id', 'item_emb'), ('item_id', 'item_emb')]", + "task": "binary_classification", + "test_data": "../data/KuaiShou/KuaiVideo_x1/test.csv", + "train_data": "../data/KuaiShou/KuaiVideo_x1/train.csv", + "use_features": "None", + "use_pos_emb": "True", + "valid_data": "../data/KuaiShou/KuaiVideo_x1/test.csv", + "verbose": "1" +} +2023-05-24 14:36:57,418 P91467 INFO Set up feature processor... +2023-05-24 14:36:57,418 P91467 WARNING Skip rebuilding ../data/KuaiShou/kuaivideo_x1_60f6c91a/feature_map.json. Please delete it manually if rebuilding is required. +2023-05-24 14:36:57,419 P91467 INFO Load feature_map from json: ../data/KuaiShou/kuaivideo_x1_60f6c91a/feature_map.json +2023-05-24 14:36:57,419 P91467 INFO Set column index... +2023-05-24 14:36:57,419 P91467 INFO Feature specs: { + "group_id": "{'type': 'meta'}", + "item_emb": "{'source': '', 'type': 'categorical', 'embedding_dim': 64, 'pretrained_emb': 'pretrained_emb.h5', 'freeze_emb': True, 'padding_idx': 0, 'oov_idx': 3242316, 'vocab_size': 3242317, 'feature_encoder': 'nn.Linear(64, 64, bias=False)'}", + "item_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 632405, 'vocab_size': 632406}", + "neg_items": "{'source': '', 'type': 'sequence', 'feature_encoder': None, 'share_embedding': 'item_id', 'padding_idx': 0, 'oov_idx': 632405, 'vocab_size': 632406, 'max_len': 100}", + "neg_items_emb": "{'source': '', 'type': 'sequence', 'feature_encoder': ['nn.Linear(64, 64, bias=False)'], 'embedding_dim': 64, 'share_embedding': 'item_emb', 'padding_idx': 0, 'oov_idx': 3242316, 'vocab_size': 3242317, 'max_len': 100}", + "pos_items": "{'source': '', 'type': 'sequence', 'feature_encoder': None, 'share_embedding': 'item_id', 'padding_idx': 0, 'oov_idx': 632405, 'vocab_size': 632406, 'max_len': 100}", + "pos_items_emb": "{'source': '', 'type': 'sequence', 'feature_encoder': ['nn.Linear(64, 64, bias=False)'], 'embedding_dim': 64, 'share_embedding': 'item_emb', 'padding_idx': 0, 'oov_idx': 3242316, 'vocab_size': 3242317, 'max_len': 100}", + "user_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 10001, 'vocab_size': 10002}" +} +2023-05-24 14:37:09,654 P91467 INFO Total number of parameters: 291051779. +2023-05-24 14:37:09,654 P91467 INFO Loading data... +2023-05-24 14:37:09,654 P91467 INFO Loading data from h5: ../data/KuaiShou/kuaivideo_x1_60f6c91a/train.h5 +2023-05-24 14:37:33,165 P91467 INFO Train samples: total/10931092, blocks/1 +2023-05-24 14:37:33,165 P91467 INFO Loading data from h5: ../data/KuaiShou/kuaivideo_x1_60f6c91a/valid.h5 +2023-05-24 14:37:39,150 P91467 INFO Validation samples: total/2730291, blocks/1 +2023-05-24 14:37:39,150 P91467 INFO Loading train and validation data done. +2023-05-24 14:37:39,150 P91467 INFO Start training: 2669 batches/epoch +2023-05-24 14:37:39,150 P91467 INFO ************ Epoch=1 start ************ +2023-05-24 14:49:58,378 P91467 INFO Train loss: 0.459075 +2023-05-24 14:49:58,378 P91467 INFO Evaluation @epoch 1 - batch 2669: +2023-05-24 14:51:25,490 P91467 INFO [Metrics] AUC: 0.727751 - gAUC: 0.642543 +2023-05-24 14:51:25,494 P91467 INFO Save best model: monitor(max)=1.370294 +2023-05-24 14:51:29,482 P91467 INFO ************ Epoch=1 end ************ +2023-05-24 15:03:47,690 P91467 INFO Train loss: 0.446603 +2023-05-24 15:03:47,690 P91467 INFO Evaluation @epoch 2 - batch 2669: +2023-05-24 15:05:46,484 P91467 INFO [Metrics] AUC: 0.737074 - gAUC: 0.653036 +2023-05-24 15:05:46,485 P91467 INFO Save best model: monitor(max)=1.390110 +2023-05-24 15:05:51,081 P91467 INFO ************ Epoch=2 end ************ +2023-05-24 15:18:06,662 P91467 INFO Train loss: 0.442383 +2023-05-24 15:18:06,663 P91467 INFO Evaluation @epoch 3 - batch 2669: +2023-05-24 15:19:36,900 P91467 INFO [Metrics] AUC: 0.739617 - gAUC: 0.655949 +2023-05-24 15:19:36,909 P91467 INFO Save best model: monitor(max)=1.395566 +2023-05-24 15:19:41,223 P91467 INFO ************ Epoch=3 end ************ +2023-05-24 15:32:04,674 P91467 INFO Train loss: 0.440136 +2023-05-24 15:32:04,679 P91467 INFO Evaluation @epoch 4 - batch 2669: +2023-05-24 15:34:01,025 P91467 INFO [Metrics] AUC: 0.741349 - gAUC: 0.658560 +2023-05-24 15:34:01,029 P91467 INFO Save best model: monitor(max)=1.399909 +2023-05-24 15:34:05,296 P91467 INFO ************ Epoch=4 end ************ +2023-05-24 15:46:21,029 P91467 INFO Train loss: 0.438955 +2023-05-24 15:46:21,029 P91467 INFO Evaluation @epoch 5 - batch 2669: +2023-05-24 15:47:47,997 P91467 INFO [Metrics] AUC: 0.741713 - gAUC: 0.659622 +2023-05-24 15:47:48,000 P91467 INFO Save best model: monitor(max)=1.401335 +2023-05-24 15:47:52,284 P91467 INFO ************ Epoch=5 end ************ +2023-05-24 16:00:15,145 P91467 INFO Train loss: 0.437948 +2023-05-24 16:00:15,146 P91467 INFO Evaluation @epoch 6 - batch 2669: +2023-05-24 16:02:03,322 P91467 INFO [Metrics] AUC: 0.743431 - gAUC: 0.661889 +2023-05-24 16:02:03,324 P91467 INFO Save best model: monitor(max)=1.405321 +2023-05-24 16:02:07,715 P91467 INFO ************ Epoch=6 end ************ +2023-05-24 16:14:24,791 P91467 INFO Train loss: 0.437077 +2023-05-24 16:14:24,792 P91467 INFO Evaluation @epoch 7 - batch 2669: +2023-05-24 16:15:53,270 P91467 INFO [Metrics] AUC: 0.742143 - gAUC: 0.660690 +2023-05-24 16:15:53,272 P91467 INFO Monitor(max)=1.402833 STOP! +2023-05-24 16:15:53,272 P91467 INFO Reduce learning rate on plateau: 0.000100 +2023-05-24 16:15:53,335 P91467 INFO ************ Epoch=7 end ************ +2023-05-24 16:28:10,982 P91467 INFO Train loss: 0.416633 +2023-05-24 16:28:10,982 P91467 INFO Evaluation @epoch 8 - batch 2669: +2023-05-24 16:29:58,291 P91467 INFO [Metrics] AUC: 0.747997 - gAUC: 0.667941 +2023-05-24 16:29:58,294 P91467 INFO Save best model: monitor(max)=1.415937 +2023-05-24 16:30:02,945 P91467 INFO ************ Epoch=8 end ************ +2023-05-24 16:42:14,753 P91467 INFO Train loss: 0.409170 +2023-05-24 16:42:14,754 P91467 INFO Evaluation @epoch 9 - batch 2669: +2023-05-24 16:43:33,693 P91467 INFO [Metrics] AUC: 0.748489 - gAUC: 0.668880 +2023-05-24 16:43:33,697 P91467 INFO Save best model: monitor(max)=1.417369 +2023-05-24 16:43:37,898 P91467 INFO ************ Epoch=9 end ************ +2023-05-24 16:55:48,721 P91467 INFO Train loss: 0.404871 +2023-05-24 16:55:48,722 P91467 INFO Evaluation @epoch 10 - batch 2669: +2023-05-24 16:57:17,796 P91467 INFO [Metrics] AUC: 0.748279 - gAUC: 0.668635 +2023-05-24 16:57:17,802 P91467 INFO Monitor(max)=1.416913 STOP! +2023-05-24 16:57:17,802 P91467 INFO Reduce learning rate on plateau: 0.000010 +2023-05-24 16:57:17,858 P91467 INFO ************ Epoch=10 end ************ +2023-05-24 17:09:31,137 P91467 INFO Train loss: 0.394691 +2023-05-24 17:09:31,138 P91467 INFO Evaluation @epoch 11 - batch 2669: +2023-05-24 17:10:50,531 P91467 INFO [Metrics] AUC: 0.746504 - gAUC: 0.666924 +2023-05-24 17:10:50,537 P91467 INFO Monitor(max)=1.413428 STOP! +2023-05-24 17:10:50,537 P91467 INFO Reduce learning rate on plateau: 0.000001 +2023-05-24 17:10:50,537 P91467 INFO ********* Epoch==11 early stop ********* +2023-05-24 17:10:50,591 P91467 INFO Training finished. +2023-05-24 17:10:50,591 P91467 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/DMR_kuaivideo_x1/kuaivideo_x1_60f6c91a/DMR_kuaivideo_x1_003_e9fb63c2.model +2023-05-24 17:10:52,289 P91467 INFO ****** Validation evaluation ****** +2023-05-24 17:12:13,072 P91467 INFO [Metrics] gAUC: 0.668880 - AUC: 0.748489 - logloss: 0.435421 +2023-05-24 17:12:13,256 P91467 INFO ******** Test evaluation ******** +2023-05-24 17:12:13,256 P91467 INFO Loading data... +2023-05-24 17:12:13,257 P91467 INFO Loading data from h5: ../data/KuaiShou/kuaivideo_x1_60f6c91a/test.h5 +2023-05-24 17:12:19,203 P91467 INFO Test samples: total/2730291, blocks/1 +2023-05-24 17:12:19,203 P91467 INFO Loading test data done. +2023-05-24 17:13:37,761 P91467 INFO [Metrics] gAUC: 0.668880 - AUC: 0.748489 - logloss: 0.435421 diff --git a/ranking/ctr/DMR/DMR_kuaivideo_x1/DMR_kuaivideo_x1_tuner_config_01.csv b/ranking/ctr/DMR/DMR_kuaivideo_x1/DMR_kuaivideo_x1_tuner_config_01.csv new file mode 100644 index 0000000..94aa028 --- /dev/null +++ b/ranking/ctr/DMR/DMR_kuaivideo_x1/DMR_kuaivideo_x1_tuner_config_01.csv @@ -0,0 +1,8 @@ + 20230524-171337,[command] python run_expid.py --config KuaiShou/DMR_kuaivideo_x1/DMR_kuaivideo_x1_tuner_config_01 --expid DMR_kuaivideo_x1_003_e9fb63c2 --gpu 2,[exp_id] DMR_kuaivideo_x1_003_e9fb63c2,[dataset_id] kuaivideo_x1_60f6c91a,[train] N.A.,[val] gAUC: 0.668880 - AUC: 0.748489 - logloss: 0.435421,[test] gAUC: 0.668880 - AUC: 0.748489 - logloss: 0.435421 + 20230524-171344,[command] python run_expid.py --config KuaiShou/DMR_kuaivideo_x1/DMR_kuaivideo_x1_tuner_config_01 --expid DMR_kuaivideo_x1_007_d93d2f17 --gpu 6,[exp_id] DMR_kuaivideo_x1_007_d93d2f17,[dataset_id] kuaivideo_x1_60f6c91a,[train] N.A.,[val] gAUC: 0.668838 - AUC: 0.748540 - logloss: 0.435420,[test] gAUC: 0.668838 - AUC: 0.748540 - logloss: 0.435420 + 20230524-171427,[command] python run_expid.py --config KuaiShou/DMR_kuaivideo_x1/DMR_kuaivideo_x1_tuner_config_01 --expid DMR_kuaivideo_x1_008_fd980c67 --gpu 7,[exp_id] DMR_kuaivideo_x1_008_fd980c67,[dataset_id] kuaivideo_x1_60f6c91a,[train] N.A.,[val] gAUC: 0.668614 - AUC: 0.748248 - logloss: 0.436230,[test] gAUC: 0.668614 - AUC: 0.748248 - logloss: 0.436230 + 20230524-163301,[command] python run_expid.py --config KuaiShou/DMR_kuaivideo_x1/DMR_kuaivideo_x1_tuner_config_01 --expid DMR_kuaivideo_x1_004_40fafd3b --gpu 3,[exp_id] DMR_kuaivideo_x1_004_40fafd3b,[dataset_id] kuaivideo_x1_60f6c91a,[train] N.A.,[val] gAUC: 0.668253 - AUC: 0.748423 - logloss: 0.434023,[test] gAUC: 0.668253 - AUC: 0.748423 - logloss: 0.434023 + 20230524-185045,[command] python run_expid.py --config KuaiShou/DMR_kuaivideo_x1/DMR_kuaivideo_x1_tuner_config_01 --expid DMR_kuaivideo_x1_006_128f080c --gpu 5,[exp_id] DMR_kuaivideo_x1_006_128f080c,[dataset_id] kuaivideo_x1_60f6c91a,[train] N.A.,[val] gAUC: 0.662797 - AUC: 0.744302 - logloss: 0.439863,[test] gAUC: 0.662797 - AUC: 0.744302 - logloss: 0.439863 + 20230524-185007,[command] python run_expid.py --config KuaiShou/DMR_kuaivideo_x1/DMR_kuaivideo_x1_tuner_config_01 --expid DMR_kuaivideo_x1_002_365fd4cd --gpu 1,[exp_id] DMR_kuaivideo_x1_002_365fd4cd,[dataset_id] kuaivideo_x1_60f6c91a,[train] N.A.,[val] gAUC: 0.661877 - AUC: 0.743368 - logloss: 0.440940,[test] gAUC: 0.661877 - AUC: 0.743368 - logloss: 0.440940 + 20230524-182146,[command] python run_expid.py --config KuaiShou/DMR_kuaivideo_x1/DMR_kuaivideo_x1_tuner_config_01 --expid DMR_kuaivideo_x1_001_794ac421 --gpu 0,[exp_id] DMR_kuaivideo_x1_001_794ac421,[dataset_id] kuaivideo_x1_60f6c91a,[train] N.A.,[val] gAUC: 0.661526 - AUC: 0.743591 - logloss: 0.439249,[test] gAUC: 0.661526 - AUC: 0.743591 - logloss: 0.439249 + 20230524-182152,[command] python run_expid.py --config KuaiShou/DMR_kuaivideo_x1/DMR_kuaivideo_x1_tuner_config_01 --expid DMR_kuaivideo_x1_005_6bc1007a --gpu 4,[exp_id] DMR_kuaivideo_x1_005_6bc1007a,[dataset_id] kuaivideo_x1_60f6c91a,[train] N.A.,[val] gAUC: 0.660856 - AUC: 0.743108 - logloss: 0.439712,[test] gAUC: 0.660856 - AUC: 0.743108 - logloss: 0.439712 diff --git a/ranking/ctr/DMR/DMR_kuaivideo_x1/DMR_kuaivideo_x1_tuner_config_01.yaml b/ranking/ctr/DMR/DMR_kuaivideo_x1/DMR_kuaivideo_x1_tuner_config_01.yaml new file mode 100644 index 0000000..c056b87 --- /dev/null +++ b/ranking/ctr/DMR/DMR_kuaivideo_x1/DMR_kuaivideo_x1_tuner_config_01.yaml @@ -0,0 +1,63 @@ +base_config: ../model_zoo/DMR/config/ +base_expid: DMR_default +dataset_id: kuaivideo_x1 + +dataset_config: + kuaivideo_x1: + data_root: ../data/KuaiShou/ + data_format: csv + train_data: ../data/KuaiShou/KuaiVideo_x1/train.csv + valid_data: ../data/KuaiShou/KuaiVideo_x1/test.csv # no validation data split in original paper + test_data: ../data/KuaiShou/KuaiVideo_x1/test.csv + min_categr_count: 10 + feature_cols: + - {name: group_id, active: True, dtype: int, type: meta, preprocess: "copy_from(user_id)", remap: False} + - {name: user_id, active: True, dtype: str, type: categorical} + - {name: item_id, active: True, dtype: str, type: categorical} + - {name: item_emb, active: True, dtype: str, type: categorical, embedding_dim: 64, preprocess: "copy_from(item_id)", + pretrained_emb: "../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5", min_categr_count: 1} + - {name: pos_items, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, padding: post, + share_embedding: item_id} + - {name: neg_items, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, padding: post, + share_embedding: item_id} + - {name: pos_items_emb, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, embedding_dim: 64, + padding: post, pretrained_emb: "../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5", min_categr_count: 1, + share_embedding: item_emb, preprocess: "copy_from(pos_items)"} + - {name: neg_items_emb, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, embedding_dim: 64, + padding: post, pretrained_emb: "../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5", min_categr_count: 1, + share_embedding: item_emb, preprocess: "copy_from(neg_items)"} + label_col: {name: is_click, dtype: float} + + +tuner_space: + model_root: './checkpoints/DMR_kuaivideo_x1/' + feature_specs: [[ + {name: item_emb, feature_encoder: "nn.Linear(64, 64, bias=False)"}, + {name: pos_items, feature_encoder: null}, + {name: neg_items, feature_encoder: null}, + {name: pos_items_emb, feature_encoder: ["nn.Linear(64, 64, bias=False)"]}, + {name: neg_items_emb, feature_encoder: ["nn.Linear(64, 64, bias=False)"]} + ]] + embedding_dim: 64 + dnn_hidden_units: [[1024, 512, 256]] + target_field: [[!!python/tuple [item_id, item_emb], !!python/tuple [item_id, item_emb]]] + sequence_field: [[!!python/tuple [pos_items, pos_items_emb], !!python/tuple [neg_items, neg_items_emb]]] + dnn_activations: Dice + attention_hidden_units: [[512, 256]] + attention_activation: ReLU + attention_dropout: [0.1, 0.2] + use_pos_emb: True + pos_emb_dim: [8, 64] + enable_sum_pooling: False + enable_u2i_rel: [True, False] + enable_i2i_rel: False + embedding_regularizer: 1.e-4 + net_dropout: 0.1 + batch_norm: False + learning_rate: 1.e-3 + batch_size: 4096 + seed: 20222023 + group_id: group_id + metrics: [[gAUC, AUC, logloss]] + monitor: {"gAUC": 1, "AUC": 1} + diff --git a/ranking/ctr/DMR/DMR_kuaivideo_x1/DMR_kuaivideo_x1_tuner_config_01/dataset_config.yaml b/ranking/ctr/DMR/DMR_kuaivideo_x1/DMR_kuaivideo_x1_tuner_config_01/dataset_config.yaml new file mode 100644 index 0000000..1085630 --- /dev/null +++ b/ranking/ctr/DMR/DMR_kuaivideo_x1/DMR_kuaivideo_x1_tuner_config_01/dataset_config.yaml @@ -0,0 +1,26 @@ +kuaivideo_x1_60f6c91a: + data_format: csv + data_root: ../data/KuaiShou/ + feature_cols: + - {active: true, dtype: int, name: group_id, preprocess: copy_from(user_id), remap: false, + type: meta} + - {active: true, dtype: str, name: user_id, type: categorical} + - {active: true, dtype: str, name: item_id, type: categorical} + - {active: true, dtype: str, embedding_dim: 64, min_categr_count: 1, name: item_emb, + preprocess: copy_from(item_id), pretrained_emb: ../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5, + type: categorical} + - {active: true, dtype: str, max_len: 100, name: pos_items, padding: post, share_embedding: item_id, + splitter: ^, type: sequence} + - {active: true, dtype: str, max_len: 100, name: neg_items, padding: post, share_embedding: item_id, + splitter: ^, type: sequence} + - {active: true, dtype: str, embedding_dim: 64, max_len: 100, min_categr_count: 1, + name: pos_items_emb, padding: post, preprocess: copy_from(pos_items), pretrained_emb: ../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5, + share_embedding: item_emb, splitter: ^, type: sequence} + - {active: true, dtype: str, embedding_dim: 64, max_len: 100, min_categr_count: 1, + name: neg_items_emb, padding: post, preprocess: copy_from(neg_items), pretrained_emb: ../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5, + share_embedding: item_emb, splitter: ^, type: sequence} + label_col: {dtype: float, name: is_click} + min_categr_count: 10 + test_data: ../data/KuaiShou/KuaiVideo_x1/test.csv + train_data: ../data/KuaiShou/KuaiVideo_x1/train.csv + valid_data: ../data/KuaiShou/KuaiVideo_x1/test.csv diff --git a/ranking/ctr/DMR/DMR_kuaivideo_x1/DMR_kuaivideo_x1_tuner_config_01/model_config.yaml b/ranking/ctr/DMR/DMR_kuaivideo_x1/DMR_kuaivideo_x1_tuner_config_01/model_config.yaml new file mode 100644 index 0000000..171f567 --- /dev/null +++ b/ranking/ctr/DMR/DMR_kuaivideo_x1/DMR_kuaivideo_x1_tuner_config_01/model_config.yaml @@ -0,0 +1,464 @@ +DMR_kuaivideo_x1_001_794ac421: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: false + batch_size: 4096 + bn_only_once: false + context_field: null + dataset_id: kuaivideo_x1_60f6c91a + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: null, name: pos_items} + - {feature_encoder: null, name: neg_items} + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + group_id: group_id + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: + - !!python/tuple [pos_items, pos_items_emb] + - !!python/tuple [neg_items, neg_items_emb] + shuffle: true + target_field: + - !!python/tuple [item_id, item_emb] + - !!python/tuple [item_id, item_emb] + task: binary_classification + use_features: null + use_pos_emb: true + verbose: 1 +DMR_kuaivideo_x1_002_365fd4cd: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: false + batch_size: 4096 + bn_only_once: false + context_field: null + dataset_id: kuaivideo_x1_60f6c91a + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: null, name: pos_items} + - {feature_encoder: null, name: neg_items} + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + group_id: group_id + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 64 + save_best_only: true + seed: 20222023 + sequence_field: + - !!python/tuple [pos_items, pos_items_emb] + - !!python/tuple [neg_items, neg_items_emb] + shuffle: true + target_field: + - !!python/tuple [item_id, item_emb] + - !!python/tuple [item_id, item_emb] + task: binary_classification + use_features: null + use_pos_emb: true + verbose: 1 +DMR_kuaivideo_x1_003_e9fb63c2: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: false + batch_size: 4096 + bn_only_once: false + context_field: null + dataset_id: kuaivideo_x1_60f6c91a + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: null, name: pos_items} + - {feature_encoder: null, name: neg_items} + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + group_id: group_id + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: + - !!python/tuple [pos_items, pos_items_emb] + - !!python/tuple [neg_items, neg_items_emb] + shuffle: true + target_field: + - !!python/tuple [item_id, item_emb] + - !!python/tuple [item_id, item_emb] + task: binary_classification + use_features: null + use_pos_emb: true + verbose: 1 +DMR_kuaivideo_x1_004_40fafd3b: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: false + batch_size: 4096 + bn_only_once: false + context_field: null + dataset_id: kuaivideo_x1_60f6c91a + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: null, name: pos_items} + - {feature_encoder: null, name: neg_items} + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + group_id: group_id + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 64 + save_best_only: true + seed: 20222023 + sequence_field: + - !!python/tuple [pos_items, pos_items_emb] + - !!python/tuple [neg_items, neg_items_emb] + shuffle: true + target_field: + - !!python/tuple [item_id, item_emb] + - !!python/tuple [item_id, item_emb] + task: binary_classification + use_features: null + use_pos_emb: true + verbose: 1 +DMR_kuaivideo_x1_005_6bc1007a: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: false + batch_size: 4096 + bn_only_once: false + context_field: null + dataset_id: kuaivideo_x1_60f6c91a + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: null, name: pos_items} + - {feature_encoder: null, name: neg_items} + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + group_id: group_id + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: + - !!python/tuple [pos_items, pos_items_emb] + - !!python/tuple [neg_items, neg_items_emb] + shuffle: true + target_field: + - !!python/tuple [item_id, item_emb] + - !!python/tuple [item_id, item_emb] + task: binary_classification + use_features: null + use_pos_emb: true + verbose: 1 +DMR_kuaivideo_x1_006_128f080c: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: false + batch_size: 4096 + bn_only_once: false + context_field: null + dataset_id: kuaivideo_x1_60f6c91a + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: null, name: pos_items} + - {feature_encoder: null, name: neg_items} + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + group_id: group_id + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 64 + save_best_only: true + seed: 20222023 + sequence_field: + - !!python/tuple [pos_items, pos_items_emb] + - !!python/tuple [neg_items, neg_items_emb] + shuffle: true + target_field: + - !!python/tuple [item_id, item_emb] + - !!python/tuple [item_id, item_emb] + task: binary_classification + use_features: null + use_pos_emb: true + verbose: 1 +DMR_kuaivideo_x1_007_d93d2f17: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: false + batch_size: 4096 + bn_only_once: false + context_field: null + dataset_id: kuaivideo_x1_60f6c91a + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: null, name: pos_items} + - {feature_encoder: null, name: neg_items} + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + group_id: group_id + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: + - !!python/tuple [pos_items, pos_items_emb] + - !!python/tuple [neg_items, neg_items_emb] + shuffle: true + target_field: + - !!python/tuple [item_id, item_emb] + - !!python/tuple [item_id, item_emb] + task: binary_classification + use_features: null + use_pos_emb: true + verbose: 1 +DMR_kuaivideo_x1_008_fd980c67: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: false + batch_size: 4096 + bn_only_once: false + context_field: null + dataset_id: kuaivideo_x1_60f6c91a + debug_mode: false + dnn_activations: Dice + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0001 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: null, name: pos_items} + - {feature_encoder: null, name: neg_items} + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: ['nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + group_id: group_id + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 64 + save_best_only: true + seed: 20222023 + sequence_field: + - !!python/tuple [pos_items, pos_items_emb] + - !!python/tuple [neg_items, neg_items_emb] + shuffle: true + target_field: + - !!python/tuple [item_id, item_emb] + - !!python/tuple [item_id, item_emb] + task: binary_classification + use_features: null + use_pos_emb: true + verbose: 1 diff --git a/ranking/ctr/DMR/DMR_kuaivideo_x1/README.md b/ranking/ctr/DMR/DMR_kuaivideo_x1/README.md new file mode 100644 index 0000000..a5d5335 --- /dev/null +++ b/ranking/ctr/DMR/DMR_kuaivideo_x1/README.md @@ -0,0 +1,224 @@ +## DMR_kuaivideo_x1 + +A hands-on guide to run the DMR model on the KuaiVideo_x1 dataset. + +Author: [BARS Benchmark](https://github.com/reczoo/BARS/blob/main/CITATION) + + +| [Environments](#Environments) | [Dataset](#Dataset) | [Code](#Code) | [Results](#Results) | [Logs](#Logs) | +|:-----------------------------:|:-----------:|:--------:|:--------:|-------| +### Environments ++ Hardware + + ```python + CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz + GPU: Tesla V100 32G + RAM: 755G + + ``` + ++ Software + + ```python + cuda: 10.2 + python: 3.7.10 + pytorch: 1.11.0 + pandas: 1.1.5 + numpy: 1.19.5 + scipy: 1.5.2 + sklearn: 0.22.1 + pyyaml: 6.0 + h5py: 2.8.0 + tqdm: 4.64.0 + fuxictr: 2.0.3 + + ``` + +### Dataset +Please refer to [KuaiVideo_x1](https://github.com/reczoo/Datasets/tree/main/KuaiShou/KuaiVideo_x1) to get the dataset details. + +### Code + +We use the [DMR](https://github.com/reczoo/FuxiCTR/tree/v2.0.3/model_zoo/DMR) model code from [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/tree/v2.0.3) for this experiment. + +Running steps: + +1. Download [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/archive/refs/tags/v2.0.3.zip) and install all the dependencies listed in the [environments](#environments). + + ```bash + pip uninstall fuxictr + pip install fuxictr==2.0.3 + ``` + +2. Create a data directory and put the downloaded data files in `../data/KuaiShou/KuaiVideo_x1`. + +3. Both `dataset_config.yaml` and `model_config.yaml` files are available in [DMR_kuaivideo_x1_tuner_config_01](./DMR_kuaivideo_x1_tuner_config_01). Please make sure that the data paths in `dataset_config.yaml` are correctly set. + +4. Run the following script to start training and evaluation. + + ```bash + cd FuxiCTR/model_zoo/DMR + nohup python run_expid.py --config YOUR_PATH/DMR/DMR_kuaivideo_x1_tuner_config_01 --expid DMR_kuaivideo_x1_003_e9fb63c2 --gpu 0 > run.log & + tail -f run.log + ``` + +### Results + +| gAUC | AUC | logloss | +|:--------------------:|:--------------------:|:--------------------:| +| 0.668880 | 0.748489 | 0.435421 | + + +### Logs +```python +2023-05-24 14:36:57,418 P91467 INFO Params: { + "attention_activation": "ReLU", + "attention_dropout": "0.1", + "attention_hidden_units": "[512, 256]", + "aux_loss_beta": "0", + "batch_norm": "False", + "batch_size": "4096", + "bn_only_once": "False", + "context_field": "None", + "data_format": "csv", + "data_root": "../data/KuaiShou/", + "dataset_id": "kuaivideo_x1_60f6c91a", + "debug_mode": "False", + "dnn_activations": "Dice", + "dnn_hidden_units": "[1024, 512, 256]", + "early_stop_patience": "2", + "embedding_dim": "64", + "embedding_regularizer": "0.0001", + "enable_i2i_rel": "False", + "enable_sum_pooling": "False", + "enable_u2i_rel": "False", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'group_id', 'preprocess': 'copy_from(user_id)', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': 'user_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'name': 'item_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'min_categr_count': 1, 'name': 'item_emb', 'preprocess': 'copy_from(item_id)', 'pretrained_emb': '../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'max_len': 100, 'name': 'pos_items', 'padding': 'post', 'share_embedding': 'item_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 100, 'name': 'neg_items', 'padding': 'post', 'share_embedding': 'item_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'max_len': 100, 'min_categr_count': 1, 'name': 'pos_items_emb', 'padding': 'post', 'preprocess': 'copy_from(pos_items)', 'pretrained_emb': '../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5', 'share_embedding': 'item_emb', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'max_len': 100, 'min_categr_count': 1, 'name': 'neg_items_emb', 'padding': 'post', 'preprocess': 'copy_from(neg_items)', 'pretrained_emb': '../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5', 'share_embedding': 'item_emb', 'splitter': '^', 'type': 'sequence'}]", + "feature_config": "None", + "feature_specs": "[{'feature_encoder': 'nn.Linear(64, 64, bias=False)', 'name': 'item_emb'}, {'feature_encoder': None, 'name': 'pos_items'}, {'feature_encoder': None, 'name': 'neg_items'}, {'feature_encoder': ['nn.Linear(64, 64, bias=False)'], 'name': 'pos_items_emb'}, {'feature_encoder': ['nn.Linear(64, 64, bias=False)'], 'name': 'neg_items_emb'}]", + "gpu": "2", + "group_id": "group_id", + "label_col": "{'dtype': 'float', 'name': 'is_click'}", + "learning_rate": "0.001", + "loss": "binary_crossentropy", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "10", + "model": "DMR", + "model_id": "DMR_kuaivideo_x1_003_e9fb63c2", + "model_root": "./checkpoints/DMR_kuaivideo_x1/", + "monitor": "{'AUC': 1, 'gAUC': 1}", + "monitor_mode": "max", + "neg_seq_field": "None", + "net_dropout": "0.1", + "net_regularizer": "0", + "num_workers": "3", + "optimizer": "adam", + "pickle_feature_encoder": "True", + "pos_emb_dim": "8", + "save_best_only": "True", + "seed": "20222023", + "sequence_field": "[('pos_items', 'pos_items_emb'), ('neg_items', 'neg_items_emb')]", + "shuffle": "True", + "target_field": "[('item_id', 'item_emb'), ('item_id', 'item_emb')]", + "task": "binary_classification", + "test_data": "../data/KuaiShou/KuaiVideo_x1/test.csv", + "train_data": "../data/KuaiShou/KuaiVideo_x1/train.csv", + "use_features": "None", + "use_pos_emb": "True", + "valid_data": "../data/KuaiShou/KuaiVideo_x1/test.csv", + "verbose": "1" +} +2023-05-24 14:36:57,418 P91467 INFO Set up feature processor... +2023-05-24 14:36:57,418 P91467 WARNING Skip rebuilding ../data/KuaiShou/kuaivideo_x1_60f6c91a/feature_map.json. Please delete it manually if rebuilding is required. +2023-05-24 14:36:57,419 P91467 INFO Load feature_map from json: ../data/KuaiShou/kuaivideo_x1_60f6c91a/feature_map.json +2023-05-24 14:36:57,419 P91467 INFO Set column index... +2023-05-24 14:36:57,419 P91467 INFO Feature specs: { + "group_id": "{'type': 'meta'}", + "item_emb": "{'source': '', 'type': 'categorical', 'embedding_dim': 64, 'pretrained_emb': 'pretrained_emb.h5', 'freeze_emb': True, 'padding_idx': 0, 'oov_idx': 3242316, 'vocab_size': 3242317, 'feature_encoder': 'nn.Linear(64, 64, bias=False)'}", + "item_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 632405, 'vocab_size': 632406}", + "neg_items": "{'source': '', 'type': 'sequence', 'feature_encoder': None, 'share_embedding': 'item_id', 'padding_idx': 0, 'oov_idx': 632405, 'vocab_size': 632406, 'max_len': 100}", + "neg_items_emb": "{'source': '', 'type': 'sequence', 'feature_encoder': ['nn.Linear(64, 64, bias=False)'], 'embedding_dim': 64, 'share_embedding': 'item_emb', 'padding_idx': 0, 'oov_idx': 3242316, 'vocab_size': 3242317, 'max_len': 100}", + "pos_items": "{'source': '', 'type': 'sequence', 'feature_encoder': None, 'share_embedding': 'item_id', 'padding_idx': 0, 'oov_idx': 632405, 'vocab_size': 632406, 'max_len': 100}", + "pos_items_emb": "{'source': '', 'type': 'sequence', 'feature_encoder': ['nn.Linear(64, 64, bias=False)'], 'embedding_dim': 64, 'share_embedding': 'item_emb', 'padding_idx': 0, 'oov_idx': 3242316, 'vocab_size': 3242317, 'max_len': 100}", + "user_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 10001, 'vocab_size': 10002}" +} +2023-05-24 14:37:09,654 P91467 INFO Total number of parameters: 291051779. +2023-05-24 14:37:09,654 P91467 INFO Loading data... +2023-05-24 14:37:09,654 P91467 INFO Loading data from h5: ../data/KuaiShou/kuaivideo_x1_60f6c91a/train.h5 +2023-05-24 14:37:33,165 P91467 INFO Train samples: total/10931092, blocks/1 +2023-05-24 14:37:33,165 P91467 INFO Loading data from h5: ../data/KuaiShou/kuaivideo_x1_60f6c91a/valid.h5 +2023-05-24 14:37:39,150 P91467 INFO Validation samples: total/2730291, blocks/1 +2023-05-24 14:37:39,150 P91467 INFO Loading train and validation data done. +2023-05-24 14:37:39,150 P91467 INFO Start training: 2669 batches/epoch +2023-05-24 14:37:39,150 P91467 INFO ************ Epoch=1 start ************ +2023-05-24 14:49:58,378 P91467 INFO Train loss: 0.459075 +2023-05-24 14:49:58,378 P91467 INFO Evaluation @epoch 1 - batch 2669: +2023-05-24 14:51:25,490 P91467 INFO [Metrics] AUC: 0.727751 - gAUC: 0.642543 +2023-05-24 14:51:25,494 P91467 INFO Save best model: monitor(max)=1.370294 +2023-05-24 14:51:29,482 P91467 INFO ************ Epoch=1 end ************ +2023-05-24 15:03:47,690 P91467 INFO Train loss: 0.446603 +2023-05-24 15:03:47,690 P91467 INFO Evaluation @epoch 2 - batch 2669: +2023-05-24 15:05:46,484 P91467 INFO [Metrics] AUC: 0.737074 - gAUC: 0.653036 +2023-05-24 15:05:46,485 P91467 INFO Save best model: monitor(max)=1.390110 +2023-05-24 15:05:51,081 P91467 INFO ************ Epoch=2 end ************ +2023-05-24 15:18:06,662 P91467 INFO Train loss: 0.442383 +2023-05-24 15:18:06,663 P91467 INFO Evaluation @epoch 3 - batch 2669: +2023-05-24 15:19:36,900 P91467 INFO [Metrics] AUC: 0.739617 - gAUC: 0.655949 +2023-05-24 15:19:36,909 P91467 INFO Save best model: monitor(max)=1.395566 +2023-05-24 15:19:41,223 P91467 INFO ************ Epoch=3 end ************ +2023-05-24 15:32:04,674 P91467 INFO Train loss: 0.440136 +2023-05-24 15:32:04,679 P91467 INFO Evaluation @epoch 4 - batch 2669: +2023-05-24 15:34:01,025 P91467 INFO [Metrics] AUC: 0.741349 - gAUC: 0.658560 +2023-05-24 15:34:01,029 P91467 INFO Save best model: monitor(max)=1.399909 +2023-05-24 15:34:05,296 P91467 INFO ************ Epoch=4 end ************ +2023-05-24 15:46:21,029 P91467 INFO Train loss: 0.438955 +2023-05-24 15:46:21,029 P91467 INFO Evaluation @epoch 5 - batch 2669: +2023-05-24 15:47:47,997 P91467 INFO [Metrics] AUC: 0.741713 - gAUC: 0.659622 +2023-05-24 15:47:48,000 P91467 INFO Save best model: monitor(max)=1.401335 +2023-05-24 15:47:52,284 P91467 INFO ************ Epoch=5 end ************ +2023-05-24 16:00:15,145 P91467 INFO Train loss: 0.437948 +2023-05-24 16:00:15,146 P91467 INFO Evaluation @epoch 6 - batch 2669: +2023-05-24 16:02:03,322 P91467 INFO [Metrics] AUC: 0.743431 - gAUC: 0.661889 +2023-05-24 16:02:03,324 P91467 INFO Save best model: monitor(max)=1.405321 +2023-05-24 16:02:07,715 P91467 INFO ************ Epoch=6 end ************ +2023-05-24 16:14:24,791 P91467 INFO Train loss: 0.437077 +2023-05-24 16:14:24,792 P91467 INFO Evaluation @epoch 7 - batch 2669: +2023-05-24 16:15:53,270 P91467 INFO [Metrics] AUC: 0.742143 - gAUC: 0.660690 +2023-05-24 16:15:53,272 P91467 INFO Monitor(max)=1.402833 STOP! +2023-05-24 16:15:53,272 P91467 INFO Reduce learning rate on plateau: 0.000100 +2023-05-24 16:15:53,335 P91467 INFO ************ Epoch=7 end ************ +2023-05-24 16:28:10,982 P91467 INFO Train loss: 0.416633 +2023-05-24 16:28:10,982 P91467 INFO Evaluation @epoch 8 - batch 2669: +2023-05-24 16:29:58,291 P91467 INFO [Metrics] AUC: 0.747997 - gAUC: 0.667941 +2023-05-24 16:29:58,294 P91467 INFO Save best model: monitor(max)=1.415937 +2023-05-24 16:30:02,945 P91467 INFO ************ Epoch=8 end ************ +2023-05-24 16:42:14,753 P91467 INFO Train loss: 0.409170 +2023-05-24 16:42:14,754 P91467 INFO Evaluation @epoch 9 - batch 2669: +2023-05-24 16:43:33,693 P91467 INFO [Metrics] AUC: 0.748489 - gAUC: 0.668880 +2023-05-24 16:43:33,697 P91467 INFO Save best model: monitor(max)=1.417369 +2023-05-24 16:43:37,898 P91467 INFO ************ Epoch=9 end ************ +2023-05-24 16:55:48,721 P91467 INFO Train loss: 0.404871 +2023-05-24 16:55:48,722 P91467 INFO Evaluation @epoch 10 - batch 2669: +2023-05-24 16:57:17,796 P91467 INFO [Metrics] AUC: 0.748279 - gAUC: 0.668635 +2023-05-24 16:57:17,802 P91467 INFO Monitor(max)=1.416913 STOP! +2023-05-24 16:57:17,802 P91467 INFO Reduce learning rate on plateau: 0.000010 +2023-05-24 16:57:17,858 P91467 INFO ************ Epoch=10 end ************ +2023-05-24 17:09:31,137 P91467 INFO Train loss: 0.394691 +2023-05-24 17:09:31,138 P91467 INFO Evaluation @epoch 11 - batch 2669: +2023-05-24 17:10:50,531 P91467 INFO [Metrics] AUC: 0.746504 - gAUC: 0.666924 +2023-05-24 17:10:50,537 P91467 INFO Monitor(max)=1.413428 STOP! +2023-05-24 17:10:50,537 P91467 INFO Reduce learning rate on plateau: 0.000001 +2023-05-24 17:10:50,537 P91467 INFO ********* Epoch==11 early stop ********* +2023-05-24 17:10:50,591 P91467 INFO Training finished. +2023-05-24 17:10:50,591 P91467 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/DMR_kuaivideo_x1/kuaivideo_x1_60f6c91a/DMR_kuaivideo_x1_003_e9fb63c2.model +2023-05-24 17:10:52,289 P91467 INFO ****** Validation evaluation ****** +2023-05-24 17:12:13,072 P91467 INFO [Metrics] gAUC: 0.668880 - AUC: 0.748489 - logloss: 0.435421 +2023-05-24 17:12:13,256 P91467 INFO ******** Test evaluation ******** +2023-05-24 17:12:13,256 P91467 INFO Loading data... +2023-05-24 17:12:13,257 P91467 INFO Loading data from h5: ../data/KuaiShou/kuaivideo_x1_60f6c91a/test.h5 +2023-05-24 17:12:19,203 P91467 INFO Test samples: total/2730291, blocks/1 +2023-05-24 17:12:19,203 P91467 INFO Loading test data done. +2023-05-24 17:13:37,761 P91467 INFO [Metrics] gAUC: 0.668880 - AUC: 0.748489 - logloss: 0.435421 + +``` diff --git a/ranking/ctr/DMR/DMR_kuaivideo_x1/environments.txt b/ranking/ctr/DMR/DMR_kuaivideo_x1/environments.txt new file mode 100644 index 0000000..a39d234 --- /dev/null +++ b/ranking/ctr/DMR/DMR_kuaivideo_x1/environments.txt @@ -0,0 +1,17 @@ +[Hardware] +CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz +GPU: Tesla V100 32G +RAM: 755G + +[Software] +cuda: 10.2 +python: 3.7.10 +pytorch: 1.11.0 +pandas: 1.1.5 +numpy: 1.19.5 +scipy: 1.5.2 +sklearn: 0.22.1 +pyyaml: 6.0 +h5py: 2.8.0 +tqdm: 4.64.0 +fuxictr: 2.0.3 diff --git a/ranking/ctr/DMR/DMR_kuaivideo_x1/results.csv b/ranking/ctr/DMR/DMR_kuaivideo_x1/results.csv new file mode 100644 index 0000000..ff37138 --- /dev/null +++ b/ranking/ctr/DMR/DMR_kuaivideo_x1/results.csv @@ -0,0 +1 @@ + 20230524-171337,[command] python run_expid.py --config KuaiShou/DMR_kuaivideo_x1/DMR_kuaivideo_x1_tuner_config_01 --expid DMR_kuaivideo_x1_003_e9fb63c2 --gpu 2,[exp_id] DMR_kuaivideo_x1_003_e9fb63c2,[dataset_id] kuaivideo_x1_60f6c91a,[train] N.A.,[val] gAUC: 0.668880 - AUC: 0.748489 - logloss: 0.435421,[test] gAUC: 0.668880 - AUC: 0.748489 - logloss: 0.435421 diff --git a/ranking/ctr/DMR/DMR_microvideo1.7m_x1/DMR_microvideo1.7m_x1_008_dac65736.log b/ranking/ctr/DMR/DMR_microvideo1.7m_x1/DMR_microvideo1.7m_x1_008_dac65736.log new file mode 100644 index 0000000..3427bd5 --- /dev/null +++ b/ranking/ctr/DMR/DMR_microvideo1.7m_x1/DMR_microvideo1.7m_x1_008_dac65736.log @@ -0,0 +1,158 @@ +2023-05-24 14:41:47,007 P105461 INFO Params: { + "attention_activation": "Dice", + "attention_dropout": "0.2", + "attention_hidden_units": "[512, 256]", + "aux_loss_beta": "0", + "batch_norm": "True", + "batch_size": "2048", + "bn_only_once": "False", + "context_field": "None", + "data_format": "csv", + "data_root": "../data/MicroVideo1.7M/", + "dataset_id": "microvideo1.7m_x1_83b31456", + "debug_mode": "False", + "dnn_activations": "ReLU", + "dnn_hidden_units": "[1024, 512, 256]", + "early_stop_patience": "2", + "embedding_dim": "64", + "embedding_regularizer": "0.0005", + "enable_i2i_rel": "False", + "enable_sum_pooling": "False", + "enable_u2i_rel": "False", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'group_id', 'preprocess': 'copy_from(user_id)', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': 'user_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'name': 'item_id', 'pretrained_emb': '../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'name': 'cate_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'max_len': 100, 'name': 'clicked_items', 'padding': 'post', 'pretrained_emb': '../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 100, 'name': 'clicked_categories', 'padding': 'post', 'share_embedding': 'cate_id', 'splitter': '^', 'type': 'sequence'}, {'active': False, 'dtype': 'str', 'name': 'timestamp', 'type': 'categorical'}]", + "feature_config": "None", + "feature_specs": "[{'feature_encoder': 'nn.Linear(64, 64, bias=False)', 'name': 'item_id'}, {'feature_encoder': 'nn.Linear(64, 64, bias=False)', 'name': 'clicked_items'}, {'feature_encoder': None, 'name': 'clicked_categories'}]", + "gpu": "7", + "group_id": "group_id", + "label_col": "{'dtype': 'float', 'name': 'is_click'}", + "learning_rate": "0.0005", + "loss": "binary_crossentropy", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "1", + "model": "DMR", + "model_id": "DMR_microvideo1.7m_x1_008_dac65736", + "model_root": "./checkpoints/DMR_microvideo1.7m_x1/", + "monitor": "{'AUC': 1, 'gAUC': 1}", + "monitor_mode": "max", + "neg_seq_field": "None", + "net_dropout": "0.1", + "net_regularizer": "0", + "num_workers": "3", + "optimizer": "adam", + "pickle_feature_encoder": "True", + "pos_emb_dim": "2", + "save_best_only": "True", + "seed": "2022", + "sequence_field": "('clicked_items', 'clicked_categories')", + "shuffle": "True", + "target_field": "('item_id', 'cate_id')", + "task": "binary_classification", + "test_data": "../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv", + "train_data": "../data/MicroVideo1.7M/MicroVideo1.7M_x1/train.csv", + "use_features": "None", + "use_pos_emb": "False", + "valid_data": "../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv", + "verbose": "1" +} +2023-05-24 14:41:47,007 P105461 INFO Set up feature processor... +2023-05-24 14:41:47,007 P105461 WARNING Skip rebuilding ../data/MicroVideo1.7M/microvideo1.7m_x1_83b31456/feature_map.json. Please delete it manually if rebuilding is required. +2023-05-24 14:41:47,007 P105461 INFO Load feature_map from json: ../data/MicroVideo1.7M/microvideo1.7m_x1_83b31456/feature_map.json +2023-05-24 14:41:47,008 P105461 INFO Set column index... +2023-05-24 14:41:47,008 P105461 INFO Feature specs: { + "cate_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 513, 'vocab_size': 514}", + "clicked_categories": "{'source': '', 'type': 'sequence', 'feature_encoder': None, 'share_embedding': 'cate_id', 'padding_idx': 0, 'oov_idx': 513, 'vocab_size': 514, 'max_len': 100}", + "clicked_items": "{'source': '', 'type': 'sequence', 'feature_encoder': 'nn.Linear(64, 64, bias=False)', 'embedding_dim': 64, 'pretrained_emb': 'pretrained_emb.h5', 'freeze_emb': True, 'padding_idx': 0, 'oov_idx': 1704881, 'vocab_size': 1704882, 'max_len': 100}", + "group_id": "{'type': 'meta'}", + "item_id": "{'source': '', 'type': 'categorical', 'embedding_dim': 64, 'pretrained_emb': 'pretrained_emb.h5', 'freeze_emb': True, 'padding_idx': 0, 'oov_idx': 1704881, 'vocab_size': 1704882, 'feature_encoder': 'nn.Linear(64, 64, bias=False)'}", + "user_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 10987, 'vocab_size': 10988}" +} +2023-05-24 14:41:54,935 P105461 INFO Total number of parameters: 111289858. +2023-05-24 14:41:54,935 P105461 INFO Loading data... +2023-05-24 14:41:54,936 P105461 INFO Loading data from h5: ../data/MicroVideo1.7M/microvideo1.7m_x1_83b31456/train.h5 +2023-05-24 14:42:05,019 P105461 INFO Train samples: total/8970309, blocks/1 +2023-05-24 14:42:05,020 P105461 INFO Loading data from h5: ../data/MicroVideo1.7M/microvideo1.7m_x1_83b31456/valid.h5 +2023-05-24 14:42:09,244 P105461 INFO Validation samples: total/3767308, blocks/1 +2023-05-24 14:42:09,245 P105461 INFO Loading train and validation data done. +2023-05-24 14:42:09,245 P105461 INFO Start training: 4381 batches/epoch +2023-05-24 14:42:09,245 P105461 INFO ************ Epoch=1 start ************ +2023-05-24 14:50:52,629 P105461 INFO Train loss: 0.458405 +2023-05-24 14:50:52,632 P105461 INFO Evaluation @epoch 1 - batch 4381: +2023-05-24 14:53:40,779 P105461 INFO [Metrics] AUC: 0.718218 - gAUC: 0.673152 +2023-05-24 14:53:40,780 P105461 INFO Save best model: monitor(max)=1.391369 +2023-05-24 14:53:43,170 P105461 INFO ************ Epoch=1 end ************ +2023-05-24 15:03:15,508 P105461 INFO Train loss: 0.440663 +2023-05-24 15:03:15,509 P105461 INFO Evaluation @epoch 2 - batch 4381: +2023-05-24 15:06:03,405 P105461 INFO [Metrics] AUC: 0.724735 - gAUC: 0.678255 +2023-05-24 15:06:03,406 P105461 INFO Save best model: monitor(max)=1.402990 +2023-05-24 15:06:06,470 P105461 INFO ************ Epoch=2 end ************ +2023-05-24 15:15:01,613 P105461 INFO Train loss: 0.436843 +2023-05-24 15:15:01,613 P105461 INFO Evaluation @epoch 3 - batch 4381: +2023-05-24 15:17:43,544 P105461 INFO [Metrics] AUC: 0.725490 - gAUC: 0.678947 +2023-05-24 15:17:43,549 P105461 INFO Save best model: monitor(max)=1.404437 +2023-05-24 15:17:46,498 P105461 INFO ************ Epoch=3 end ************ +2023-05-24 15:27:27,217 P105461 INFO Train loss: 0.434482 +2023-05-24 15:27:27,217 P105461 INFO Evaluation @epoch 4 - batch 4381: +2023-05-24 15:30:03,830 P105461 INFO [Metrics] AUC: 0.727900 - gAUC: 0.680990 +2023-05-24 15:30:03,841 P105461 INFO Save best model: monitor(max)=1.408890 +2023-05-24 15:30:06,978 P105461 INFO ************ Epoch=4 end ************ +2023-05-24 15:39:14,581 P105461 INFO Train loss: 0.432584 +2023-05-24 15:39:14,581 P105461 INFO Evaluation @epoch 5 - batch 4381: +2023-05-24 15:41:52,382 P105461 INFO [Metrics] AUC: 0.728434 - gAUC: 0.681701 +2023-05-24 15:41:52,384 P105461 INFO Save best model: monitor(max)=1.410135 +2023-05-24 15:41:55,444 P105461 INFO ************ Epoch=5 end ************ +2023-05-24 15:51:46,046 P105461 INFO Train loss: 0.431454 +2023-05-24 15:51:46,046 P105461 INFO Evaluation @epoch 6 - batch 4381: +2023-05-24 15:54:16,682 P105461 INFO [Metrics] AUC: 0.728414 - gAUC: 0.680855 +2023-05-24 15:54:16,687 P105461 INFO Monitor(max)=1.409269 STOP! +2023-05-24 15:54:16,687 P105461 INFO Reduce learning rate on plateau: 0.000050 +2023-05-24 15:54:16,744 P105461 INFO ************ Epoch=6 end ************ +2023-05-24 16:03:31,668 P105461 INFO Train loss: 0.420687 +2023-05-24 16:03:31,669 P105461 INFO Evaluation @epoch 7 - batch 4381: +2023-05-24 16:06:00,820 P105461 INFO [Metrics] AUC: 0.734900 - gAUC: 0.687279 +2023-05-24 16:06:00,823 P105461 INFO Save best model: monitor(max)=1.422179 +2023-05-24 16:06:03,865 P105461 INFO ************ Epoch=7 end ************ +2023-05-24 16:16:39,685 P105461 INFO Train loss: 0.416460 +2023-05-24 16:16:39,686 P105461 INFO Evaluation @epoch 8 - batch 4381: +2023-05-24 16:18:51,248 P105461 INFO [Metrics] AUC: 0.735273 - gAUC: 0.687546 +2023-05-24 16:18:51,253 P105461 INFO Save best model: monitor(max)=1.422818 +2023-05-24 16:18:54,415 P105461 INFO ************ Epoch=8 end ************ +2023-05-24 16:27:32,459 P105461 INFO Train loss: 0.414496 +2023-05-24 16:27:32,459 P105461 INFO Evaluation @epoch 9 - batch 4381: +2023-05-24 16:29:48,733 P105461 INFO [Metrics] AUC: 0.735108 - gAUC: 0.687118 +2023-05-24 16:29:48,737 P105461 INFO Monitor(max)=1.422227 STOP! +2023-05-24 16:29:48,737 P105461 INFO Reduce learning rate on plateau: 0.000005 +2023-05-24 16:29:48,790 P105461 INFO ************ Epoch=9 end ************ +2023-05-24 16:38:39,592 P105461 INFO Train loss: 0.410926 +2023-05-24 16:38:39,593 P105461 INFO Evaluation @epoch 10 - batch 4381: +2023-05-24 16:40:39,490 P105461 INFO [Metrics] AUC: 0.735421 - gAUC: 0.687478 +2023-05-24 16:40:39,493 P105461 INFO Save best model: monitor(max)=1.422899 +2023-05-24 16:40:42,508 P105461 INFO ************ Epoch=10 end ************ +2023-05-24 16:49:19,371 P105461 INFO Train loss: 0.410466 +2023-05-24 16:49:19,372 P105461 INFO Evaluation @epoch 11 - batch 4381: +2023-05-24 16:51:45,219 P105461 INFO [Metrics] AUC: 0.735436 - gAUC: 0.687533 +2023-05-24 16:51:45,224 P105461 INFO Save best model: monitor(max)=1.422969 +2023-05-24 16:51:48,173 P105461 INFO ************ Epoch=11 end ************ +2023-05-24 17:00:32,398 P105461 INFO Train loss: 0.410068 +2023-05-24 17:00:32,398 P105461 INFO Evaluation @epoch 12 - batch 4381: +2023-05-24 17:02:33,600 P105461 INFO [Metrics] AUC: 0.735284 - gAUC: 0.687278 +2023-05-24 17:02:33,604 P105461 INFO Monitor(max)=1.422562 STOP! +2023-05-24 17:02:33,604 P105461 INFO Reduce learning rate on plateau: 0.000001 +2023-05-24 17:02:33,657 P105461 INFO ************ Epoch=12 end ************ +2023-05-24 17:11:30,346 P105461 INFO Train loss: 0.409650 +2023-05-24 17:11:30,346 P105461 INFO Evaluation @epoch 13 - batch 4381: +2023-05-24 17:12:52,070 P105461 INFO [Metrics] AUC: 0.735319 - gAUC: 0.687272 +2023-05-24 17:12:52,072 P105461 INFO Monitor(max)=1.422591 STOP! +2023-05-24 17:12:52,072 P105461 INFO Reduce learning rate on plateau: 0.000001 +2023-05-24 17:12:52,072 P105461 INFO ********* Epoch==13 early stop ********* +2023-05-24 17:12:52,122 P105461 INFO Training finished. +2023-05-24 17:12:52,122 P105461 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/DMR_microvideo1.7m_x1/microvideo1.7m_x1_83b31456/DMR_microvideo1.7m_x1_008_dac65736.model +2023-05-24 17:12:53,121 P105461 INFO ****** Validation evaluation ****** +2023-05-24 17:14:13,474 P105461 INFO [Metrics] gAUC: 0.687533 - AUC: 0.735436 - logloss: 0.412249 +2023-05-24 17:14:13,565 P105461 INFO ******** Test evaluation ******** +2023-05-24 17:14:13,565 P105461 INFO Loading data... +2023-05-24 17:14:13,565 P105461 INFO Loading data from h5: ../data/MicroVideo1.7M/microvideo1.7m_x1_83b31456/test.h5 +2023-05-24 17:14:17,811 P105461 INFO Test samples: total/3767308, blocks/1 +2023-05-24 17:14:17,811 P105461 INFO Loading test data done. +2023-05-24 17:15:36,967 P105461 INFO [Metrics] gAUC: 0.687533 - AUC: 0.735436 - logloss: 0.412249 diff --git a/ranking/ctr/DMR/DMR_microvideo1.7m_x1/DMR_microvideo1.7m_x1_tuner_config_01.csv b/ranking/ctr/DMR/DMR_microvideo1.7m_x1/DMR_microvideo1.7m_x1_tuner_config_01.csv new file mode 100644 index 0000000..421c08d --- /dev/null +++ b/ranking/ctr/DMR/DMR_microvideo1.7m_x1/DMR_microvideo1.7m_x1_tuner_config_01.csv @@ -0,0 +1,8 @@ + 20230524-171536,[command] python run_expid.py --config MicroVideo1.7M/DMR_microvideo1.7m_x1/DMR_microvideo1.7m_x1_tuner_config_01 --expid DMR_microvideo1.7m_x1_008_dac65736 --gpu 7,[exp_id] DMR_microvideo1.7m_x1_008_dac65736,[dataset_id] microvideo1.7m_x1_83b31456,[train] N.A.,[val] gAUC: 0.687533 - AUC: 0.735436 - logloss: 0.412249,[test] gAUC: 0.687533 - AUC: 0.735436 - logloss: 0.412249 + 20230524-170650,[command] python run_expid.py --config MicroVideo1.7M/DMR_microvideo1.7m_x1/DMR_microvideo1.7m_x1_tuner_config_01 --expid DMR_microvideo1.7m_x1_004_5b4b54a8 --gpu 3,[exp_id] DMR_microvideo1.7m_x1_004_5b4b54a8,[dataset_id] microvideo1.7m_x1_83b31456,[train] N.A.,[val] gAUC: 0.687111 - AUC: 0.735286 - logloss: 0.411275,[test] gAUC: 0.687111 - AUC: 0.735286 - logloss: 0.411275 + 20230524-170916,[command] python run_expid.py --config MicroVideo1.7M/DMR_microvideo1.7m_x1/DMR_microvideo1.7m_x1_tuner_config_01 --expid DMR_microvideo1.7m_x1_006_6a090266 --gpu 5,[exp_id] DMR_microvideo1.7m_x1_006_6a090266,[dataset_id] microvideo1.7m_x1_83b31456,[train] N.A.,[val] gAUC: 0.686527 - AUC: 0.734923 - logloss: 0.412725,[test] gAUC: 0.686527 - AUC: 0.734923 - logloss: 0.412725 + 20230524-170931,[command] python run_expid.py --config MicroVideo1.7M/DMR_microvideo1.7m_x1/DMR_microvideo1.7m_x1_tuner_config_01 --expid DMR_microvideo1.7m_x1_002_6062b653 --gpu 1,[exp_id] DMR_microvideo1.7m_x1_002_6062b653,[dataset_id] microvideo1.7m_x1_83b31456,[train] N.A.,[val] gAUC: 0.686431 - AUC: 0.734660 - logloss: 0.411736,[test] gAUC: 0.686431 - AUC: 0.734660 - logloss: 0.411736 + 20230524-173639,[command] python run_expid.py --config MicroVideo1.7M/DMR_microvideo1.7m_x1/DMR_microvideo1.7m_x1_tuner_config_01 --expid DMR_microvideo1.7m_x1_007_591028ea --gpu 6,[exp_id] DMR_microvideo1.7m_x1_007_591028ea,[dataset_id] microvideo1.7m_x1_83b31456,[train] N.A.,[val] gAUC: 0.674022 - AUC: 0.726088 - logloss: 0.416669,[test] gAUC: 0.674022 - AUC: 0.726088 - logloss: 0.416669 + 20230524-173654,[command] python run_expid.py --config MicroVideo1.7M/DMR_microvideo1.7m_x1/DMR_microvideo1.7m_x1_tuner_config_01 --expid DMR_microvideo1.7m_x1_005_8c2f4603 --gpu 4,[exp_id] DMR_microvideo1.7m_x1_005_8c2f4603,[dataset_id] microvideo1.7m_x1_83b31456,[train] N.A.,[val] gAUC: 0.673656 - AUC: 0.726048 - logloss: 0.417229,[test] gAUC: 0.673656 - AUC: 0.726048 - logloss: 0.417229 + 20230524-161741,[command] python run_expid.py --config MicroVideo1.7M/DMR_microvideo1.7m_x1/DMR_microvideo1.7m_x1_tuner_config_01 --expid DMR_microvideo1.7m_x1_001_c25fe1ce --gpu 0,[exp_id] DMR_microvideo1.7m_x1_001_c25fe1ce,[dataset_id] microvideo1.7m_x1_83b31456,[train] N.A.,[val] gAUC: 0.672881 - AUC: 0.720356 - logloss: 0.414827,[test] gAUC: 0.672881 - AUC: 0.720356 - logloss: 0.414827 + 20230524-161708,[command] python run_expid.py --config MicroVideo1.7M/DMR_microvideo1.7m_x1/DMR_microvideo1.7m_x1_tuner_config_01 --expid DMR_microvideo1.7m_x1_003_679e4c7d --gpu 2,[exp_id] DMR_microvideo1.7m_x1_003_679e4c7d,[dataset_id] microvideo1.7m_x1_83b31456,[train] N.A.,[val] gAUC: 0.672336 - AUC: 0.720814 - logloss: 0.414870,[test] gAUC: 0.672336 - AUC: 0.720814 - logloss: 0.414870 diff --git a/ranking/ctr/DMR/DMR_microvideo1.7m_x1/DMR_microvideo1.7m_x1_tuner_config_01.yaml b/ranking/ctr/DMR/DMR_microvideo1.7m_x1/DMR_microvideo1.7m_x1_tuner_config_01.yaml new file mode 100644 index 0000000..6bba82c --- /dev/null +++ b/ranking/ctr/DMR/DMR_microvideo1.7m_x1/DMR_microvideo1.7m_x1_tuner_config_01.yaml @@ -0,0 +1,57 @@ +base_config: ../model_zoo/DMR/config/ +base_expid: DMR_default +dataset_id: microvideo1.7m_x1 + +dataset_config: + microvideo1.7m_x1: + data_root: ../data/MicroVideo1.7M/ + data_format: csv + train_data: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/train.csv + valid_data: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv # no validation data split in original paper + test_data: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv + min_categr_count: 1 + feature_cols: + - {name: group_id, active: True, dtype: int, type: meta, preprocess: "copy_from(user_id)", remap: False} + - {name: user_id, active: True, dtype: str, type: categorical} + - {name: item_id, active: True, dtype: str, type: categorical, embedding_dim: 64, + pretrained_emb: "../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5"} + - {name: cate_id, active: True, dtype: str, type: categorical} + - {name: clicked_items, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, embedding_dim: 64, + padding: post, pretrained_emb: "../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5"} + - {name: clicked_categories, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, padding: post, + share_embedding: cate_id} + - {name: timestamp, active: False, dtype: str, type: categorical} + label_col: {name: is_click, dtype: float} + + +tuner_space: + model_root: './checkpoints/DMR_microvideo1.7m_x1/' + feature_specs: [[ + {name: item_id, feature_encoder: "nn.Linear(64, 64, bias=False)"}, + {name: clicked_items, feature_encoder: "nn.Linear(64, 64, bias=False)"}, + {name: clicked_categories, feature_encoder: null} + ]] + embedding_dim: 64 + dnn_hidden_units: [[1024, 512, 256]] + target_field: [!!python/tuple [item_id, cate_id]] + sequence_field: [!!python/tuple [clicked_items, clicked_categories]] + dnn_activations: ReLU + attention_hidden_units: [[512, 256]] + attention_activation: Dice + attention_dropout: [0.1, 0.2] + use_pos_emb: False + pos_emb_dim: 2 + enable_sum_pooling: False + enable_u2i_rel: [True, False] + enable_i2i_rel: False + embedding_regularizer: [1.e-3, 5.e-4] + net_dropout: 0.1 + batch_norm: True + bn_only_once: False + learning_rate: 5.e-4 + batch_size: 2048 + seed: 2022 + group_id: group_id + metrics: [[gAUC, AUC, logloss]] + monitor: {"gAUC": 1, "AUC": 1} + diff --git a/ranking/ctr/DMR/DMR_microvideo1.7m_x1/DMR_microvideo1.7m_x1_tuner_config_01/dataset_config.yaml b/ranking/ctr/DMR/DMR_microvideo1.7m_x1/DMR_microvideo1.7m_x1_tuner_config_01/dataset_config.yaml new file mode 100644 index 0000000..9b378af --- /dev/null +++ b/ranking/ctr/DMR/DMR_microvideo1.7m_x1/DMR_microvideo1.7m_x1_tuner_config_01/dataset_config.yaml @@ -0,0 +1,21 @@ +microvideo1.7m_x1_83b31456: + data_format: csv + data_root: ../data/MicroVideo1.7M/ + feature_cols: + - {active: true, dtype: int, name: group_id, preprocess: copy_from(user_id), remap: false, + type: meta} + - {active: true, dtype: str, name: user_id, type: categorical} + - {active: true, dtype: str, embedding_dim: 64, name: item_id, pretrained_emb: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5, + type: categorical} + - {active: true, dtype: str, name: cate_id, type: categorical} + - {active: true, dtype: str, embedding_dim: 64, max_len: 100, name: clicked_items, + padding: post, pretrained_emb: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5, + splitter: ^, type: sequence} + - {active: true, dtype: str, max_len: 100, name: clicked_categories, padding: post, + share_embedding: cate_id, splitter: ^, type: sequence} + - {active: false, dtype: str, name: timestamp, type: categorical} + label_col: {dtype: float, name: is_click} + min_categr_count: 1 + test_data: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv + train_data: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/train.csv + valid_data: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv diff --git a/ranking/ctr/DMR/DMR_microvideo1.7m_x1/DMR_microvideo1.7m_x1_tuner_config_01/model_config.yaml b/ranking/ctr/DMR/DMR_microvideo1.7m_x1/DMR_microvideo1.7m_x1_tuner_config_01/model_config.yaml new file mode 100644 index 0000000..c36bf70 --- /dev/null +++ b/ranking/ctr/DMR/DMR_microvideo1.7m_x1/DMR_microvideo1.7m_x1_tuner_config_01/model_config.yaml @@ -0,0 +1,400 @@ +DMR_microvideo1.7m_x1_001_c25fe1ce: + attention_activation: Dice + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: true + batch_size: 2048 + bn_only_once: false + context_field: null + dataset_id: microvideo1.7m_x1_83b31456 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.001 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: clicked_items} + - {feature_encoder: null, name: clicked_categories} + group_id: group_id + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 2 + save_best_only: true + seed: 2022 + sequence_field: !!python/tuple [clicked_items, clicked_categories] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_features: null + use_pos_emb: false + verbose: 1 +DMR_microvideo1.7m_x1_002_6062b653: + attention_activation: Dice + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: true + batch_size: 2048 + bn_only_once: false + context_field: null + dataset_id: microvideo1.7m_x1_83b31456 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.001 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: clicked_items} + - {feature_encoder: null, name: clicked_categories} + group_id: group_id + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 2 + save_best_only: true + seed: 2022 + sequence_field: !!python/tuple [clicked_items, clicked_categories] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_features: null + use_pos_emb: false + verbose: 1 +DMR_microvideo1.7m_x1_003_679e4c7d: + attention_activation: Dice + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: true + batch_size: 2048 + bn_only_once: false + context_field: null + dataset_id: microvideo1.7m_x1_83b31456 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.001 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: clicked_items} + - {feature_encoder: null, name: clicked_categories} + group_id: group_id + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 2 + save_best_only: true + seed: 2022 + sequence_field: !!python/tuple [clicked_items, clicked_categories] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_features: null + use_pos_emb: false + verbose: 1 +DMR_microvideo1.7m_x1_004_5b4b54a8: + attention_activation: Dice + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: true + batch_size: 2048 + bn_only_once: false + context_field: null + dataset_id: microvideo1.7m_x1_83b31456 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.001 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: clicked_items} + - {feature_encoder: null, name: clicked_categories} + group_id: group_id + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 2 + save_best_only: true + seed: 2022 + sequence_field: !!python/tuple [clicked_items, clicked_categories] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_features: null + use_pos_emb: false + verbose: 1 +DMR_microvideo1.7m_x1_005_8c2f4603: + attention_activation: Dice + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: true + batch_size: 2048 + bn_only_once: false + context_field: null + dataset_id: microvideo1.7m_x1_83b31456 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: clicked_items} + - {feature_encoder: null, name: clicked_categories} + group_id: group_id + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 2 + save_best_only: true + seed: 2022 + sequence_field: !!python/tuple [clicked_items, clicked_categories] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_features: null + use_pos_emb: false + verbose: 1 +DMR_microvideo1.7m_x1_006_6a090266: + attention_activation: Dice + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: true + batch_size: 2048 + bn_only_once: false + context_field: null + dataset_id: microvideo1.7m_x1_83b31456 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: clicked_items} + - {feature_encoder: null, name: clicked_categories} + group_id: group_id + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 2 + save_best_only: true + seed: 2022 + sequence_field: !!python/tuple [clicked_items, clicked_categories] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_features: null + use_pos_emb: false + verbose: 1 +DMR_microvideo1.7m_x1_007_591028ea: + attention_activation: Dice + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: true + batch_size: 2048 + bn_only_once: false + context_field: null + dataset_id: microvideo1.7m_x1_83b31456 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: clicked_items} + - {feature_encoder: null, name: clicked_categories} + group_id: group_id + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 2 + save_best_only: true + seed: 2022 + sequence_field: !!python/tuple [clicked_items, clicked_categories] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_features: null + use_pos_emb: false + verbose: 1 +DMR_microvideo1.7m_x1_008_dac65736: + attention_activation: Dice + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: true + batch_size: 2048 + bn_only_once: false + context_field: null + dataset_id: microvideo1.7m_x1_83b31456 + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [1024, 512, 256] + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: clicked_items} + - {feature_encoder: null, name: clicked_categories} + group_id: group_id + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 2 + save_best_only: true + seed: 2022 + sequence_field: !!python/tuple [clicked_items, clicked_categories] + shuffle: true + target_field: !!python/tuple [item_id, cate_id] + task: binary_classification + use_features: null + use_pos_emb: false + verbose: 1 diff --git a/ranking/ctr/DMR/DMR_microvideo1.7m_x1/README.md b/ranking/ctr/DMR/DMR_microvideo1.7m_x1/README.md new file mode 100644 index 0000000..ccc36bd --- /dev/null +++ b/ranking/ctr/DMR/DMR_microvideo1.7m_x1/README.md @@ -0,0 +1,233 @@ +## DMR_microvideo1.7m_x1 + +A hands-on guide to run the DMR model on the MicroVideo1.7M_x1 dataset. + +Author: [BARS Benchmark](https://github.com/reczoo/BARS/blob/main/CITATION) + + +| [Environments](#Environments) | [Dataset](#Dataset) | [Code](#Code) | [Results](#Results) | [Logs](#Logs) | +|:-----------------------------:|:-----------:|:--------:|:--------:|-------| +### Environments ++ Hardware + + ```python + CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz + GPU: Tesla V100 32G + RAM: 755G + + ``` + ++ Software + + ```python + cuda: 10.2 + python: 3.7.10 + pytorch: 1.11.0 + pandas: 1.1.5 + numpy: 1.19.5 + scipy: 1.5.2 + sklearn: 0.22.1 + pyyaml: 6.0 + h5py: 2.8.0 + tqdm: 4.64.0 + fuxictr: 2.0.3 + + ``` + +### Dataset +Please refer to [MicroVideo1.7M_x1](https://github.com/reczoo/Datasets/tree/main/MicroVideo/MicroVideo1.7M_x1) to get the dataset details. + +### Code + +We use the [DMR](https://github.com/reczoo/FuxiCTR/tree/v2.0.3/model_zoo/DMR) model code from [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/tree/v2.0.3) for this experiment. + +Running steps: + +1. Download [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/archive/refs/tags/v2.0.3.zip) and install all the dependencies listed in the [environments](#environments). + + ```bash + pip uninstall fuxictr + pip install fuxictr==2.0.3 + ``` + +2. Create a data directory and put the downloaded data files in `../data/MicroVideo/MicroVideo1.7M_x1`. + +3. Both `dataset_config.yaml` and `model_config.yaml` files are available in [DMR_microvideo1.7m_x1_tuner_config_01](./DMR_microvideo1.7m_x1_tuner_config_01). Please make sure that the data paths in `dataset_config.yaml` are correctly set. + +4. Run the following script to start training and evaluation. + + ```bash + cd FuxiCTR/model_zoo/DMR + nohup python run_expid.py --config YOUR_PATH/DMR/DMR_microvideo1.7m_x1_tuner_config_01 --expid DMR_microvideo1 --gpu 0 > run.log & + tail -f run.log + ``` + +### Results + +| gAUC | AUC | logloss | +|:--------------------:|:--------------------:|:--------------------:| +| 0.687533 | 0.735436 | 0.412249 | + + +### Logs +```python +2023-05-24 14:41:47,007 P105461 INFO Params: { + "attention_activation": "Dice", + "attention_dropout": "0.2", + "attention_hidden_units": "[512, 256]", + "aux_loss_beta": "0", + "batch_norm": "True", + "batch_size": "2048", + "bn_only_once": "False", + "context_field": "None", + "data_format": "csv", + "data_root": "../data/MicroVideo1.7M/", + "dataset_id": "microvideo1.7m_x1_83b31456", + "debug_mode": "False", + "dnn_activations": "ReLU", + "dnn_hidden_units": "[1024, 512, 256]", + "early_stop_patience": "2", + "embedding_dim": "64", + "embedding_regularizer": "0.0005", + "enable_i2i_rel": "False", + "enable_sum_pooling": "False", + "enable_u2i_rel": "False", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'group_id', 'preprocess': 'copy_from(user_id)', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': 'user_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'name': 'item_id', 'pretrained_emb': '../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'name': 'cate_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'max_len': 100, 'name': 'clicked_items', 'padding': 'post', 'pretrained_emb': '../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 100, 'name': 'clicked_categories', 'padding': 'post', 'share_embedding': 'cate_id', 'splitter': '^', 'type': 'sequence'}, {'active': False, 'dtype': 'str', 'name': 'timestamp', 'type': 'categorical'}]", + "feature_config": "None", + "feature_specs": "[{'feature_encoder': 'nn.Linear(64, 64, bias=False)', 'name': 'item_id'}, {'feature_encoder': 'nn.Linear(64, 64, bias=False)', 'name': 'clicked_items'}, {'feature_encoder': None, 'name': 'clicked_categories'}]", + "gpu": "7", + "group_id": "group_id", + "label_col": "{'dtype': 'float', 'name': 'is_click'}", + "learning_rate": "0.0005", + "loss": "binary_crossentropy", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "1", + "model": "DMR", + "model_id": "DMR_microvideo1.7m_x1_008_dac65736", + "model_root": "./checkpoints/DMR_microvideo1.7m_x1/", + "monitor": "{'AUC': 1, 'gAUC': 1}", + "monitor_mode": "max", + "neg_seq_field": "None", + "net_dropout": "0.1", + "net_regularizer": "0", + "num_workers": "3", + "optimizer": "adam", + "pickle_feature_encoder": "True", + "pos_emb_dim": "2", + "save_best_only": "True", + "seed": "2022", + "sequence_field": "('clicked_items', 'clicked_categories')", + "shuffle": "True", + "target_field": "('item_id', 'cate_id')", + "task": "binary_classification", + "test_data": "../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv", + "train_data": "../data/MicroVideo1.7M/MicroVideo1.7M_x1/train.csv", + "use_features": "None", + "use_pos_emb": "False", + "valid_data": "../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv", + "verbose": "1" +} +2023-05-24 14:41:47,007 P105461 INFO Set up feature processor... +2023-05-24 14:41:47,007 P105461 WARNING Skip rebuilding ../data/MicroVideo1.7M/microvideo1.7m_x1_83b31456/feature_map.json. Please delete it manually if rebuilding is required. +2023-05-24 14:41:47,007 P105461 INFO Load feature_map from json: ../data/MicroVideo1.7M/microvideo1.7m_x1_83b31456/feature_map.json +2023-05-24 14:41:47,008 P105461 INFO Set column index... +2023-05-24 14:41:47,008 P105461 INFO Feature specs: { + "cate_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 513, 'vocab_size': 514}", + "clicked_categories": "{'source': '', 'type': 'sequence', 'feature_encoder': None, 'share_embedding': 'cate_id', 'padding_idx': 0, 'oov_idx': 513, 'vocab_size': 514, 'max_len': 100}", + "clicked_items": "{'source': '', 'type': 'sequence', 'feature_encoder': 'nn.Linear(64, 64, bias=False)', 'embedding_dim': 64, 'pretrained_emb': 'pretrained_emb.h5', 'freeze_emb': True, 'padding_idx': 0, 'oov_idx': 1704881, 'vocab_size': 1704882, 'max_len': 100}", + "group_id": "{'type': 'meta'}", + "item_id": "{'source': '', 'type': 'categorical', 'embedding_dim': 64, 'pretrained_emb': 'pretrained_emb.h5', 'freeze_emb': True, 'padding_idx': 0, 'oov_idx': 1704881, 'vocab_size': 1704882, 'feature_encoder': 'nn.Linear(64, 64, bias=False)'}", + "user_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 10987, 'vocab_size': 10988}" +} +2023-05-24 14:41:54,935 P105461 INFO Total number of parameters: 111289858. +2023-05-24 14:41:54,935 P105461 INFO Loading data... +2023-05-24 14:41:54,936 P105461 INFO Loading data from h5: ../data/MicroVideo1.7M/microvideo1.7m_x1_83b31456/train.h5 +2023-05-24 14:42:05,019 P105461 INFO Train samples: total/8970309, blocks/1 +2023-05-24 14:42:05,020 P105461 INFO Loading data from h5: ../data/MicroVideo1.7M/microvideo1.7m_x1_83b31456/valid.h5 +2023-05-24 14:42:09,244 P105461 INFO Validation samples: total/3767308, blocks/1 +2023-05-24 14:42:09,245 P105461 INFO Loading train and validation data done. +2023-05-24 14:42:09,245 P105461 INFO Start training: 4381 batches/epoch +2023-05-24 14:42:09,245 P105461 INFO ************ Epoch=1 start ************ +2023-05-24 14:50:52,629 P105461 INFO Train loss: 0.458405 +2023-05-24 14:50:52,632 P105461 INFO Evaluation @epoch 1 - batch 4381: +2023-05-24 14:53:40,779 P105461 INFO [Metrics] AUC: 0.718218 - gAUC: 0.673152 +2023-05-24 14:53:40,780 P105461 INFO Save best model: monitor(max)=1.391369 +2023-05-24 14:53:43,170 P105461 INFO ************ Epoch=1 end ************ +2023-05-24 15:03:15,508 P105461 INFO Train loss: 0.440663 +2023-05-24 15:03:15,509 P105461 INFO Evaluation @epoch 2 - batch 4381: +2023-05-24 15:06:03,405 P105461 INFO [Metrics] AUC: 0.724735 - gAUC: 0.678255 +2023-05-24 15:06:03,406 P105461 INFO Save best model: monitor(max)=1.402990 +2023-05-24 15:06:06,470 P105461 INFO ************ Epoch=2 end ************ +2023-05-24 15:15:01,613 P105461 INFO Train loss: 0.436843 +2023-05-24 15:15:01,613 P105461 INFO Evaluation @epoch 3 - batch 4381: +2023-05-24 15:17:43,544 P105461 INFO [Metrics] AUC: 0.725490 - gAUC: 0.678947 +2023-05-24 15:17:43,549 P105461 INFO Save best model: monitor(max)=1.404437 +2023-05-24 15:17:46,498 P105461 INFO ************ Epoch=3 end ************ +2023-05-24 15:27:27,217 P105461 INFO Train loss: 0.434482 +2023-05-24 15:27:27,217 P105461 INFO Evaluation @epoch 4 - batch 4381: +2023-05-24 15:30:03,830 P105461 INFO [Metrics] AUC: 0.727900 - gAUC: 0.680990 +2023-05-24 15:30:03,841 P105461 INFO Save best model: monitor(max)=1.408890 +2023-05-24 15:30:06,978 P105461 INFO ************ Epoch=4 end ************ +2023-05-24 15:39:14,581 P105461 INFO Train loss: 0.432584 +2023-05-24 15:39:14,581 P105461 INFO Evaluation @epoch 5 - batch 4381: +2023-05-24 15:41:52,382 P105461 INFO [Metrics] AUC: 0.728434 - gAUC: 0.681701 +2023-05-24 15:41:52,384 P105461 INFO Save best model: monitor(max)=1.410135 +2023-05-24 15:41:55,444 P105461 INFO ************ Epoch=5 end ************ +2023-05-24 15:51:46,046 P105461 INFO Train loss: 0.431454 +2023-05-24 15:51:46,046 P105461 INFO Evaluation @epoch 6 - batch 4381: +2023-05-24 15:54:16,682 P105461 INFO [Metrics] AUC: 0.728414 - gAUC: 0.680855 +2023-05-24 15:54:16,687 P105461 INFO Monitor(max)=1.409269 STOP! +2023-05-24 15:54:16,687 P105461 INFO Reduce learning rate on plateau: 0.000050 +2023-05-24 15:54:16,744 P105461 INFO ************ Epoch=6 end ************ +2023-05-24 16:03:31,668 P105461 INFO Train loss: 0.420687 +2023-05-24 16:03:31,669 P105461 INFO Evaluation @epoch 7 - batch 4381: +2023-05-24 16:06:00,820 P105461 INFO [Metrics] AUC: 0.734900 - gAUC: 0.687279 +2023-05-24 16:06:00,823 P105461 INFO Save best model: monitor(max)=1.422179 +2023-05-24 16:06:03,865 P105461 INFO ************ Epoch=7 end ************ +2023-05-24 16:16:39,685 P105461 INFO Train loss: 0.416460 +2023-05-24 16:16:39,686 P105461 INFO Evaluation @epoch 8 - batch 4381: +2023-05-24 16:18:51,248 P105461 INFO [Metrics] AUC: 0.735273 - gAUC: 0.687546 +2023-05-24 16:18:51,253 P105461 INFO Save best model: monitor(max)=1.422818 +2023-05-24 16:18:54,415 P105461 INFO ************ Epoch=8 end ************ +2023-05-24 16:27:32,459 P105461 INFO Train loss: 0.414496 +2023-05-24 16:27:32,459 P105461 INFO Evaluation @epoch 9 - batch 4381: +2023-05-24 16:29:48,733 P105461 INFO [Metrics] AUC: 0.735108 - gAUC: 0.687118 +2023-05-24 16:29:48,737 P105461 INFO Monitor(max)=1.422227 STOP! +2023-05-24 16:29:48,737 P105461 INFO Reduce learning rate on plateau: 0.000005 +2023-05-24 16:29:48,790 P105461 INFO ************ Epoch=9 end ************ +2023-05-24 16:38:39,592 P105461 INFO Train loss: 0.410926 +2023-05-24 16:38:39,593 P105461 INFO Evaluation @epoch 10 - batch 4381: +2023-05-24 16:40:39,490 P105461 INFO [Metrics] AUC: 0.735421 - gAUC: 0.687478 +2023-05-24 16:40:39,493 P105461 INFO Save best model: monitor(max)=1.422899 +2023-05-24 16:40:42,508 P105461 INFO ************ Epoch=10 end ************ +2023-05-24 16:49:19,371 P105461 INFO Train loss: 0.410466 +2023-05-24 16:49:19,372 P105461 INFO Evaluation @epoch 11 - batch 4381: +2023-05-24 16:51:45,219 P105461 INFO [Metrics] AUC: 0.735436 - gAUC: 0.687533 +2023-05-24 16:51:45,224 P105461 INFO Save best model: monitor(max)=1.422969 +2023-05-24 16:51:48,173 P105461 INFO ************ Epoch=11 end ************ +2023-05-24 17:00:32,398 P105461 INFO Train loss: 0.410068 +2023-05-24 17:00:32,398 P105461 INFO Evaluation @epoch 12 - batch 4381: +2023-05-24 17:02:33,600 P105461 INFO [Metrics] AUC: 0.735284 - gAUC: 0.687278 +2023-05-24 17:02:33,604 P105461 INFO Monitor(max)=1.422562 STOP! +2023-05-24 17:02:33,604 P105461 INFO Reduce learning rate on plateau: 0.000001 +2023-05-24 17:02:33,657 P105461 INFO ************ Epoch=12 end ************ +2023-05-24 17:11:30,346 P105461 INFO Train loss: 0.409650 +2023-05-24 17:11:30,346 P105461 INFO Evaluation @epoch 13 - batch 4381: +2023-05-24 17:12:52,070 P105461 INFO [Metrics] AUC: 0.735319 - gAUC: 0.687272 +2023-05-24 17:12:52,072 P105461 INFO Monitor(max)=1.422591 STOP! +2023-05-24 17:12:52,072 P105461 INFO Reduce learning rate on plateau: 0.000001 +2023-05-24 17:12:52,072 P105461 INFO ********* Epoch==13 early stop ********* +2023-05-24 17:12:52,122 P105461 INFO Training finished. +2023-05-24 17:12:52,122 P105461 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/DMR_microvideo1.7m_x1/microvideo1.7m_x1_83b31456/DMR_microvideo1.7m_x1_008_dac65736.model +2023-05-24 17:12:53,121 P105461 INFO ****** Validation evaluation ****** +2023-05-24 17:14:13,474 P105461 INFO [Metrics] gAUC: 0.687533 - AUC: 0.735436 - logloss: 0.412249 +2023-05-24 17:14:13,565 P105461 INFO ******** Test evaluation ******** +2023-05-24 17:14:13,565 P105461 INFO Loading data... +2023-05-24 17:14:13,565 P105461 INFO Loading data from h5: ../data/MicroVideo1.7M/microvideo1.7m_x1_83b31456/test.h5 +2023-05-24 17:14:17,811 P105461 INFO Test samples: total/3767308, blocks/1 +2023-05-24 17:14:17,811 P105461 INFO Loading test data done. +2023-05-24 17:15:36,967 P105461 INFO [Metrics] gAUC: 0.687533 - AUC: 0.735436 - logloss: 0.412249 + +``` diff --git a/ranking/ctr/DMR/DMR_microvideo1.7m_x1/environments.txt b/ranking/ctr/DMR/DMR_microvideo1.7m_x1/environments.txt new file mode 100644 index 0000000..a39d234 --- /dev/null +++ b/ranking/ctr/DMR/DMR_microvideo1.7m_x1/environments.txt @@ -0,0 +1,17 @@ +[Hardware] +CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz +GPU: Tesla V100 32G +RAM: 755G + +[Software] +cuda: 10.2 +python: 3.7.10 +pytorch: 1.11.0 +pandas: 1.1.5 +numpy: 1.19.5 +scipy: 1.5.2 +sklearn: 0.22.1 +pyyaml: 6.0 +h5py: 2.8.0 +tqdm: 4.64.0 +fuxictr: 2.0.3 diff --git a/ranking/ctr/DMR/DMR_microvideo1.7m_x1/results.csv b/ranking/ctr/DMR/DMR_microvideo1.7m_x1/results.csv new file mode 100644 index 0000000..288d508 --- /dev/null +++ b/ranking/ctr/DMR/DMR_microvideo1.7m_x1/results.csv @@ -0,0 +1 @@ + 20230524-171536,[command] python run_expid.py --config MicroVideo1.7M/DMR_microvideo1.7m_x1/DMR_microvideo1.7m_x1_tuner_config_01 --expid DMR_microvideo1.7m_x1_008_dac65736 --gpu 7,[exp_id] DMR_microvideo1.7m_x1_008_dac65736,[dataset_id] microvideo1.7m_x1_83b31456,[train] N.A.,[val] gAUC: 0.687533 - AUC: 0.735436 - logloss: 0.412249,[test] gAUC: 0.687533 - AUC: 0.735436 - logloss: 0.412249 diff --git a/ranking/ctr/DMR/DMR_taobaoad_x1/DMR_taobaoad_x1_014_62a4965f.log b/ranking/ctr/DMR/DMR_taobaoad_x1/DMR_taobaoad_x1_014_62a4965f.log new file mode 100644 index 0000000..1a0b4b8 --- /dev/null +++ b/ranking/ctr/DMR/DMR_taobaoad_x1/DMR_taobaoad_x1_014_62a4965f.log @@ -0,0 +1,131 @@ +2023-05-24 12:32:05,603 P61086 INFO Params: { + "attention_activation": "ReLU", + "attention_dropout": "0.2", + "attention_hidden_units": "[512, 256]", + "aux_loss_beta": "0", + "batch_norm": "False", + "batch_size": "8192", + "bn_only_once": "False", + "context_field": "None", + "data_format": "csv", + "data_root": "../data/Taobao/", + "dataset_id": "taobaoad_x1_bf8c47ea", + "debug_mode": "False", + "dnn_activations": "ReLU", + "dnn_hidden_units": "[512, 256, 128]", + "early_stop_patience": "2", + "embedding_dim": "32", + "embedding_regularizer": "5e-06", + "enable_i2i_rel": "False", + "enable_sum_pooling": "False", + "enable_u2i_rel": "False", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'group_id', 'preprocess': 'copy_from(userid)', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': ['userid', 'cms_segid', 'cms_group_id', 'final_gender_code', 'age_level', 'pvalue_level', 'shopping_level', 'occupation', 'new_user_class_level', 'adgroup_id', 'cate_id', 'campaign_id', 'customer', 'brand', 'pid', 'btag'], 'type': 'categorical'}, {'active': True, 'dtype': 'float', 'name': 'price', 'type': 'numeric'}, {'active': True, 'dtype': 'str', 'max_len': 50, 'name': 'cate_his', 'padding': 'post', 'share_embedding': 'cate_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 50, 'name': 'brand_his', 'padding': 'post', 'share_embedding': 'brand', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 50, 'name': 'btag_his', 'padding': 'post', 'share_embedding': 'btag', 'splitter': '^', 'type': 'sequence'}]", + "feature_config": "None", + "feature_specs": "[{'feature_encoder': None, 'name': ['cate_his', 'brand_his', 'btag_his']}]", + "gpu": "2", + "group_id": "group_id", + "label_col": "{'dtype': 'float', 'name': 'clk'}", + "learning_rate": "0.001", + "loss": "binary_crossentropy", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "10", + "model": "DMR", + "model_id": "DMR_taobaoad_x1_014_62a4965f", + "model_root": "./checkpoints/DMR_taobaoad_x1/", + "monitor": "{'AUC': 1, 'gAUC': 1}", + "monitor_mode": "max", + "neg_seq_field": "None", + "net_dropout": "0.1", + "net_regularizer": "0", + "num_workers": "3", + "optimizer": "adam", + "pickle_feature_encoder": "True", + "pos_emb_dim": "64", + "save_best_only": "True", + "seed": "20222023", + "sequence_field": "('cate_his', 'brand_his', 'btag_his')", + "shuffle": "True", + "target_field": "('cate_id', 'brand', 'btag')", + "task": "binary_classification", + "test_data": "../data/Taobao/TaobaoAd_x1/test.csv", + "train_data": "../data/Taobao/TaobaoAd_x1/train.csv", + "use_features": "None", + "use_pos_emb": "True", + "valid_data": "../data/Taobao/TaobaoAd_x1/test.csv", + "verbose": "1" +} +2023-05-24 12:32:05,604 P61086 INFO Set up feature processor... +2023-05-24 12:32:05,604 P61086 WARNING Skip rebuilding ../data/Taobao/taobaoad_x1_bf8c47ea/feature_map.json. Please delete it manually if rebuilding is required. +2023-05-24 12:32:05,604 P61086 INFO Load feature_map from json: ../data/Taobao/taobaoad_x1_bf8c47ea/feature_map.json +2023-05-24 12:32:05,605 P61086 INFO Set column index... +2023-05-24 12:32:05,605 P61086 INFO Feature specs: { + "adgroup_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 246850, 'vocab_size': 246851}", + "age_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 8, 'vocab_size': 9}", + "brand": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 308869, 'vocab_size': 308870}", + "brand_his": "{'source': '', 'type': 'sequence', 'feature_encoder': None, 'share_embedding': 'brand', 'padding_idx': 0, 'oov_idx': 308869, 'vocab_size': 308870, 'max_len': 50}", + "btag": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 5, 'vocab_size': 6}", + "btag_his": "{'source': '', 'type': 'sequence', 'feature_encoder': None, 'share_embedding': 'btag', 'padding_idx': 0, 'oov_idx': 5, 'vocab_size': 6, 'max_len': 50}", + "campaign_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 191770, 'vocab_size': 191771}", + "cate_his": "{'source': '', 'type': 'sequence', 'feature_encoder': None, 'share_embedding': 'cate_id', 'padding_idx': 0, 'oov_idx': 11329, 'vocab_size': 11330, 'max_len': 50}", + "cate_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 11329, 'vocab_size': 11330}", + "cms_group_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 14, 'vocab_size': 15}", + "cms_segid": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 98, 'vocab_size': 99}", + "customer": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 132135, 'vocab_size': 132136}", + "final_gender_code": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 3, 'vocab_size': 4}", + "group_id": "{'type': 'meta'}", + "new_user_class_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 6, 'vocab_size': 7}", + "occupation": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 3, 'vocab_size': 4}", + "pid": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 3, 'vocab_size': 4}", + "price": "{'source': '', 'type': 'numeric'}", + "pvalue_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 5, 'vocab_size': 6}", + "shopping_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 4, 'vocab_size': 5}", + "userid": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 403957, 'vocab_size': 403958}" +} +2023-05-24 12:32:09,496 P61086 INFO Total number of parameters: 52528930. +2023-05-24 12:32:09,497 P61086 INFO Loading data... +2023-05-24 12:32:09,497 P61086 INFO Loading data from h5: ../data/Taobao/taobaoad_x1_bf8c47ea/train.h5 +2023-05-24 12:32:35,236 P61086 INFO Train samples: total/21929911, blocks/1 +2023-05-24 12:32:35,237 P61086 INFO Loading data from h5: ../data/Taobao/taobaoad_x1_bf8c47ea/valid.h5 +2023-05-24 12:32:38,842 P61086 INFO Validation samples: total/3099515, blocks/1 +2023-05-24 12:32:38,842 P61086 INFO Loading train and validation data done. +2023-05-24 12:32:38,842 P61086 INFO Start training: 2677 batches/epoch +2023-05-24 12:32:38,842 P61086 INFO ************ Epoch=1 start ************ +2023-05-24 12:40:02,774 P61086 INFO Train loss: 0.205892 +2023-05-24 12:40:02,775 P61086 INFO Evaluation @epoch 1 - batch 2677: +2023-05-24 12:41:53,046 P61086 INFO [Metrics] AUC: 0.648849 - gAUC: 0.570943 +2023-05-24 12:41:53,047 P61086 INFO Save best model: monitor(max)=1.219792 +2023-05-24 12:41:53,417 P61086 INFO ************ Epoch=1 end ************ +2023-05-24 12:49:36,686 P61086 INFO Train loss: 0.202106 +2023-05-24 12:49:36,687 P61086 INFO Evaluation @epoch 2 - batch 2677: +2023-05-24 12:51:32,142 P61086 INFO [Metrics] AUC: 0.651651 - gAUC: 0.574003 +2023-05-24 12:51:32,143 P61086 INFO Save best model: monitor(max)=1.225654 +2023-05-24 12:51:32,709 P61086 INFO ************ Epoch=2 end ************ +2023-05-24 12:59:05,577 P61086 INFO Train loss: 0.200890 +2023-05-24 12:59:05,577 P61086 INFO Evaluation @epoch 3 - batch 2677: +2023-05-24 13:00:48,782 P61086 INFO [Metrics] AUC: 0.652411 - gAUC: 0.576770 +2023-05-24 13:00:48,784 P61086 INFO Save best model: monitor(max)=1.229181 +2023-05-24 13:00:49,354 P61086 INFO ************ Epoch=3 end ************ +2023-05-24 13:07:56,821 P61086 INFO Train loss: 0.200790 +2023-05-24 13:07:56,822 P61086 INFO Evaluation @epoch 4 - batch 2677: +2023-05-24 13:09:34,798 P61086 INFO [Metrics] AUC: 0.652257 - gAUC: 0.575510 +2023-05-24 13:09:34,799 P61086 INFO Monitor(max)=1.227767 STOP! +2023-05-24 13:09:34,800 P61086 INFO Reduce learning rate on plateau: 0.000100 +2023-05-24 13:09:34,917 P61086 INFO ************ Epoch=4 end ************ +2023-05-24 13:16:15,125 P61086 INFO Train loss: 0.185845 +2023-05-24 13:16:15,126 P61086 INFO Evaluation @epoch 5 - batch 2677: +2023-05-24 13:17:57,255 P61086 INFO [Metrics] AUC: 0.644109 - gAUC: 0.568829 +2023-05-24 13:17:57,257 P61086 INFO Monitor(max)=1.212938 STOP! +2023-05-24 13:17:57,257 P61086 INFO Reduce learning rate on plateau: 0.000010 +2023-05-24 13:17:57,257 P61086 INFO ********* Epoch==5 early stop ********* +2023-05-24 13:17:57,388 P61086 INFO Training finished. +2023-05-24 13:17:57,388 P61086 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/DMR_taobaoad_x1/taobaoad_x1_bf8c47ea/DMR_taobaoad_x1_014_62a4965f.model +2023-05-24 13:17:57,544 P61086 INFO ****** Validation evaluation ****** +2023-05-24 13:19:45,252 P61086 INFO [Metrics] gAUC: 0.576770 - AUC: 0.652411 - logloss: 0.193055 +2023-05-24 13:19:45,418 P61086 INFO ******** Test evaluation ******** +2023-05-24 13:19:45,418 P61086 INFO Loading data... +2023-05-24 13:19:45,418 P61086 INFO Loading data from h5: ../data/Taobao/taobaoad_x1_bf8c47ea/test.h5 +2023-05-24 13:19:49,019 P61086 INFO Test samples: total/3099515, blocks/1 +2023-05-24 13:19:49,019 P61086 INFO Loading test data done. +2023-05-24 13:21:35,838 P61086 INFO [Metrics] gAUC: 0.576770 - AUC: 0.652411 - logloss: 0.193055 diff --git a/ranking/ctr/DMR/DMR_taobaoad_x1/DMR_taobaoad_x1_tuner_config_01.csv b/ranking/ctr/DMR/DMR_taobaoad_x1/DMR_taobaoad_x1_tuner_config_01.csv new file mode 100644 index 0000000..7c6deaf --- /dev/null +++ b/ranking/ctr/DMR/DMR_taobaoad_x1/DMR_taobaoad_x1_tuner_config_01.csv @@ -0,0 +1,16 @@ + 20230524-132135,[command] python run_expid.py --config Taobao/DMR_taobaoad_x1/DMR_taobaoad_x1_tuner_config_01 --expid DMR_taobaoad_x1_014_62a4965f --gpu 2,[exp_id] DMR_taobaoad_x1_014_62a4965f,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.576770 - AUC: 0.652411 - logloss: 0.193055,[test] gAUC: 0.576770 - AUC: 0.652411 - logloss: 0.193055 + 20230524-132615,[command] python run_expid.py --config Taobao/DMR_taobaoad_x1/DMR_taobaoad_x1_tuner_config_01 --expid DMR_taobaoad_x1_009_a1d77802 --gpu 4,[exp_id] DMR_taobaoad_x1_009_a1d77802,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.576085 - AUC: 0.652233 - logloss: 0.192671,[test] gAUC: 0.576085 - AUC: 0.652233 - logloss: 0.192671 + 20230524-120717,[command] python run_expid.py --config Taobao/DMR_taobaoad_x1/DMR_taobaoad_x1_tuner_config_01 --expid DMR_taobaoad_x1_006_2393eaf9 --gpu 5,[exp_id] DMR_taobaoad_x1_006_2393eaf9,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.576053 - AUC: 0.651847 - logloss: 0.193309,[test] gAUC: 0.576053 - AUC: 0.651847 - logloss: 0.193309 + 20230524-124642,[command] python run_expid.py --config Taobao/DMR_taobaoad_x1/DMR_taobaoad_x1_tuner_config_01 --expid DMR_taobaoad_x1_001_abbaae36 --gpu 0,[exp_id] DMR_taobaoad_x1_001_abbaae36,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.575801 - AUC: 0.651945 - logloss: 0.192790,[test] gAUC: 0.575801 - AUC: 0.651945 - logloss: 0.192790 + 20230524-115726,[command] python run_expid.py --config Taobao/DMR_taobaoad_x1/DMR_taobaoad_x1_tuner_config_01 --expid DMR_taobaoad_x1_005_0e1da152 --gpu 4,[exp_id] DMR_taobaoad_x1_005_0e1da152,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.575653 - AUC: 0.652266 - logloss: 0.192072,[test] gAUC: 0.575653 - AUC: 0.652266 - logloss: 0.192072 + 20230524-125936,[command] python run_expid.py --config Taobao/DMR_taobaoad_x1/DMR_taobaoad_x1_tuner_config_01 --expid DMR_taobaoad_x1_013_25c6bc20 --gpu 1,[exp_id] DMR_taobaoad_x1_013_25c6bc20,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.575254 - AUC: 0.652059 - logloss: 0.192108,[test] gAUC: 0.575254 - AUC: 0.652059 - logloss: 0.192108 + 20230524-121820,[command] python run_expid.py --config Taobao/DMR_taobaoad_x1/DMR_taobaoad_x1_tuner_config_01 --expid DMR_taobaoad_x1_002_1aea358a --gpu 1,[exp_id] DMR_taobaoad_x1_002_1aea358a,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.574659 - AUC: 0.652752 - logloss: 0.192246,[test] gAUC: 0.574659 - AUC: 0.652752 - logloss: 0.192246 + 20230524-130831,[command] python run_expid.py --config Taobao/DMR_taobaoad_x1/DMR_taobaoad_x1_tuner_config_01 --expid DMR_taobaoad_x1_010_ae1c14cd --gpu 7,[exp_id] DMR_taobaoad_x1_010_ae1c14cd,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.574311 - AUC: 0.652534 - logloss: 0.192263,[test] gAUC: 0.574311 - AUC: 0.652534 - logloss: 0.192263 + 20230524-132158,[command] python run_expid.py --config Taobao/DMR_taobaoad_x1/DMR_taobaoad_x1_tuner_config_01 --expid DMR_taobaoad_x1_012_62a4965f --gpu 6,[exp_id] DMR_taobaoad_x1_012_62a4965f,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.573928 - AUC: 0.649950 - logloss: 0.193054,[test] gAUC: 0.573928 - AUC: 0.649950 - logloss: 0.193054 + 20230524-123202,[command] python run_expid.py --config Taobao/DMR_taobaoad_x1/DMR_taobaoad_x1_tuner_config_01 --expid DMR_taobaoad_x1_003_0e1da152 --gpu 2,[exp_id] DMR_taobaoad_x1_003_0e1da152,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.573805 - AUC: 0.650051 - logloss: 0.192758,[test] gAUC: 0.573805 - AUC: 0.650051 - logloss: 0.192758 + 20230524-124630,[command] python run_expid.py --config Taobao/DMR_taobaoad_x1/DMR_taobaoad_x1_tuner_config_01 --expid DMR_taobaoad_x1_004_2393eaf9 --gpu 3,[exp_id] DMR_taobaoad_x1_004_2393eaf9,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.573509 - AUC: 0.650772 - logloss: 0.193057,[test] gAUC: 0.573509 - AUC: 0.650772 - logloss: 0.193057 + 20230524-132135,[command] python run_expid.py --config Taobao/DMR_taobaoad_x1/DMR_taobaoad_x1_tuner_config_01 --expid DMR_taobaoad_x1_011_25c6bc20 --gpu 5,[exp_id] DMR_taobaoad_x1_011_25c6bc20,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.573387 - AUC: 0.650362 - logloss: 0.192726,[test] gAUC: 0.573387 - AUC: 0.650362 - logloss: 0.192726 + 20230524-120711,[command] python run_expid.py --config Taobao/DMR_taobaoad_x1/DMR_taobaoad_x1_tuner_config_01 --expid DMR_taobaoad_x1_008_5ef3fd79 --gpu 7,[exp_id] DMR_taobaoad_x1_008_5ef3fd79,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.573093 - AUC: 0.649415 - logloss: 0.193208,[test] gAUC: 0.573093 - AUC: 0.649415 - logloss: 0.193208 + 20230524-120719,[command] python run_expid.py --config Taobao/DMR_taobaoad_x1/DMR_taobaoad_x1_tuner_config_01 --expid DMR_taobaoad_x1_007_1e7b884e --gpu 6,[exp_id] DMR_taobaoad_x1_007_1e7b884e,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.573093 - AUC: 0.649415 - logloss: 0.193208,[test] gAUC: 0.573093 - AUC: 0.649415 - logloss: 0.193208 + 20230524-133301,[command] python run_expid.py --config Taobao/DMR_taobaoad_x1/DMR_taobaoad_x1_tuner_config_01 --expid DMR_taobaoad_x1_015_26137024 --gpu 3,[exp_id] DMR_taobaoad_x1_015_26137024,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.572946 - AUC: 0.649253 - logloss: 0.193191,[test] gAUC: 0.572946 - AUC: 0.649253 - logloss: 0.193191 + 20230524-133304,[command] python run_expid.py --config Taobao/DMR_taobaoad_x1/DMR_taobaoad_x1_tuner_config_01 --expid DMR_taobaoad_x1_016_21049425 --gpu 0,[exp_id] DMR_taobaoad_x1_016_21049425,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.572946 - AUC: 0.649253 - logloss: 0.193191,[test] gAUC: 0.572946 - AUC: 0.649253 - logloss: 0.193191 diff --git a/ranking/ctr/DMR/DMR_taobaoad_x1/DMR_taobaoad_x1_tuner_config_01.yaml b/ranking/ctr/DMR/DMR_taobaoad_x1/DMR_taobaoad_x1_tuner_config_01.yaml new file mode 100644 index 0000000..396bea6 --- /dev/null +++ b/ranking/ctr/DMR/DMR_taobaoad_x1/DMR_taobaoad_x1_tuner_config_01.yaml @@ -0,0 +1,54 @@ +base_config: ../model_zoo/DMR/config/ +base_expid: DMR_default +dataset_id: taobaoad_x1 + +dataset_config: + taobaoad_x1: + data_root: ../data/Taobao/ + data_format: csv + train_data: ../data/Taobao/TaobaoAd_x1/train.csv + valid_data: ../data/Taobao/TaobaoAd_x1/test.csv + test_data: ../data/Taobao/TaobaoAd_x1/test.csv + min_categr_count: 10 + feature_cols: + - {name: "group_id", active: True, dtype: int, type: meta, preprocess: "copy_from(userid)", remap: False} + - {name: ["userid","cms_segid","cms_group_id","final_gender_code","age_level","pvalue_level","shopping_level", + "occupation","new_user_class_level","adgroup_id","cate_id","campaign_id","customer","brand","pid","btag"], + active: True, dtype: str, type: categorical} + - {name: price, active: True, dtype: float, type: numeric} + - {name: cate_his, active: True, dtype: str, splitter: ^, type: sequence, max_len: 50, padding: post, + share_embedding: cate_id} + - {name: brand_his, active: True, dtype: str, splitter: ^, type: sequence, max_len: 50, padding: post, + share_embedding: brand} + - {name: btag_his, active: True, dtype: str, splitter: ^, type: sequence, max_len: 50, padding: post, + share_embedding: btag} + label_col: {name: clk, dtype: float} + +tuner_space: + model_root: './checkpoints/DMR_taobaoad_x1/' + feature_specs: [[ + {name: [cate_his, brand_his, btag_his], feature_encoder: null} + ]] + embedding_dim: 32 + dnn_hidden_units: [[512, 256, 128]] + dnn_activations: ReLU + target_field: [!!python/tuple [cate_id, brand, btag]] + sequence_field: [!!python/tuple [cate_his, brand_his, btag_his]] + attention_hidden_units: [[512, 256]] + attention_activation: ReLU + attention_dropout: [0.1, 0.2] + use_pos_emb: [True, False] + pos_emb_dim: [8, 64] + enable_sum_pooling: False + enable_u2i_rel: [True, False] + enable_i2i_rel: False + embedding_regularizer: 5.e-6 + net_dropout: 0.1 + batch_norm: False + learning_rate: 1.e-3 + batch_size: 8192 + seed: 20222023 + group_id: group_id + metrics: [[gAUC, AUC, logloss]] + monitor: {"gAUC": 1, "AUC": 1} + diff --git a/ranking/ctr/DMR/DMR_taobaoad_x1/DMR_taobaoad_x1_tuner_config_01/dataset_config.yaml b/ranking/ctr/DMR/DMR_taobaoad_x1/DMR_taobaoad_x1_tuner_config_01/dataset_config.yaml new file mode 100644 index 0000000..451745d --- /dev/null +++ b/ranking/ctr/DMR/DMR_taobaoad_x1/DMR_taobaoad_x1_tuner_config_01/dataset_config.yaml @@ -0,0 +1,24 @@ +taobaoad_x1_bf8c47ea: + data_format: csv + data_root: ../data/Taobao/ + feature_cols: + - {active: true, dtype: int, name: group_id, preprocess: copy_from(userid), remap: false, + type: meta} + - active: true + dtype: str + name: [userid, cms_segid, cms_group_id, final_gender_code, age_level, pvalue_level, + shopping_level, occupation, new_user_class_level, adgroup_id, cate_id, + campaign_id, customer, brand, pid, btag] + type: categorical + - {active: true, dtype: float, name: price, type: numeric} + - {active: true, dtype: str, max_len: 50, name: cate_his, padding: post, share_embedding: cate_id, + splitter: ^, type: sequence} + - {active: true, dtype: str, max_len: 50, name: brand_his, padding: post, share_embedding: brand, + splitter: ^, type: sequence} + - {active: true, dtype: str, max_len: 50, name: btag_his, padding: post, share_embedding: btag, + splitter: ^, type: sequence} + label_col: {dtype: float, name: clk} + min_categr_count: 10 + test_data: ../data/Taobao/TaobaoAd_x1/test.csv + train_data: ../data/Taobao/TaobaoAd_x1/train.csv + valid_data: ../data/Taobao/TaobaoAd_x1/test.csv diff --git a/ranking/ctr/DMR/DMR_taobaoad_x1/DMR_taobaoad_x1_tuner_config_01/model_config.yaml b/ranking/ctr/DMR/DMR_taobaoad_x1/DMR_taobaoad_x1_tuner_config_01/model_config.yaml new file mode 100644 index 0000000..3c4b55e --- /dev/null +++ b/ranking/ctr/DMR/DMR_taobaoad_x1/DMR_taobaoad_x1_tuner_config_01/model_config.yaml @@ -0,0 +1,784 @@ +DMR_taobaoad_x1_001_abbaae36: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + context_field: null + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_features: null + use_pos_emb: true + verbose: 1 +DMR_taobaoad_x1_002_1aea358a: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + context_field: null + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 64 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_features: null + use_pos_emb: true + verbose: 1 +DMR_taobaoad_x1_003_0e1da152: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + context_field: null + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_features: null + use_pos_emb: false + verbose: 1 +DMR_taobaoad_x1_004_2393eaf9: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + context_field: null + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 64 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_features: null + use_pos_emb: false + verbose: 1 +DMR_taobaoad_x1_005_0e1da152: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + context_field: null + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_features: null + use_pos_emb: true + verbose: 1 +DMR_taobaoad_x1_006_2393eaf9: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + context_field: null + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 64 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_features: null + use_pos_emb: true + verbose: 1 +DMR_taobaoad_x1_007_1e7b884e: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + context_field: null + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_features: null + use_pos_emb: false + verbose: 1 +DMR_taobaoad_x1_008_5ef3fd79: + attention_activation: ReLU + attention_dropout: 0.1 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + context_field: null + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 64 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_features: null + use_pos_emb: false + verbose: 1 +DMR_taobaoad_x1_009_a1d77802: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + context_field: null + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_features: null + use_pos_emb: true + verbose: 1 +DMR_taobaoad_x1_010_ae1c14cd: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + context_field: null + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 64 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_features: null + use_pos_emb: true + verbose: 1 +DMR_taobaoad_x1_011_25c6bc20: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + context_field: null + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_features: null + use_pos_emb: false + verbose: 1 +DMR_taobaoad_x1_012_62a4965f: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + context_field: null + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: true + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 64 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_features: null + use_pos_emb: false + verbose: 1 +DMR_taobaoad_x1_013_25c6bc20: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + context_field: null + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_features: null + use_pos_emb: true + verbose: 1 +DMR_taobaoad_x1_014_62a4965f: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + context_field: null + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 64 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_features: null + use_pos_emb: true + verbose: 1 +DMR_taobaoad_x1_015_26137024: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + context_field: null + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 8 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_features: null + use_pos_emb: false + verbose: 1 +DMR_taobaoad_x1_016_21049425: + attention_activation: ReLU + attention_dropout: 0.2 + attention_hidden_units: [512, 256] + aux_loss_beta: 0 + batch_norm: false + batch_size: 8192 + bn_only_once: false + context_field: null + dataset_id: taobaoad_x1_bf8c47ea + debug_mode: false + dnn_activations: ReLU + dnn_hidden_units: [512, 256, 128] + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + enable_i2i_rel: false + enable_sum_pooling: false + enable_u2i_rel: false + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - feature_encoder: null + name: [cate_his, brand_his, btag_his] + group_id: group_id + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: DMR + model_root: ./checkpoints/DMR_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + neg_seq_field: null + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + pos_emb_dim: 64 + save_best_only: true + seed: 20222023 + sequence_field: !!python/tuple [cate_his, brand_his, btag_his] + shuffle: true + target_field: !!python/tuple [cate_id, brand, btag] + task: binary_classification + use_features: null + use_pos_emb: false + verbose: 1 diff --git a/ranking/ctr/DMR/DMR_taobaoad_x1/README.md b/ranking/ctr/DMR/DMR_taobaoad_x1/README.md new file mode 100644 index 0000000..33072f1 --- /dev/null +++ b/ranking/ctr/DMR/DMR_taobaoad_x1/README.md @@ -0,0 +1,206 @@ +## DMR_taobaoad_x1 + +A hands-on guide to run the DMR model on the TaobaoAd_x1 dataset. + +Author: [BARS Benchmark](https://github.com/reczoo/BARS/blob/main/CITATION) + + +| [Environments](#Environments) | [Dataset](#Dataset) | [Code](#Code) | [Results](#Results) | [Logs](#Logs) | +|:-----------------------------:|:-----------:|:--------:|:--------:|-------| +### Environments ++ Hardware + + ```python + CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz + GPU: Tesla V100 32G + RAM: 755G + + ``` + ++ Software + + ```python + cuda: 10.2 + python: 3.7.10 + pytorch: 1.11.0 + pandas: 1.1.5 + numpy: 1.19.5 + scipy: 1.5.2 + sklearn: 0.22.1 + pyyaml: 6.0 + h5py: 2.8.0 + tqdm: 4.64.0 + fuxictr: 2.0.3 + + ``` + +### Dataset +Please refer to [TaobaoAd_x1](https://github.com/reczoo/Datasets/tree/main/Taobao/TaobaoAd_x1) to get the dataset details. + +### Code + +We use the [DMR](https://github.com/reczoo/FuxiCTR/tree/v2.0.3/model_zoo/DMR) model code from [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/tree/v2.0.3) for this experiment. + +Running steps: + +1. Download [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/archive/refs/tags/v2.0.3.zip) and install all the dependencies listed in the [environments](#environments). + + ```bash + pip uninstall fuxictr + pip install fuxictr==2.0.3 + ``` + +2. Create a data directory and put the downloaded data files in `../data/Taobao/TaobaoAd_x1`. + +3. Both `dataset_config.yaml` and `model_config.yaml` files are available in [DMR_taobaoad_x1_tuner_config_01](./DMR_taobaoad_x1_tuner_config_01). Please make sure that the data paths in `dataset_config.yaml` are correctly set. + +4. Run the following script to start training and evaluation. + + ```bash + cd FuxiCTR/model_zoo/DMR + nohup python run_expid.py --config YOUR_PATH/DMR/DMR_taobaoad_x1_tuner_config_01 --expid DMR_taobaoad_x1_014_62a4965f --gpu 0 > run.log & + tail -f run.log + ``` + +### Results + +| gAUC | AUC | logloss | +|:--------------------:|:--------------------:|:--------------------:| +| 0.576770 | 0.652411 | 0.193055 | + + +### Logs +```python +2023-05-24 12:32:05,603 P61086 INFO Params: { + "attention_activation": "ReLU", + "attention_dropout": "0.2", + "attention_hidden_units": "[512, 256]", + "aux_loss_beta": "0", + "batch_norm": "False", + "batch_size": "8192", + "bn_only_once": "False", + "context_field": "None", + "data_format": "csv", + "data_root": "../data/Taobao/", + "dataset_id": "taobaoad_x1_bf8c47ea", + "debug_mode": "False", + "dnn_activations": "ReLU", + "dnn_hidden_units": "[512, 256, 128]", + "early_stop_patience": "2", + "embedding_dim": "32", + "embedding_regularizer": "5e-06", + "enable_i2i_rel": "False", + "enable_sum_pooling": "False", + "enable_u2i_rel": "False", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'group_id', 'preprocess': 'copy_from(userid)', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': ['userid', 'cms_segid', 'cms_group_id', 'final_gender_code', 'age_level', 'pvalue_level', 'shopping_level', 'occupation', 'new_user_class_level', 'adgroup_id', 'cate_id', 'campaign_id', 'customer', 'brand', 'pid', 'btag'], 'type': 'categorical'}, {'active': True, 'dtype': 'float', 'name': 'price', 'type': 'numeric'}, {'active': True, 'dtype': 'str', 'max_len': 50, 'name': 'cate_his', 'padding': 'post', 'share_embedding': 'cate_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 50, 'name': 'brand_his', 'padding': 'post', 'share_embedding': 'brand', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 50, 'name': 'btag_his', 'padding': 'post', 'share_embedding': 'btag', 'splitter': '^', 'type': 'sequence'}]", + "feature_config": "None", + "feature_specs": "[{'feature_encoder': None, 'name': ['cate_his', 'brand_his', 'btag_his']}]", + "gpu": "2", + "group_id": "group_id", + "label_col": "{'dtype': 'float', 'name': 'clk'}", + "learning_rate": "0.001", + "loss": "binary_crossentropy", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "10", + "model": "DMR", + "model_id": "DMR_taobaoad_x1_014_62a4965f", + "model_root": "./checkpoints/DMR_taobaoad_x1/", + "monitor": "{'AUC': 1, 'gAUC': 1}", + "monitor_mode": "max", + "neg_seq_field": "None", + "net_dropout": "0.1", + "net_regularizer": "0", + "num_workers": "3", + "optimizer": "adam", + "pickle_feature_encoder": "True", + "pos_emb_dim": "64", + "save_best_only": "True", + "seed": "20222023", + "sequence_field": "('cate_his', 'brand_his', 'btag_his')", + "shuffle": "True", + "target_field": "('cate_id', 'brand', 'btag')", + "task": "binary_classification", + "test_data": "../data/Taobao/TaobaoAd_x1/test.csv", + "train_data": "../data/Taobao/TaobaoAd_x1/train.csv", + "use_features": "None", + "use_pos_emb": "True", + "valid_data": "../data/Taobao/TaobaoAd_x1/test.csv", + "verbose": "1" +} +2023-05-24 12:32:05,604 P61086 INFO Set up feature processor... +2023-05-24 12:32:05,604 P61086 WARNING Skip rebuilding ../data/Taobao/taobaoad_x1_bf8c47ea/feature_map.json. Please delete it manually if rebuilding is required. +2023-05-24 12:32:05,604 P61086 INFO Load feature_map from json: ../data/Taobao/taobaoad_x1_bf8c47ea/feature_map.json +2023-05-24 12:32:05,605 P61086 INFO Set column index... +2023-05-24 12:32:05,605 P61086 INFO Feature specs: { + "adgroup_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 246850, 'vocab_size': 246851}", + "age_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 8, 'vocab_size': 9}", + "brand": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 308869, 'vocab_size': 308870}", + "brand_his": "{'source': '', 'type': 'sequence', 'feature_encoder': None, 'share_embedding': 'brand', 'padding_idx': 0, 'oov_idx': 308869, 'vocab_size': 308870, 'max_len': 50}", + "btag": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 5, 'vocab_size': 6}", + "btag_his": "{'source': '', 'type': 'sequence', 'feature_encoder': None, 'share_embedding': 'btag', 'padding_idx': 0, 'oov_idx': 5, 'vocab_size': 6, 'max_len': 50}", + "campaign_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 191770, 'vocab_size': 191771}", + "cate_his": "{'source': '', 'type': 'sequence', 'feature_encoder': None, 'share_embedding': 'cate_id', 'padding_idx': 0, 'oov_idx': 11329, 'vocab_size': 11330, 'max_len': 50}", + "cate_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 11329, 'vocab_size': 11330}", + "cms_group_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 14, 'vocab_size': 15}", + "cms_segid": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 98, 'vocab_size': 99}", + "customer": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 132135, 'vocab_size': 132136}", + "final_gender_code": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 3, 'vocab_size': 4}", + "group_id": "{'type': 'meta'}", + "new_user_class_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 6, 'vocab_size': 7}", + "occupation": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 3, 'vocab_size': 4}", + "pid": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 3, 'vocab_size': 4}", + "price": "{'source': '', 'type': 'numeric'}", + "pvalue_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 5, 'vocab_size': 6}", + "shopping_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 4, 'vocab_size': 5}", + "userid": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 403957, 'vocab_size': 403958}" +} +2023-05-24 12:32:09,496 P61086 INFO Total number of parameters: 52528930. +2023-05-24 12:32:09,497 P61086 INFO Loading data... +2023-05-24 12:32:09,497 P61086 INFO Loading data from h5: ../data/Taobao/taobaoad_x1_bf8c47ea/train.h5 +2023-05-24 12:32:35,236 P61086 INFO Train samples: total/21929911, blocks/1 +2023-05-24 12:32:35,237 P61086 INFO Loading data from h5: ../data/Taobao/taobaoad_x1_bf8c47ea/valid.h5 +2023-05-24 12:32:38,842 P61086 INFO Validation samples: total/3099515, blocks/1 +2023-05-24 12:32:38,842 P61086 INFO Loading train and validation data done. +2023-05-24 12:32:38,842 P61086 INFO Start training: 2677 batches/epoch +2023-05-24 12:32:38,842 P61086 INFO ************ Epoch=1 start ************ +2023-05-24 12:40:02,774 P61086 INFO Train loss: 0.205892 +2023-05-24 12:40:02,775 P61086 INFO Evaluation @epoch 1 - batch 2677: +2023-05-24 12:41:53,046 P61086 INFO [Metrics] AUC: 0.648849 - gAUC: 0.570943 +2023-05-24 12:41:53,047 P61086 INFO Save best model: monitor(max)=1.219792 +2023-05-24 12:41:53,417 P61086 INFO ************ Epoch=1 end ************ +2023-05-24 12:49:36,686 P61086 INFO Train loss: 0.202106 +2023-05-24 12:49:36,687 P61086 INFO Evaluation @epoch 2 - batch 2677: +2023-05-24 12:51:32,142 P61086 INFO [Metrics] AUC: 0.651651 - gAUC: 0.574003 +2023-05-24 12:51:32,143 P61086 INFO Save best model: monitor(max)=1.225654 +2023-05-24 12:51:32,709 P61086 INFO ************ Epoch=2 end ************ +2023-05-24 12:59:05,577 P61086 INFO Train loss: 0.200890 +2023-05-24 12:59:05,577 P61086 INFO Evaluation @epoch 3 - batch 2677: +2023-05-24 13:00:48,782 P61086 INFO [Metrics] AUC: 0.652411 - gAUC: 0.576770 +2023-05-24 13:00:48,784 P61086 INFO Save best model: monitor(max)=1.229181 +2023-05-24 13:00:49,354 P61086 INFO ************ Epoch=3 end ************ +2023-05-24 13:07:56,821 P61086 INFO Train loss: 0.200790 +2023-05-24 13:07:56,822 P61086 INFO Evaluation @epoch 4 - batch 2677: +2023-05-24 13:09:34,798 P61086 INFO [Metrics] AUC: 0.652257 - gAUC: 0.575510 +2023-05-24 13:09:34,799 P61086 INFO Monitor(max)=1.227767 STOP! +2023-05-24 13:09:34,800 P61086 INFO Reduce learning rate on plateau: 0.000100 +2023-05-24 13:09:34,917 P61086 INFO ************ Epoch=4 end ************ +2023-05-24 13:16:15,125 P61086 INFO Train loss: 0.185845 +2023-05-24 13:16:15,126 P61086 INFO Evaluation @epoch 5 - batch 2677: +2023-05-24 13:17:57,255 P61086 INFO [Metrics] AUC: 0.644109 - gAUC: 0.568829 +2023-05-24 13:17:57,257 P61086 INFO Monitor(max)=1.212938 STOP! +2023-05-24 13:17:57,257 P61086 INFO Reduce learning rate on plateau: 0.000010 +2023-05-24 13:17:57,257 P61086 INFO ********* Epoch==5 early stop ********* +2023-05-24 13:17:57,388 P61086 INFO Training finished. +2023-05-24 13:17:57,388 P61086 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/DMR_taobaoad_x1/taobaoad_x1_bf8c47ea/DMR_taobaoad_x1_014_62a4965f.model +2023-05-24 13:17:57,544 P61086 INFO ****** Validation evaluation ****** +2023-05-24 13:19:45,252 P61086 INFO [Metrics] gAUC: 0.576770 - AUC: 0.652411 - logloss: 0.193055 +2023-05-24 13:19:45,418 P61086 INFO ******** Test evaluation ******** +2023-05-24 13:19:45,418 P61086 INFO Loading data... +2023-05-24 13:19:45,418 P61086 INFO Loading data from h5: ../data/Taobao/taobaoad_x1_bf8c47ea/test.h5 +2023-05-24 13:19:49,019 P61086 INFO Test samples: total/3099515, blocks/1 +2023-05-24 13:19:49,019 P61086 INFO Loading test data done. +2023-05-24 13:21:35,838 P61086 INFO [Metrics] gAUC: 0.576770 - AUC: 0.652411 - logloss: 0.193055 + +``` diff --git a/ranking/ctr/DMR/DMR_taobaoad_x1/environments.txt b/ranking/ctr/DMR/DMR_taobaoad_x1/environments.txt new file mode 100644 index 0000000..a39d234 --- /dev/null +++ b/ranking/ctr/DMR/DMR_taobaoad_x1/environments.txt @@ -0,0 +1,17 @@ +[Hardware] +CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz +GPU: Tesla V100 32G +RAM: 755G + +[Software] +cuda: 10.2 +python: 3.7.10 +pytorch: 1.11.0 +pandas: 1.1.5 +numpy: 1.19.5 +scipy: 1.5.2 +sklearn: 0.22.1 +pyyaml: 6.0 +h5py: 2.8.0 +tqdm: 4.64.0 +fuxictr: 2.0.3 diff --git a/ranking/ctr/DMR/DMR_taobaoad_x1/results.csv b/ranking/ctr/DMR/DMR_taobaoad_x1/results.csv new file mode 100644 index 0000000..48a8ada --- /dev/null +++ b/ranking/ctr/DMR/DMR_taobaoad_x1/results.csv @@ -0,0 +1 @@ + 20230524-132135,[command] python run_expid.py --config Taobao/DMR_taobaoad_x1/DMR_taobaoad_x1_tuner_config_01 --expid DMR_taobaoad_x1_014_62a4965f --gpu 2,[exp_id] DMR_taobaoad_x1_014_62a4965f,[dataset_id] taobaoad_x1_bf8c47ea,[train] N.A.,[val] gAUC: 0.576770 - AUC: 0.652411 - logloss: 0.193055,[test] gAUC: 0.576770 - AUC: 0.652411 - logloss: 0.193055 diff --git a/ranking/ctr/PPNet/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_023_0b353410.log b/ranking/ctr/PPNet/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_023_0b353410.log new file mode 100644 index 0000000..c51e2f0 --- /dev/null +++ b/ranking/ctr/PPNet/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_023_0b353410.log @@ -0,0 +1,155 @@ +2023-06-01 15:07:09,673 P45816 INFO Params: { + "batch_norm": "True", + "batch_size": "1024", + "data_format": "csv", + "data_root": "../data/Amazon/", + "dataset_id": "amazonelectronics_x1_b7a43f49", + "debug_mode": "False", + "early_stop_patience": "2", + "embedding_dim": "64", + "embedding_regularizer": "0.005", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'user_id', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': 'item_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'name': 'cate_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'feature_encoder': 'layers.MaskedAveragePooling()', 'max_len': 100, 'name': 'item_history', 'share_embedding': 'item_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'feature_encoder': 'layers.MaskedAveragePooling()', 'max_len': 100, 'name': 'cate_history', 'share_embedding': 'cate_id', 'splitter': '^', 'type': 'sequence'}]", + "feature_config": "None", + "feature_specs": "None", + "gate_emb_dim": "32", + "gate_hidden_dim": "64", + "gate_priors": "['item_history']", + "gpu": "5", + "group_id": "user_id", + "hidden_activations": "ReLU", + "hidden_units": "[1024, 512, 256]", + "label_col": "{'dtype': 'float', 'name': 'label'}", + "learning_rate": "0.0005", + "loss": "binary_crossentropy", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "1", + "model": "PPNet", + "model_id": "PPNet_amazonelectronics_x1_023_0b353410", + "model_root": "./checkpoints/PPNet_amazonelectronics_x1/", + "monitor": "{'AUC': 1, 'gAUC': 1}", + "monitor_mode": "max", + "net_dropout": "0", + "net_regularizer": "0", + "num_workers": "3", + "optimizer": "adam", + "pickle_feature_encoder": "True", + "save_best_only": "True", + "seed": "20222023", + "shuffle": "True", + "task": "binary_classification", + "test_data": "../data/Amazon/AmazonElectronics_x1/test.csv", + "train_data": "../data/Amazon/AmazonElectronics_x1/train.csv", + "use_features": "None", + "valid_data": "../data/Amazon/AmazonElectronics_x1/test.csv", + "verbose": "1" +} +2023-06-01 15:07:09,673 P45816 INFO Set up feature processor... +2023-06-01 15:07:09,674 P45816 WARNING Skip rebuilding ../data/Amazon/amazonelectronics_x1_b7a43f49/feature_map.json. Please delete it manually if rebuilding is required. +2023-06-01 15:07:09,674 P45816 INFO Load feature_map from json: ../data/Amazon/amazonelectronics_x1_b7a43f49/feature_map.json +2023-06-01 15:07:09,674 P45816 INFO Set column index... +2023-06-01 15:07:09,674 P45816 INFO Feature specs: { + "cate_history": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'cate_id', 'padding_idx': 0, 'oov_idx': 802, 'vocab_size': 803, 'max_len': 100}", + "cate_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 802, 'vocab_size': 803}", + "item_history": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'item_id', 'padding_idx': 0, 'oov_idx': 63002, 'vocab_size': 63003, 'max_len': 100}", + "item_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 63002, 'vocab_size': 63003}", + "user_id": "{'type': 'meta'}" +} +2023-06-01 15:07:15,859 P45816 INFO Total number of parameters: 7194785. +2023-06-01 15:07:15,859 P45816 INFO Loading data... +2023-06-01 15:07:15,859 P45816 INFO Loading data from h5: ../data/Amazon/amazonelectronics_x1_b7a43f49/train.h5 +2023-06-01 15:07:19,785 P45816 INFO Train samples: total/2608764, blocks/1 +2023-06-01 15:07:19,785 P45816 INFO Loading data from h5: ../data/Amazon/amazonelectronics_x1_b7a43f49/valid.h5 +2023-06-01 15:07:20,277 P45816 INFO Validation samples: total/384806, blocks/1 +2023-06-01 15:07:20,277 P45816 INFO Loading train and validation data done. +2023-06-01 15:07:20,277 P45816 INFO Start training: 2548 batches/epoch +2023-06-01 15:07:20,277 P45816 INFO ************ Epoch=1 start ************ +2023-06-01 15:15:38,685 P45816 INFO Train loss: 0.638819 +2023-06-01 15:15:38,685 P45816 INFO Evaluation @epoch 1 - batch 2548: +2023-06-01 15:18:04,118 P45816 INFO [Metrics] AUC: 0.835712 - gAUC: 0.834478 +2023-06-01 15:18:04,119 P45816 INFO Save best model: monitor(max)=1.670190 +2023-06-01 15:18:04,300 P45816 INFO ************ Epoch=1 end ************ +2023-06-01 15:25:58,548 P45816 INFO Train loss: 0.591881 +2023-06-01 15:25:58,558 P45816 INFO Evaluation @epoch 2 - batch 2548: +2023-06-01 15:28:17,785 P45816 INFO [Metrics] AUC: 0.846837 - gAUC: 0.845397 +2023-06-01 15:28:17,786 P45816 INFO Save best model: monitor(max)=1.692235 +2023-06-01 15:28:17,966 P45816 INFO ************ Epoch=2 end ************ +2023-06-01 15:34:54,539 P45816 INFO Train loss: 0.576393 +2023-06-01 15:34:54,540 P45816 INFO Evaluation @epoch 3 - batch 2548: +2023-06-01 15:36:54,513 P45816 INFO [Metrics] AUC: 0.852579 - gAUC: 0.849971 +2023-06-01 15:36:54,514 P45816 INFO Save best model: monitor(max)=1.702550 +2023-06-01 15:36:54,682 P45816 INFO ************ Epoch=3 end ************ +2023-06-01 15:42:27,432 P45816 INFO Train loss: 0.569779 +2023-06-01 15:42:27,433 P45816 INFO Evaluation @epoch 4 - batch 2548: +2023-06-01 15:44:06,789 P45816 INFO [Metrics] AUC: 0.854074 - gAUC: 0.852149 +2023-06-01 15:44:06,791 P45816 INFO Save best model: monitor(max)=1.706223 +2023-06-01 15:44:06,942 P45816 INFO ************ Epoch=4 end ************ +2023-06-01 15:49:17,545 P45816 INFO Train loss: 0.566076 +2023-06-01 15:49:17,546 P45816 INFO Evaluation @epoch 5 - batch 2548: +2023-06-01 15:50:53,414 P45816 INFO [Metrics] AUC: 0.854454 - gAUC: 0.852533 +2023-06-01 15:50:53,415 P45816 INFO Save best model: monitor(max)=1.706988 +2023-06-01 15:50:53,576 P45816 INFO ************ Epoch=5 end ************ +2023-06-01 15:55:36,155 P45816 INFO Train loss: 0.564237 +2023-06-01 15:55:36,155 P45816 INFO Evaluation @epoch 6 - batch 2548: +2023-06-01 15:57:05,092 P45816 INFO [Metrics] AUC: 0.855354 - gAUC: 0.854503 +2023-06-01 15:57:05,093 P45816 INFO Save best model: monitor(max)=1.709857 +2023-06-01 15:57:05,240 P45816 INFO ************ Epoch=6 end ************ +2023-06-01 16:01:48,854 P45816 INFO Train loss: 0.564162 +2023-06-01 16:01:48,859 P45816 INFO Evaluation @epoch 7 - batch 2548: +2023-06-01 16:03:16,675 P45816 INFO [Metrics] AUC: 0.855684 - gAUC: 0.854337 +2023-06-01 16:03:16,676 P45816 INFO Save best model: monitor(max)=1.710021 +2023-06-01 16:03:16,840 P45816 INFO ************ Epoch=7 end ************ +2023-06-01 16:07:57,635 P45816 INFO Train loss: 0.564687 +2023-06-01 16:07:57,635 P45816 INFO Evaluation @epoch 8 - batch 2548: +2023-06-01 16:09:24,289 P45816 INFO [Metrics] AUC: 0.856126 - gAUC: 0.854072 +2023-06-01 16:09:24,290 P45816 INFO Save best model: monitor(max)=1.710198 +2023-06-01 16:09:24,454 P45816 INFO ************ Epoch=8 end ************ +2023-06-01 16:13:41,197 P45816 INFO Train loss: 0.568022 +2023-06-01 16:13:41,198 P45816 INFO Evaluation @epoch 9 - batch 2548: +2023-06-01 16:15:04,923 P45816 INFO [Metrics] AUC: 0.859547 - gAUC: 0.858126 +2023-06-01 16:15:04,925 P45816 INFO Save best model: monitor(max)=1.717673 +2023-06-01 16:15:05,073 P45816 INFO ************ Epoch=9 end ************ +2023-06-01 16:19:14,946 P45816 INFO Train loss: 0.573383 +2023-06-01 16:19:14,947 P45816 INFO Evaluation @epoch 10 - batch 2548: +2023-06-01 16:20:40,016 P45816 INFO [Metrics] AUC: 0.857831 - gAUC: 0.855096 +2023-06-01 16:20:40,017 P45816 INFO Monitor(max)=1.712927 STOP! +2023-06-01 16:20:40,017 P45816 INFO Reduce learning rate on plateau: 0.000050 +2023-06-01 16:20:40,106 P45816 INFO ************ Epoch=10 end ************ +2023-06-01 16:24:44,738 P45816 INFO Train loss: 0.470273 +2023-06-01 16:24:44,738 P45816 INFO Evaluation @epoch 11 - batch 2548: +2023-06-01 16:26:08,739 P45816 INFO [Metrics] AUC: 0.877104 - gAUC: 0.874695 +2023-06-01 16:26:08,740 P45816 INFO Save best model: monitor(max)=1.751799 +2023-06-01 16:26:08,898 P45816 INFO ************ Epoch=11 end ************ +2023-06-01 16:30:03,547 P45816 INFO Train loss: 0.421339 +2023-06-01 16:30:03,547 P45816 INFO Evaluation @epoch 12 - batch 2548: +2023-06-01 16:31:18,982 P45816 INFO [Metrics] AUC: 0.881220 - gAUC: 0.879643 +2023-06-01 16:31:18,983 P45816 INFO Save best model: monitor(max)=1.760863 +2023-06-01 16:31:19,131 P45816 INFO ************ Epoch=12 end ************ +2023-06-01 16:33:48,819 P45816 INFO Train loss: 0.400627 +2023-06-01 16:33:48,820 P45816 INFO Evaluation @epoch 13 - batch 2548: +2023-06-01 16:34:34,062 P45816 INFO [Metrics] AUC: 0.881667 - gAUC: 0.879690 +2023-06-01 16:34:34,063 P45816 INFO Save best model: monitor(max)=1.761357 +2023-06-01 16:34:34,212 P45816 INFO ************ Epoch=13 end ************ +2023-06-01 16:35:31,254 P45816 INFO Train loss: 0.387298 +2023-06-01 16:35:31,254 P45816 INFO Evaluation @epoch 14 - batch 2548: +2023-06-01 16:36:09,935 P45816 INFO [Metrics] AUC: 0.880315 - gAUC: 0.878120 +2023-06-01 16:36:09,936 P45816 INFO Monitor(max)=1.758436 STOP! +2023-06-01 16:36:09,936 P45816 INFO Reduce learning rate on plateau: 0.000005 +2023-06-01 16:36:10,017 P45816 INFO ************ Epoch=14 end ************ +2023-06-01 16:36:48,874 P45816 INFO Train loss: 0.332448 +2023-06-01 16:36:48,875 P45816 INFO Evaluation @epoch 15 - batch 2548: +2023-06-01 16:37:26,805 P45816 INFO [Metrics] AUC: 0.877621 - gAUC: 0.875730 +2023-06-01 16:37:26,806 P45816 INFO Monitor(max)=1.753351 STOP! +2023-06-01 16:37:26,807 P45816 INFO Reduce learning rate on plateau: 0.000001 +2023-06-01 16:37:26,807 P45816 INFO ********* Epoch==15 early stop ********* +2023-06-01 16:37:26,887 P45816 INFO Training finished. +2023-06-01 16:37:26,887 P45816 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/PPNet_amazonelectronics_x1/amazonelectronics_x1_b7a43f49/PPNet_amazonelectronics_x1_023_0b353410.model +2023-06-01 16:37:26,920 P45816 INFO ****** Validation evaluation ****** +2023-06-01 16:38:04,651 P45816 INFO [Metrics] gAUC: 0.879690 - AUC: 0.881667 - logloss: 0.439829 +2023-06-01 16:38:04,730 P45816 INFO ******** Test evaluation ******** +2023-06-01 16:38:04,730 P45816 INFO Loading data... +2023-06-01 16:38:04,731 P45816 INFO Loading data from h5: ../data/Amazon/amazonelectronics_x1_b7a43f49/test.h5 +2023-06-01 16:38:05,112 P45816 INFO Test samples: total/384806, blocks/1 +2023-06-01 16:38:05,112 P45816 INFO Loading test data done. +2023-06-01 16:38:41,506 P45816 INFO [Metrics] gAUC: 0.879690 - AUC: 0.881667 - logloss: 0.439829 diff --git a/ranking/ctr/PPNet/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03.csv b/ranking/ctr/PPNet/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03.csv new file mode 100644 index 0000000..7f688a8 --- /dev/null +++ b/ranking/ctr/PPNet/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03.csv @@ -0,0 +1,24 @@ + 20230601-163841,[command] python run_expid.py --config Amazon/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03 --expid PPNet_amazonelectronics_x1_023_0b353410 --gpu 5,[exp_id] PPNet_amazonelectronics_x1_023_0b353410,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.879690 - AUC: 0.881667 - logloss: 0.439829,[test] gAUC: 0.879690 - AUC: 0.881667 - logloss: 0.439829 + 20230601-155026,[command] python run_expid.py --config Amazon/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03 --expid PPNet_amazonelectronics_x1_001_22b6d1a8 --gpu 0,[exp_id] PPNet_amazonelectronics_x1_001_22b6d1a8,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.879279 - AUC: 0.881601 - logloss: 0.440321,[test] gAUC: 0.879279 - AUC: 0.881601 - logloss: 0.440321 + 20230601-153640,[command] python run_expid.py --config Amazon/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03 --expid PPNet_amazonelectronics_x1_002_09c8df60 --gpu 1,[exp_id] PPNet_amazonelectronics_x1_002_09c8df60,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.879009 - AUC: 0.880834 - logloss: 0.439764,[test] gAUC: 0.879009 - AUC: 0.880834 - logloss: 0.439764 + 20230601-163604,[command] python run_expid.py --config Amazon/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03 --expid PPNet_amazonelectronics_x1_024_967c2d72 --gpu 7,[exp_id] PPNet_amazonelectronics_x1_024_967c2d72,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.878942 - AUC: 0.881353 - logloss: 0.439361,[test] gAUC: 0.878942 - AUC: 0.881353 - logloss: 0.439361 + 20230601-163329,[command] python run_expid.py --config Amazon/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03 --expid PPNet_amazonelectronics_x1_022_cd7210f4 --gpu 3,[exp_id] PPNet_amazonelectronics_x1_022_cd7210f4,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.878256 - AUC: 0.880440 - logloss: 0.441094,[test] gAUC: 0.878256 - AUC: 0.880440 - logloss: 0.441094 + 20230601-163148,[command] python run_expid.py --config Amazon/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03 --expid PPNet_amazonelectronics_x1_019_5f63a13b --gpu 1,[exp_id] PPNet_amazonelectronics_x1_019_5f63a13b,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.878214 - AUC: 0.880956 - logloss: 0.440774,[test] gAUC: 0.878214 - AUC: 0.880956 - logloss: 0.440774 + 20230601-163606,[command] python run_expid.py --config Amazon/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03 --expid PPNet_amazonelectronics_x1_020_2ac6bb76 --gpu 3,[exp_id] PPNet_amazonelectronics_x1_020_2ac6bb76,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.878188 - AUC: 0.881005 - logloss: 0.440339,[test] gAUC: 0.878188 - AUC: 0.881005 - logloss: 0.440339 + 20230601-154108,[command] python run_expid.py --config Amazon/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03 --expid PPNet_amazonelectronics_x1_009_189355f2 --gpu 0,[exp_id] PPNet_amazonelectronics_x1_009_189355f2,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.878079 - AUC: 0.880595 - logloss: 0.440971,[test] gAUC: 0.878079 - AUC: 0.880595 - logloss: 0.440971 + 20230601-152757,[command] python run_expid.py --config Amazon/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03 --expid PPNet_amazonelectronics_x1_016_6df2cbf4 --gpu 7,[exp_id] PPNet_amazonelectronics_x1_016_6df2cbf4,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.878016 - AUC: 0.880582 - logloss: 0.440700,[test] gAUC: 0.878016 - AUC: 0.880582 - logloss: 0.440700 + 20230601-152815,[command] python run_expid.py --config Amazon/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03 --expid PPNet_amazonelectronics_x1_005_e2d48c45 --gpu 4,[exp_id] PPNet_amazonelectronics_x1_005_e2d48c45,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.877938 - AUC: 0.880688 - logloss: 0.441351,[test] gAUC: 0.877938 - AUC: 0.880688 - logloss: 0.441351 + 20230601-152724,[command] python run_expid.py --config Amazon/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03 --expid PPNet_amazonelectronics_x1_015_223efcce --gpu 6,[exp_id] PPNet_amazonelectronics_x1_015_223efcce,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.877887 - AUC: 0.880203 - logloss: 0.440464,[test] gAUC: 0.877887 - AUC: 0.880203 - logloss: 0.440464 + 20230601-162903,[command] python run_expid.py --config Amazon/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03 --expid PPNet_amazonelectronics_x1_021_6c2eb49c --gpu 2,[exp_id] PPNet_amazonelectronics_x1_021_6c2eb49c,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.877694 - AUC: 0.880661 - logloss: 0.436809,[test] gAUC: 0.877694 - AUC: 0.880661 - logloss: 0.436809 + 20230601-150705,[command] python run_expid.py --config Amazon/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03 --expid PPNet_amazonelectronics_x1_014_7128a1ad --gpu 5,[exp_id] PPNet_amazonelectronics_x1_014_7128a1ad,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.877585 - AUC: 0.880702 - logloss: 0.437490,[test] gAUC: 0.877585 - AUC: 0.880702 - logloss: 0.437490 + 20230601-150705,[command] python run_expid.py --config Amazon/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03 --expid PPNet_amazonelectronics_x1_004_944c3201 --gpu 3,[exp_id] PPNet_amazonelectronics_x1_004_944c3201,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.877549 - AUC: 0.879958 - logloss: 0.441005,[test] gAUC: 0.877549 - AUC: 0.879958 - logloss: 0.441005 + 20230601-151733,[command] python run_expid.py --config Amazon/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03 --expid PPNet_amazonelectronics_x1_008_323d4de5 --gpu 7,[exp_id] PPNet_amazonelectronics_x1_008_323d4de5,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.877528 - AUC: 0.880161 - logloss: 0.440797,[test] gAUC: 0.877528 - AUC: 0.880161 - logloss: 0.440797 + 20230601-153644,[command] python run_expid.py --config Amazon/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03 --expid PPNet_amazonelectronics_x1_013_8fcb26a7 --gpu 4,[exp_id] PPNet_amazonelectronics_x1_013_8fcb26a7,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.877455 - AUC: 0.879194 - logloss: 0.445225,[test] gAUC: 0.877455 - AUC: 0.879194 - logloss: 0.445225 + 20230601-161047,[command] python run_expid.py --config Amazon/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03 --expid PPNet_amazonelectronics_x1_017_ebaf2694 --gpu 2,[exp_id] PPNet_amazonelectronics_x1_017_ebaf2694,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.877414 - AUC: 0.879624 - logloss: 0.441259,[test] gAUC: 0.877414 - AUC: 0.879624 - logloss: 0.441259 + 20230601-145553,[command] python run_expid.py --config Amazon/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03 --expid PPNet_amazonelectronics_x1_010_3ea8f139 --gpu 1,[exp_id] PPNet_amazonelectronics_x1_010_3ea8f139,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.877377 - AUC: 0.879852 - logloss: 0.440728,[test] gAUC: 0.877377 - AUC: 0.879852 - logloss: 0.440728 + 20230601-150705,[command] python run_expid.py --config Amazon/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03 --expid PPNet_amazonelectronics_x1_003_1ad7c2f7 --gpu 2,[exp_id] PPNet_amazonelectronics_x1_003_1ad7c2f7,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.877148 - AUC: 0.879458 - logloss: 0.441780,[test] gAUC: 0.877148 - AUC: 0.879458 - logloss: 0.441780 + 20230601-145505,[command] python run_expid.py --config Amazon/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03 --expid PPNet_amazonelectronics_x1_011_6b652101 --gpu 2,[exp_id] PPNet_amazonelectronics_x1_011_6b652101,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.877102 - AUC: 0.880220 - logloss: 0.439994,[test] gAUC: 0.877102 - AUC: 0.880220 - logloss: 0.439994 + 20230601-150637,[command] python run_expid.py --config Amazon/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03 --expid PPNet_amazonelectronics_x1_012_839a69cf --gpu 3,[exp_id] PPNet_amazonelectronics_x1_012_839a69cf,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.876977 - AUC: 0.879352 - logloss: 0.441164,[test] gAUC: 0.876977 - AUC: 0.879352 - logloss: 0.441164 + 20230601-163340,[command] python run_expid.py --config Amazon/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03 --expid PPNet_amazonelectronics_x1_018_b4af2ee6 --gpu 6,[exp_id] PPNet_amazonelectronics_x1_018_b4af2ee6,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.876790 - AUC: 0.879307 - logloss: 0.443402,[test] gAUC: 0.876790 - AUC: 0.879307 - logloss: 0.443402 + 20230601-151756,[command] python run_expid.py --config Amazon/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03 --expid PPNet_amazonelectronics_x1_006_05109b14 --gpu 5,[exp_id] PPNet_amazonelectronics_x1_006_05109b14,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.876785 - AUC: 0.878709 - logloss: 0.451520,[test] gAUC: 0.876785 - AUC: 0.878709 - logloss: 0.451520 + 20230601-145548,[command] python run_expid.py --config Amazon/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03 --expid PPNet_amazonelectronics_x1_007_191a0a23 --gpu 6,[exp_id] PPNet_amazonelectronics_x1_007_191a0a23,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.876203 - AUC: 0.878510 - logloss: 0.439824,[test] gAUC: 0.876203 - AUC: 0.878510 - logloss: 0.439824 diff --git a/ranking/ctr/PPNet/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03.yaml b/ranking/ctr/PPNet/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03.yaml new file mode 100644 index 0000000..af6fc80 --- /dev/null +++ b/ranking/ctr/PPNet/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03.yaml @@ -0,0 +1,41 @@ +base_config: ../model_zoo/PEPNet/config/ +base_expid: PPNet_default +dataset_id: amazonelectronics_x1 + +dataset_config: + amazonelectronics_x1: + data_root: ../data/Amazon/ + data_format: csv + train_data: ../data/Amazon/AmazonElectronics_x1/train.csv + valid_data: ../data/Amazon/AmazonElectronics_x1/test.csv # no validation data split in original paper + test_data: ../data/Amazon/AmazonElectronics_x1/test.csv + min_categr_count: 1 + feature_cols: + - {name: user_id, active: True, dtype: int, type: meta, remap: False} + - {name: item_id, active: True, dtype: str, type: categorical} + - {name: cate_id, active: True, dtype: str, type: categorical} + - {name: item_history, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, + feature_encoder: "layers.MaskedAveragePooling()", share_embedding: item_id} + - {name: cate_history, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, + feature_encoder: "layers.MaskedAveragePooling()", share_embedding: cate_id} + label_col: {name: label, dtype: float} + + +tuner_space: + model_root: './checkpoints/PPNet_amazonelectronics_x1/' + embedding_dim: 64 + hidden_units: [[1024, 512, 256]] + embedding_regularizer: 5.e-3 + net_dropout: 0 + gate_emb_dim: [16, 32] + gate_priors: [["item_id", "cate_id", "cate_history", "item_history"], ["cate_id", "cate_history", "item_history"], ["cate_history", "item_history"], ["item_history"]] + gate_hidden_dim: [32, 64, 128] + batch_norm: True + learning_rate: 5.e-4 + batch_size: 1024 + seed: 20222023 + group_id: user_id + metrics: [[gAUC, AUC, logloss]] + monitor: {"gAUC": 1, "AUC": 1} + + diff --git a/ranking/ctr/PPNet/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03/PPNet_amazonelectronics_x1_tuner_config_03/dataset_config.yaml b/ranking/ctr/PPNet/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03/PPNet_amazonelectronics_x1_tuner_config_03/dataset_config.yaml new file mode 100644 index 0000000..860ec27 --- /dev/null +++ b/ranking/ctr/PPNet/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03/PPNet_amazonelectronics_x1_tuner_config_03/dataset_config.yaml @@ -0,0 +1,16 @@ +amazonelectronics_x1_b7a43f49: + data_format: csv + data_root: ../data/Amazon/ + feature_cols: + - {active: true, dtype: int, name: user_id, remap: false, type: meta} + - {active: true, dtype: str, name: item_id, type: categorical} + - {active: true, dtype: str, name: cate_id, type: categorical} + - {active: true, dtype: str, feature_encoder: layers.MaskedAveragePooling(), max_len: 100, + name: item_history, share_embedding: item_id, splitter: ^, type: sequence} + - {active: true, dtype: str, feature_encoder: layers.MaskedAveragePooling(), max_len: 100, + name: cate_history, share_embedding: cate_id, splitter: ^, type: sequence} + label_col: {dtype: float, name: label} + min_categr_count: 1 + test_data: ../data/Amazon/AmazonElectronics_x1/test.csv + train_data: ../data/Amazon/AmazonElectronics_x1/train.csv + valid_data: ../data/Amazon/AmazonElectronics_x1/test.csv diff --git a/ranking/ctr/PPNet/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03/PPNet_amazonelectronics_x1_tuner_config_03/model_config.yaml b/ranking/ctr/PPNet/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03/PPNet_amazonelectronics_x1_tuner_config_03/model_config.yaml new file mode 100644 index 0000000..0dfaebd --- /dev/null +++ b/ranking/ctr/PPNet/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03/PPNet_amazonelectronics_x1_tuner_config_03/model_config.yaml @@ -0,0 +1,864 @@ +PPNet_amazonelectronics_x1_001_22b6d1a8: + batch_norm: true + batch_size: 1024 + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 16 + gate_hidden_dim: 32 + gate_priors: [item_id, cate_id, cate_history, item_history] + group_id: user_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_amazonelectronics_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_amazonelectronics_x1_002_09c8df60: + batch_norm: true + batch_size: 1024 + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 16 + gate_hidden_dim: 64 + gate_priors: [item_id, cate_id, cate_history, item_history] + group_id: user_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_amazonelectronics_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_amazonelectronics_x1_003_1ad7c2f7: + batch_norm: true + batch_size: 1024 + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 16 + gate_hidden_dim: 128 + gate_priors: [item_id, cate_id, cate_history, item_history] + group_id: user_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_amazonelectronics_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_amazonelectronics_x1_004_944c3201: + batch_norm: true + batch_size: 1024 + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 16 + gate_hidden_dim: 32 + gate_priors: [cate_id, cate_history, item_history] + group_id: user_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_amazonelectronics_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_amazonelectronics_x1_005_e2d48c45: + batch_norm: true + batch_size: 1024 + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 16 + gate_hidden_dim: 64 + gate_priors: [cate_id, cate_history, item_history] + group_id: user_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_amazonelectronics_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_amazonelectronics_x1_006_05109b14: + batch_norm: true + batch_size: 1024 + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 16 + gate_hidden_dim: 128 + gate_priors: [cate_id, cate_history, item_history] + group_id: user_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_amazonelectronics_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_amazonelectronics_x1_007_191a0a23: + batch_norm: true + batch_size: 1024 + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 16 + gate_hidden_dim: 32 + gate_priors: [cate_history, item_history] + group_id: user_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_amazonelectronics_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_amazonelectronics_x1_008_323d4de5: + batch_norm: true + batch_size: 1024 + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 16 + gate_hidden_dim: 64 + gate_priors: [cate_history, item_history] + group_id: user_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_amazonelectronics_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_amazonelectronics_x1_009_189355f2: + batch_norm: true + batch_size: 1024 + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 16 + gate_hidden_dim: 128 + gate_priors: [cate_history, item_history] + group_id: user_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_amazonelectronics_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_amazonelectronics_x1_010_3ea8f139: + batch_norm: true + batch_size: 1024 + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 16 + gate_hidden_dim: 32 + gate_priors: [item_history] + group_id: user_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_amazonelectronics_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_amazonelectronics_x1_011_6b652101: + batch_norm: true + batch_size: 1024 + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 16 + gate_hidden_dim: 64 + gate_priors: [item_history] + group_id: user_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_amazonelectronics_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_amazonelectronics_x1_012_839a69cf: + batch_norm: true + batch_size: 1024 + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 16 + gate_hidden_dim: 128 + gate_priors: [item_history] + group_id: user_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_amazonelectronics_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_amazonelectronics_x1_013_8fcb26a7: + batch_norm: true + batch_size: 1024 + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 32 + gate_hidden_dim: 32 + gate_priors: [item_id, cate_id, cate_history, item_history] + group_id: user_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_amazonelectronics_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_amazonelectronics_x1_014_7128a1ad: + batch_norm: true + batch_size: 1024 + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 32 + gate_hidden_dim: 64 + gate_priors: [item_id, cate_id, cate_history, item_history] + group_id: user_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_amazonelectronics_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_amazonelectronics_x1_015_223efcce: + batch_norm: true + batch_size: 1024 + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 32 + gate_hidden_dim: 128 + gate_priors: [item_id, cate_id, cate_history, item_history] + group_id: user_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_amazonelectronics_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_amazonelectronics_x1_016_6df2cbf4: + batch_norm: true + batch_size: 1024 + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 32 + gate_hidden_dim: 32 + gate_priors: [cate_id, cate_history, item_history] + group_id: user_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_amazonelectronics_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_amazonelectronics_x1_017_ebaf2694: + batch_norm: true + batch_size: 1024 + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 32 + gate_hidden_dim: 64 + gate_priors: [cate_id, cate_history, item_history] + group_id: user_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_amazonelectronics_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_amazonelectronics_x1_018_b4af2ee6: + batch_norm: true + batch_size: 1024 + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 32 + gate_hidden_dim: 128 + gate_priors: [cate_id, cate_history, item_history] + group_id: user_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_amazonelectronics_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_amazonelectronics_x1_019_5f63a13b: + batch_norm: true + batch_size: 1024 + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 32 + gate_hidden_dim: 32 + gate_priors: [cate_history, item_history] + group_id: user_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_amazonelectronics_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_amazonelectronics_x1_020_2ac6bb76: + batch_norm: true + batch_size: 1024 + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 32 + gate_hidden_dim: 64 + gate_priors: [cate_history, item_history] + group_id: user_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_amazonelectronics_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_amazonelectronics_x1_021_6c2eb49c: + batch_norm: true + batch_size: 1024 + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 32 + gate_hidden_dim: 128 + gate_priors: [cate_history, item_history] + group_id: user_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_amazonelectronics_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_amazonelectronics_x1_022_cd7210f4: + batch_norm: true + batch_size: 1024 + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 32 + gate_hidden_dim: 32 + gate_priors: [item_history] + group_id: user_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_amazonelectronics_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_amazonelectronics_x1_023_0b353410: + batch_norm: true + batch_size: 1024 + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 32 + gate_hidden_dim: 64 + gate_priors: [item_history] + group_id: user_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_amazonelectronics_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_amazonelectronics_x1_024_967c2d72: + batch_norm: true + batch_size: 1024 + dataset_id: amazonelectronics_x1_b7a43f49 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 32 + gate_hidden_dim: 128 + gate_priors: [item_history] + group_id: user_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_amazonelectronics_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 diff --git a/ranking/ctr/PPNet/PPNet_amazonelectronics_x1/README.md b/ranking/ctr/PPNet/PPNet_amazonelectronics_x1/README.md new file mode 100644 index 0000000..8fa9e77 --- /dev/null +++ b/ranking/ctr/PPNet/PPNet_amazonelectronics_x1/README.md @@ -0,0 +1,230 @@ +## PPNet_amazonelectronics_x1 + +A hands-on guide to run the PPNet model on the AmazonElectronics_x1 dataset. + +Author: [BARS Benchmark](https://github.com/reczoo/BARS/blob/main/CITATION) + + +| [Environments](#Environments) | [Dataset](#Dataset) | [Code](#Code) | [Results](#Results) | [Logs](#Logs) | +|:-----------------------------:|:-----------:|:--------:|:--------:|-------| +### Environments ++ Hardware + + ```python + CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz + GPU: Tesla V100 32G + RAM: 755G + + ``` + ++ Software + + ```python + cuda: 10.2 + python: 3.7.10 + pytorch: 1.11.0 + pandas: 1.1.5 + numpy: 1.19.5 + scipy: 1.5.2 + sklearn: 0.22.1 + pyyaml: 6.0 + h5py: 2.8.0 + tqdm: 4.64.0 + fuxictr: 2.0.3 + + ``` + +### Dataset +Please refer to [AmazonElectronics_x1](https://github.com/reczoo/Datasets/tree/main/Amazon/AmazonElectronics_x1) to get the dataset details. + +### Code + +We use the [PPNet](https://github.com/reczoo/FuxiCTR/tree/v2.0.3/model_zoo/PPNet) model code from [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/tree/v2.0.3) for this experiment. + +Running steps: + +1. Download [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/archive/refs/tags/v2.0.3.zip) and install all the dependencies listed in the [environments](#environments). + + ```bash + pip uninstall fuxictr + pip install fuxictr==2.0.3 + ``` + +2. Create a data directory and put the downloaded data files in `../data/Amazon/AmazonElectronics_x1`. + +3. Both `dataset_config.yaml` and `model_config.yaml` files are available in [PPNet_amazonelectronics_x1_tuner_config_03](./PPNet_amazonelectronics_x1_tuner_config_03). Please make sure that the data paths in `dataset_config.yaml` are correctly set. + +4. Run the following script to start training and evaluation. + + ```bash + cd FuxiCTR/model_zoo/PPNet + nohup python run_expid.py --config YOUR_PATH/PPNet/PPNet_amazonelectronics_x1_tuner_config_03 --expid PPNet_amazonelectronics_x1_023_0b353410 --gpu 0 > run.log & + tail -f run.log + ``` + +### Results + +| gAUC | AUC | logloss | +|:--------------------:|:--------------------:|:--------------------:| +| 0.879690 | 0.881667 | 0.439829 | + + +### Logs +```python +2023-06-01 15:07:09,673 P45816 INFO Params: { + "batch_norm": "True", + "batch_size": "1024", + "data_format": "csv", + "data_root": "../data/Amazon/", + "dataset_id": "amazonelectronics_x1_b7a43f49", + "debug_mode": "False", + "early_stop_patience": "2", + "embedding_dim": "64", + "embedding_regularizer": "0.005", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'user_id', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': 'item_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'name': 'cate_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'feature_encoder': 'layers.MaskedAveragePooling()', 'max_len': 100, 'name': 'item_history', 'share_embedding': 'item_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'feature_encoder': 'layers.MaskedAveragePooling()', 'max_len': 100, 'name': 'cate_history', 'share_embedding': 'cate_id', 'splitter': '^', 'type': 'sequence'}]", + "feature_config": "None", + "feature_specs": "None", + "gate_emb_dim": "32", + "gate_hidden_dim": "64", + "gate_priors": "['item_history']", + "gpu": "5", + "group_id": "user_id", + "hidden_activations": "ReLU", + "hidden_units": "[1024, 512, 256]", + "label_col": "{'dtype': 'float', 'name': 'label'}", + "learning_rate": "0.0005", + "loss": "binary_crossentropy", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "1", + "model": "PPNet", + "model_id": "PPNet_amazonelectronics_x1_023_0b353410", + "model_root": "./checkpoints/PPNet_amazonelectronics_x1/", + "monitor": "{'AUC': 1, 'gAUC': 1}", + "monitor_mode": "max", + "net_dropout": "0", + "net_regularizer": "0", + "num_workers": "3", + "optimizer": "adam", + "pickle_feature_encoder": "True", + "save_best_only": "True", + "seed": "20222023", + "shuffle": "True", + "task": "binary_classification", + "test_data": "../data/Amazon/AmazonElectronics_x1/test.csv", + "train_data": "../data/Amazon/AmazonElectronics_x1/train.csv", + "use_features": "None", + "valid_data": "../data/Amazon/AmazonElectronics_x1/test.csv", + "verbose": "1" +} +2023-06-01 15:07:09,673 P45816 INFO Set up feature processor... +2023-06-01 15:07:09,674 P45816 WARNING Skip rebuilding ../data/Amazon/amazonelectronics_x1_b7a43f49/feature_map.json. Please delete it manually if rebuilding is required. +2023-06-01 15:07:09,674 P45816 INFO Load feature_map from json: ../data/Amazon/amazonelectronics_x1_b7a43f49/feature_map.json +2023-06-01 15:07:09,674 P45816 INFO Set column index... +2023-06-01 15:07:09,674 P45816 INFO Feature specs: { + "cate_history": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'cate_id', 'padding_idx': 0, 'oov_idx': 802, 'vocab_size': 803, 'max_len': 100}", + "cate_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 802, 'vocab_size': 803}", + "item_history": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'item_id', 'padding_idx': 0, 'oov_idx': 63002, 'vocab_size': 63003, 'max_len': 100}", + "item_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 63002, 'vocab_size': 63003}", + "user_id": "{'type': 'meta'}" +} +2023-06-01 15:07:15,859 P45816 INFO Total number of parameters: 7194785. +2023-06-01 15:07:15,859 P45816 INFO Loading data... +2023-06-01 15:07:15,859 P45816 INFO Loading data from h5: ../data/Amazon/amazonelectronics_x1_b7a43f49/train.h5 +2023-06-01 15:07:19,785 P45816 INFO Train samples: total/2608764, blocks/1 +2023-06-01 15:07:19,785 P45816 INFO Loading data from h5: ../data/Amazon/amazonelectronics_x1_b7a43f49/valid.h5 +2023-06-01 15:07:20,277 P45816 INFO Validation samples: total/384806, blocks/1 +2023-06-01 15:07:20,277 P45816 INFO Loading train and validation data done. +2023-06-01 15:07:20,277 P45816 INFO Start training: 2548 batches/epoch +2023-06-01 15:07:20,277 P45816 INFO ************ Epoch=1 start ************ +2023-06-01 15:15:38,685 P45816 INFO Train loss: 0.638819 +2023-06-01 15:15:38,685 P45816 INFO Evaluation @epoch 1 - batch 2548: +2023-06-01 15:18:04,118 P45816 INFO [Metrics] AUC: 0.835712 - gAUC: 0.834478 +2023-06-01 15:18:04,119 P45816 INFO Save best model: monitor(max)=1.670190 +2023-06-01 15:18:04,300 P45816 INFO ************ Epoch=1 end ************ +2023-06-01 15:25:58,548 P45816 INFO Train loss: 0.591881 +2023-06-01 15:25:58,558 P45816 INFO Evaluation @epoch 2 - batch 2548: +2023-06-01 15:28:17,785 P45816 INFO [Metrics] AUC: 0.846837 - gAUC: 0.845397 +2023-06-01 15:28:17,786 P45816 INFO Save best model: monitor(max)=1.692235 +2023-06-01 15:28:17,966 P45816 INFO ************ Epoch=2 end ************ +2023-06-01 15:34:54,539 P45816 INFO Train loss: 0.576393 +2023-06-01 15:34:54,540 P45816 INFO Evaluation @epoch 3 - batch 2548: +2023-06-01 15:36:54,513 P45816 INFO [Metrics] AUC: 0.852579 - gAUC: 0.849971 +2023-06-01 15:36:54,514 P45816 INFO Save best model: monitor(max)=1.702550 +2023-06-01 15:36:54,682 P45816 INFO ************ Epoch=3 end ************ +2023-06-01 15:42:27,432 P45816 INFO Train loss: 0.569779 +2023-06-01 15:42:27,433 P45816 INFO Evaluation @epoch 4 - batch 2548: +2023-06-01 15:44:06,789 P45816 INFO [Metrics] AUC: 0.854074 - gAUC: 0.852149 +2023-06-01 15:44:06,791 P45816 INFO Save best model: monitor(max)=1.706223 +2023-06-01 15:44:06,942 P45816 INFO ************ Epoch=4 end ************ +2023-06-01 15:49:17,545 P45816 INFO Train loss: 0.566076 +2023-06-01 15:49:17,546 P45816 INFO Evaluation @epoch 5 - batch 2548: +2023-06-01 15:50:53,414 P45816 INFO [Metrics] AUC: 0.854454 - gAUC: 0.852533 +2023-06-01 15:50:53,415 P45816 INFO Save best model: monitor(max)=1.706988 +2023-06-01 15:50:53,576 P45816 INFO ************ Epoch=5 end ************ +2023-06-01 15:55:36,155 P45816 INFO Train loss: 0.564237 +2023-06-01 15:55:36,155 P45816 INFO Evaluation @epoch 6 - batch 2548: +2023-06-01 15:57:05,092 P45816 INFO [Metrics] AUC: 0.855354 - gAUC: 0.854503 +2023-06-01 15:57:05,093 P45816 INFO Save best model: monitor(max)=1.709857 +2023-06-01 15:57:05,240 P45816 INFO ************ Epoch=6 end ************ +2023-06-01 16:01:48,854 P45816 INFO Train loss: 0.564162 +2023-06-01 16:01:48,859 P45816 INFO Evaluation @epoch 7 - batch 2548: +2023-06-01 16:03:16,675 P45816 INFO [Metrics] AUC: 0.855684 - gAUC: 0.854337 +2023-06-01 16:03:16,676 P45816 INFO Save best model: monitor(max)=1.710021 +2023-06-01 16:03:16,840 P45816 INFO ************ Epoch=7 end ************ +2023-06-01 16:07:57,635 P45816 INFO Train loss: 0.564687 +2023-06-01 16:07:57,635 P45816 INFO Evaluation @epoch 8 - batch 2548: +2023-06-01 16:09:24,289 P45816 INFO [Metrics] AUC: 0.856126 - gAUC: 0.854072 +2023-06-01 16:09:24,290 P45816 INFO Save best model: monitor(max)=1.710198 +2023-06-01 16:09:24,454 P45816 INFO ************ Epoch=8 end ************ +2023-06-01 16:13:41,197 P45816 INFO Train loss: 0.568022 +2023-06-01 16:13:41,198 P45816 INFO Evaluation @epoch 9 - batch 2548: +2023-06-01 16:15:04,923 P45816 INFO [Metrics] AUC: 0.859547 - gAUC: 0.858126 +2023-06-01 16:15:04,925 P45816 INFO Save best model: monitor(max)=1.717673 +2023-06-01 16:15:05,073 P45816 INFO ************ Epoch=9 end ************ +2023-06-01 16:19:14,946 P45816 INFO Train loss: 0.573383 +2023-06-01 16:19:14,947 P45816 INFO Evaluation @epoch 10 - batch 2548: +2023-06-01 16:20:40,016 P45816 INFO [Metrics] AUC: 0.857831 - gAUC: 0.855096 +2023-06-01 16:20:40,017 P45816 INFO Monitor(max)=1.712927 STOP! +2023-06-01 16:20:40,017 P45816 INFO Reduce learning rate on plateau: 0.000050 +2023-06-01 16:20:40,106 P45816 INFO ************ Epoch=10 end ************ +2023-06-01 16:24:44,738 P45816 INFO Train loss: 0.470273 +2023-06-01 16:24:44,738 P45816 INFO Evaluation @epoch 11 - batch 2548: +2023-06-01 16:26:08,739 P45816 INFO [Metrics] AUC: 0.877104 - gAUC: 0.874695 +2023-06-01 16:26:08,740 P45816 INFO Save best model: monitor(max)=1.751799 +2023-06-01 16:26:08,898 P45816 INFO ************ Epoch=11 end ************ +2023-06-01 16:30:03,547 P45816 INFO Train loss: 0.421339 +2023-06-01 16:30:03,547 P45816 INFO Evaluation @epoch 12 - batch 2548: +2023-06-01 16:31:18,982 P45816 INFO [Metrics] AUC: 0.881220 - gAUC: 0.879643 +2023-06-01 16:31:18,983 P45816 INFO Save best model: monitor(max)=1.760863 +2023-06-01 16:31:19,131 P45816 INFO ************ Epoch=12 end ************ +2023-06-01 16:33:48,819 P45816 INFO Train loss: 0.400627 +2023-06-01 16:33:48,820 P45816 INFO Evaluation @epoch 13 - batch 2548: +2023-06-01 16:34:34,062 P45816 INFO [Metrics] AUC: 0.881667 - gAUC: 0.879690 +2023-06-01 16:34:34,063 P45816 INFO Save best model: monitor(max)=1.761357 +2023-06-01 16:34:34,212 P45816 INFO ************ Epoch=13 end ************ +2023-06-01 16:35:31,254 P45816 INFO Train loss: 0.387298 +2023-06-01 16:35:31,254 P45816 INFO Evaluation @epoch 14 - batch 2548: +2023-06-01 16:36:09,935 P45816 INFO [Metrics] AUC: 0.880315 - gAUC: 0.878120 +2023-06-01 16:36:09,936 P45816 INFO Monitor(max)=1.758436 STOP! +2023-06-01 16:36:09,936 P45816 INFO Reduce learning rate on plateau: 0.000005 +2023-06-01 16:36:10,017 P45816 INFO ************ Epoch=14 end ************ +2023-06-01 16:36:48,874 P45816 INFO Train loss: 0.332448 +2023-06-01 16:36:48,875 P45816 INFO Evaluation @epoch 15 - batch 2548: +2023-06-01 16:37:26,805 P45816 INFO [Metrics] AUC: 0.877621 - gAUC: 0.875730 +2023-06-01 16:37:26,806 P45816 INFO Monitor(max)=1.753351 STOP! +2023-06-01 16:37:26,807 P45816 INFO Reduce learning rate on plateau: 0.000001 +2023-06-01 16:37:26,807 P45816 INFO ********* Epoch==15 early stop ********* +2023-06-01 16:37:26,887 P45816 INFO Training finished. +2023-06-01 16:37:26,887 P45816 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/PPNet_amazonelectronics_x1/amazonelectronics_x1_b7a43f49/PPNet_amazonelectronics_x1_023_0b353410.model +2023-06-01 16:37:26,920 P45816 INFO ****** Validation evaluation ****** +2023-06-01 16:38:04,651 P45816 INFO [Metrics] gAUC: 0.879690 - AUC: 0.881667 - logloss: 0.439829 +2023-06-01 16:38:04,730 P45816 INFO ******** Test evaluation ******** +2023-06-01 16:38:04,730 P45816 INFO Loading data... +2023-06-01 16:38:04,731 P45816 INFO Loading data from h5: ../data/Amazon/amazonelectronics_x1_b7a43f49/test.h5 +2023-06-01 16:38:05,112 P45816 INFO Test samples: total/384806, blocks/1 +2023-06-01 16:38:05,112 P45816 INFO Loading test data done. +2023-06-01 16:38:41,506 P45816 INFO [Metrics] gAUC: 0.879690 - AUC: 0.881667 - logloss: 0.439829 + +``` diff --git a/ranking/ctr/PPNet/PPNet_amazonelectronics_x1/environments.txt b/ranking/ctr/PPNet/PPNet_amazonelectronics_x1/environments.txt new file mode 100644 index 0000000..a39d234 --- /dev/null +++ b/ranking/ctr/PPNet/PPNet_amazonelectronics_x1/environments.txt @@ -0,0 +1,17 @@ +[Hardware] +CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz +GPU: Tesla V100 32G +RAM: 755G + +[Software] +cuda: 10.2 +python: 3.7.10 +pytorch: 1.11.0 +pandas: 1.1.5 +numpy: 1.19.5 +scipy: 1.5.2 +sklearn: 0.22.1 +pyyaml: 6.0 +h5py: 2.8.0 +tqdm: 4.64.0 +fuxictr: 2.0.3 diff --git a/ranking/ctr/PPNet/PPNet_amazonelectronics_x1/results.csv b/ranking/ctr/PPNet/PPNet_amazonelectronics_x1/results.csv new file mode 100644 index 0000000..fbe9e8f --- /dev/null +++ b/ranking/ctr/PPNet/PPNet_amazonelectronics_x1/results.csv @@ -0,0 +1 @@ + 20230601-163841,[command] python run_expid.py --config Amazon/PPNet_amazonelectronics_x1/PPNet_amazonelectronics_x1_tuner_config_03 --expid PPNet_amazonelectronics_x1_023_0b353410 --gpu 5,[exp_id] PPNet_amazonelectronics_x1_023_0b353410,[dataset_id] amazonelectronics_x1_b7a43f49,[train] N.A.,[val] gAUC: 0.879690 - AUC: 0.881667 - logloss: 0.439829,[test] gAUC: 0.879690 - AUC: 0.881667 - logloss: 0.439829 diff --git a/ranking/ctr/PPNet/PPNet_kuaivideo_x1/PPNet_kuaivideo_x1_018_71ca4227.log b/ranking/ctr/PPNet/PPNet_kuaivideo_x1/PPNet_kuaivideo_x1_018_71ca4227.log new file mode 100644 index 0000000..2a6e3e8 --- /dev/null +++ b/ranking/ctr/PPNet/PPNet_kuaivideo_x1/PPNet_kuaivideo_x1_018_71ca4227.log @@ -0,0 +1,133 @@ +2023-06-02 07:21:34,050 P20089 INFO Params: { + "batch_norm": "False", + "batch_size": "8192", + "data_format": "csv", + "data_root": "../data/KuaiShou/", + "dataset_id": "kuaivideo_x1_dc7a3035", + "debug_mode": "False", + "early_stop_patience": "2", + "embedding_dim": "64", + "embedding_regularizer": "5e-05", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'group_id', 'preprocess': 'copy_from(user_id)', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': 'user_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'name': 'item_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'min_categr_count': 1, 'name': 'item_emb', 'preprocess': 'copy_from(item_id)', 'pretrained_emb': '../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'max_len': 100, 'name': 'pos_items', 'padding': 'pre', 'share_embedding': 'item_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 100, 'name': 'neg_items', 'padding': 'pre', 'share_embedding': 'item_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'max_len': 100, 'min_categr_count': 1, 'name': 'pos_items_emb', 'padding': 'pre', 'preprocess': 'copy_from(pos_items)', 'pretrained_emb': '../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5', 'share_embedding': 'item_emb', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'max_len': 100, 'min_categr_count': 1, 'name': 'neg_items_emb', 'padding': 'pre', 'preprocess': 'copy_from(neg_items)', 'pretrained_emb': '../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5', 'share_embedding': 'item_emb', 'splitter': '^', 'type': 'sequence'}]", + "feature_config": "None", + "feature_specs": "[{'feature_encoder': 'nn.Linear(64, 64, bias=False)', 'name': 'item_emb'}, {'feature_encoder': 'layers.MaskedAveragePooling()', 'name': 'pos_items'}, {'feature_encoder': 'layers.MaskedAveragePooling()', 'name': 'neg_items'}, {'feature_encoder': ['layers.MaskedAveragePooling()', 'nn.Linear(64, 64, bias=False)'], 'name': 'pos_items_emb'}, {'feature_encoder': ['layers.MaskedAveragePooling()', 'nn.Linear(64, 64, bias=False)'], 'name': 'neg_items_emb'}]", + "gate_emb_dim": "32", + "gate_hidden_dim": "512", + "gate_priors": "['item_id']", + "gpu": "6", + "group_id": "group_id", + "hidden_activations": "ReLU", + "hidden_units": "[1024, 512, 256]", + "label_col": "{'dtype': 'float', 'name': 'is_click'}", + "learning_rate": "0.001", + "loss": "binary_crossentropy", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "10", + "model": "PPNet", + "model_id": "PPNet_kuaivideo_x1_018_71ca4227", + "model_root": "./checkpoints/PPNet_kuaivideo_x1/", + "monitor": "{'AUC': 1, 'gAUC': 1}", + "monitor_mode": "max", + "net_dropout": "0.1", + "net_regularizer": "0", + "num_workers": "3", + "optimizer": "adam", + "pickle_feature_encoder": "True", + "save_best_only": "True", + "seed": "20222023", + "shuffle": "True", + "task": "binary_classification", + "test_data": "../data/KuaiShou/KuaiVideo_x1/test.csv", + "train_data": "../data/KuaiShou/KuaiVideo_x1/train.csv", + "use_features": "None", + "valid_data": "../data/KuaiShou/KuaiVideo_x1/test.csv", + "verbose": "1" +} +2023-06-02 07:21:34,093 P20089 INFO Set up feature processor... +2023-06-02 07:21:34,093 P20089 WARNING Skip rebuilding ../data/KuaiShou/kuaivideo_x1_dc7a3035/feature_map.json. Please delete it manually if rebuilding is required. +2023-06-02 07:21:34,093 P20089 INFO Load feature_map from json: ../data/KuaiShou/kuaivideo_x1_dc7a3035/feature_map.json +2023-06-02 07:21:34,094 P20089 INFO Set column index... +2023-06-02 07:21:34,094 P20089 INFO Feature specs: { + "group_id": "{'type': 'meta'}", + "item_emb": "{'source': '', 'type': 'categorical', 'embedding_dim': 64, 'pretrained_emb': 'pretrained_emb.h5', 'freeze_emb': True, 'padding_idx': 0, 'oov_idx': 3242316, 'vocab_size': 3242317, 'feature_encoder': 'nn.Linear(64, 64, bias=False)'}", + "item_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 632405, 'vocab_size': 632406}", + "neg_items": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'item_id', 'padding_idx': 0, 'oov_idx': 632405, 'vocab_size': 632406, 'max_len': 100}", + "neg_items_emb": "{'source': '', 'type': 'sequence', 'feature_encoder': ['layers.MaskedAveragePooling()', 'nn.Linear(64, 64, bias=False)'], 'embedding_dim': 64, 'share_embedding': 'item_emb', 'padding_idx': 0, 'oov_idx': 3242316, 'vocab_size': 3242317, 'max_len': 100}", + "pos_items": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'item_id', 'padding_idx': 0, 'oov_idx': 632405, 'vocab_size': 632406, 'max_len': 100}", + "pos_items_emb": "{'source': '', 'type': 'sequence', 'feature_encoder': ['layers.MaskedAveragePooling()', 'nn.Linear(64, 64, bias=False)'], 'embedding_dim': 64, 'share_embedding': 'item_emb', 'padding_idx': 0, 'oov_idx': 3242316, 'vocab_size': 3242317, 'max_len': 100}", + "user_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 10001, 'vocab_size': 10002}" +} +2023-06-02 07:21:41,703 P20089 INFO Total number of parameters: 64137665. +2023-06-02 07:21:41,703 P20089 INFO Loading data... +2023-06-02 07:21:41,703 P20089 INFO Loading data from h5: ../data/KuaiShou/kuaivideo_x1_dc7a3035/train.h5 +2023-06-02 07:22:07,760 P20089 INFO Train samples: total/10931092, blocks/1 +2023-06-02 07:22:07,760 P20089 INFO Loading data from h5: ../data/KuaiShou/kuaivideo_x1_dc7a3035/valid.h5 +2023-06-02 07:22:13,961 P20089 INFO Validation samples: total/2730291, blocks/1 +2023-06-02 07:22:13,961 P20089 INFO Loading train and validation data done. +2023-06-02 07:22:13,961 P20089 INFO Start training: 1335 batches/epoch +2023-06-02 07:22:13,961 P20089 INFO ************ Epoch=1 start ************ +2023-06-02 07:27:14,324 P20089 INFO Train loss: 0.452990 +2023-06-02 07:27:14,324 P20089 INFO Evaluation @epoch 1 - batch 1335: +2023-06-02 07:28:19,548 P20089 INFO [Metrics] AUC: 0.727919 - gAUC: 0.639835 +2023-06-02 07:28:19,550 P20089 INFO Save best model: monitor(max)=1.367754 +2023-06-02 07:28:22,061 P20089 INFO ************ Epoch=1 end ************ +2023-06-02 07:32:05,009 P20089 INFO Train loss: 0.442990 +2023-06-02 07:32:05,014 P20089 INFO Evaluation @epoch 2 - batch 1335: +2023-06-02 07:33:01,292 P20089 INFO [Metrics] AUC: 0.733623 - gAUC: 0.649477 +2023-06-02 07:33:01,296 P20089 INFO Save best model: monitor(max)=1.383100 +2023-06-02 07:33:03,715 P20089 INFO ************ Epoch=2 end ************ +2023-06-02 07:35:44,584 P20089 INFO Train loss: 0.438196 +2023-06-02 07:35:44,585 P20089 INFO Evaluation @epoch 3 - batch 1335: +2023-06-02 07:36:20,917 P20089 INFO [Metrics] AUC: 0.736829 - gAUC: 0.654141 +2023-06-02 07:36:20,918 P20089 INFO Save best model: monitor(max)=1.390969 +2023-06-02 07:36:23,418 P20089 INFO ************ Epoch=3 end ************ +2023-06-02 07:38:27,515 P20089 INFO Train loss: 0.435034 +2023-06-02 07:38:27,515 P20089 INFO Evaluation @epoch 4 - batch 1335: +2023-06-02 07:39:04,830 P20089 INFO [Metrics] AUC: 0.740345 - gAUC: 0.658251 +2023-06-02 07:39:04,832 P20089 INFO Save best model: monitor(max)=1.398595 +2023-06-02 07:39:07,654 P20089 INFO ************ Epoch=4 end ************ +2023-06-02 07:41:11,354 P20089 INFO Train loss: 0.432669 +2023-06-02 07:41:11,355 P20089 INFO Evaluation @epoch 5 - batch 1335: +2023-06-02 07:41:48,670 P20089 INFO [Metrics] AUC: 0.742553 - gAUC: 0.660145 +2023-06-02 07:41:48,672 P20089 INFO Save best model: monitor(max)=1.402698 +2023-06-02 07:41:51,120 P20089 INFO ************ Epoch=5 end ************ +2023-06-02 07:43:52,727 P20089 INFO Train loss: 0.430849 +2023-06-02 07:43:52,727 P20089 INFO Evaluation @epoch 6 - batch 1335: +2023-06-02 07:44:28,824 P20089 INFO [Metrics] AUC: 0.741969 - gAUC: 0.659522 +2023-06-02 07:44:28,825 P20089 INFO Monitor(max)=1.401491 STOP! +2023-06-02 07:44:28,825 P20089 INFO Reduce learning rate on plateau: 0.000100 +2023-06-02 07:44:28,904 P20089 INFO ************ Epoch=6 end ************ +2023-06-02 07:46:36,372 P20089 INFO Train loss: 0.413364 +2023-06-02 07:46:36,373 P20089 INFO Evaluation @epoch 7 - batch 1335: +2023-06-02 07:47:13,945 P20089 INFO [Metrics] AUC: 0.746466 - gAUC: 0.665974 +2023-06-02 07:47:13,947 P20089 INFO Save best model: monitor(max)=1.412440 +2023-06-02 07:47:16,401 P20089 INFO ************ Epoch=7 end ************ +2023-06-02 07:49:20,431 P20089 INFO Train loss: 0.407560 +2023-06-02 07:49:20,432 P20089 INFO Evaluation @epoch 8 - batch 1335: +2023-06-02 07:49:47,157 P20089 INFO [Metrics] AUC: 0.746437 - gAUC: 0.666808 +2023-06-02 07:49:47,158 P20089 INFO Save best model: monitor(max)=1.413245 +2023-06-02 07:49:49,759 P20089 INFO ************ Epoch=8 end ************ +2023-06-02 07:51:30,264 P20089 INFO Train loss: 0.403702 +2023-06-02 07:51:30,264 P20089 INFO Evaluation @epoch 9 - batch 1335: +2023-06-02 07:51:56,818 P20089 INFO [Metrics] AUC: 0.745861 - gAUC: 0.666850 +2023-06-02 07:51:56,820 P20089 INFO Monitor(max)=1.412711 STOP! +2023-06-02 07:51:56,820 P20089 INFO Reduce learning rate on plateau: 0.000010 +2023-06-02 07:51:56,906 P20089 INFO ************ Epoch=9 end ************ +2023-06-02 07:53:39,200 P20089 INFO Train loss: 0.395312 +2023-06-02 07:53:39,200 P20089 INFO Evaluation @epoch 10 - batch 1335: +2023-06-02 07:54:00,648 P20089 INFO [Metrics] AUC: 0.744890 - gAUC: 0.666531 +2023-06-02 07:54:00,649 P20089 INFO Monitor(max)=1.411420 STOP! +2023-06-02 07:54:00,650 P20089 INFO Reduce learning rate on plateau: 0.000001 +2023-06-02 07:54:00,650 P20089 INFO ********* Epoch==10 early stop ********* +2023-06-02 07:54:00,736 P20089 INFO Training finished. +2023-06-02 07:54:00,737 P20089 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/PPNet_kuaivideo_x1/kuaivideo_x1_dc7a3035/PPNet_kuaivideo_x1_018_71ca4227.model +2023-06-02 07:54:01,954 P20089 INFO ****** Validation evaluation ****** +2023-06-02 07:54:22,535 P20089 INFO [Metrics] gAUC: 0.666808 - AUC: 0.746437 - logloss: 0.437027 +2023-06-02 07:54:22,697 P20089 INFO ******** Test evaluation ******** +2023-06-02 07:54:22,697 P20089 INFO Loading data... +2023-06-02 07:54:22,697 P20089 INFO Loading data from h5: ../data/KuaiShou/kuaivideo_x1_dc7a3035/test.h5 +2023-06-02 07:54:28,240 P20089 INFO Test samples: total/2730291, blocks/1 +2023-06-02 07:54:28,240 P20089 INFO Loading test data done. +2023-06-02 07:54:48,592 P20089 INFO [Metrics] gAUC: 0.666808 - AUC: 0.746437 - logloss: 0.437027 diff --git a/ranking/ctr/PPNet/PPNet_kuaivideo_x1/PPNet_kuaivideo_x1_tuner_config_01.csv b/ranking/ctr/PPNet/PPNet_kuaivideo_x1/PPNet_kuaivideo_x1_tuner_config_01.csv new file mode 100644 index 0000000..6c165c0 --- /dev/null +++ b/ranking/ctr/PPNet/PPNet_kuaivideo_x1/PPNet_kuaivideo_x1_tuner_config_01.csv @@ -0,0 +1,18 @@ + 20230601-225710,[command] python run_expid.py --config KuaiShou/PPNet_kuaishou_x1/PPNet_kuaivideo_x1_tuner_config_01 --expid PPNet_kuaivideo_x1_018_71ca4227 --gpu 6,[exp_id] PPNet_kuaivideo_x1_018_71ca4227,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.666808 - AUC: 0.746437 - logloss: 0.437027,[test] gAUC: 0.666808 - AUC: 0.746437 - logloss: 0.437027 + 20230601-222201,[command] python run_expid.py --config KuaiShou/PPNet_kuaishou_x1/PPNet_kuaivideo_x1_tuner_config_01 --expid PPNet_kuaivideo_x1_004_c0e5891e --gpu 3,[exp_id] PPNet_kuaivideo_x1_004_c0e5891e,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.666588 - AUC: 0.746205 - logloss: 0.437973,[test] gAUC: 0.666588 - AUC: 0.746205 - logloss: 0.437973 + 20230602-000930,[command] python run_expid.py --config KuaiShou/PPNet_kuaishou_x1/PPNet_kuaivideo_x1_tuner_config_01 --expid PPNet_kuaivideo_x1_004_c0e5891e --gpu 3,[exp_id] PPNet_kuaivideo_x1_004_c0e5891e,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.666588 - AUC: 0.746205 - logloss: 0.437973,[test] gAUC: 0.666588 - AUC: 0.746205 - logloss: 0.437973 + 20230601-222922,[command] python run_expid.py --config KuaiShou/PPNet_kuaishou_x1/PPNet_kuaivideo_x1_tuner_config_01 --expid PPNet_kuaivideo_x1_006_035ccec1 --gpu 5,[exp_id] PPNet_kuaivideo_x1_006_035ccec1,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.666552 - AUC: 0.746319 - logloss: 0.437806,[test] gAUC: 0.666552 - AUC: 0.746319 - logloss: 0.437806 + 20230602-001628,[command] python run_expid.py --config KuaiShou/PPNet_kuaishou_x1/PPNet_kuaivideo_x1_tuner_config_01 --expid PPNet_kuaivideo_x1_006_035ccec1 --gpu 5,[exp_id] PPNet_kuaivideo_x1_006_035ccec1,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.666552 - AUC: 0.746319 - logloss: 0.437806,[test] gAUC: 0.666552 - AUC: 0.746319 - logloss: 0.437806 + 20230601-222837,[command] python run_expid.py --config KuaiShou/PPNet_kuaishou_x1/PPNet_kuaivideo_x1_tuner_config_01 --expid PPNet_kuaivideo_x1_005_1c2619b8 --gpu 4,[exp_id] PPNet_kuaivideo_x1_005_1c2619b8,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.666383 - AUC: 0.745799 - logloss: 0.441362,[test] gAUC: 0.666383 - AUC: 0.745799 - logloss: 0.441362 + 20230602-001543,[command] python run_expid.py --config KuaiShou/PPNet_kuaishou_x1/PPNet_kuaivideo_x1_tuner_config_01 --expid PPNet_kuaivideo_x1_005_1c2619b8 --gpu 4,[exp_id] PPNet_kuaivideo_x1_005_1c2619b8,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.666383 - AUC: 0.745799 - logloss: 0.441362,[test] gAUC: 0.666383 - AUC: 0.745799 - logloss: 0.441362 + 20230601-225606,[command] python run_expid.py --config KuaiShou/PPNet_kuaishou_x1/PPNet_kuaivideo_x1_tuner_config_01 --expid PPNet_kuaivideo_x1_017_eed07963 --gpu 3,[exp_id] PPNet_kuaivideo_x1_017_eed07963,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.666144 - AUC: 0.745890 - logloss: 0.439432,[test] gAUC: 0.666144 - AUC: 0.745890 - logloss: 0.439432 + 20230601-222200,[command] python run_expid.py --config KuaiShou/PPNet_kuaishou_x1/PPNet_kuaivideo_x1_tuner_config_01 --expid PPNet_kuaivideo_x1_002_265462d6 --gpu 1,[exp_id] PPNet_kuaivideo_x1_002_265462d6,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.666051 - AUC: 0.745686 - logloss: 0.439105,[test] gAUC: 0.666051 - AUC: 0.745686 - logloss: 0.439105 + 20230602-000942,[command] python run_expid.py --config KuaiShou/PPNet_kuaishou_x1/PPNet_kuaivideo_x1_tuner_config_01 --expid PPNet_kuaivideo_x1_002_265462d6 --gpu 1,[exp_id] PPNet_kuaivideo_x1_002_265462d6,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.666051 - AUC: 0.745686 - logloss: 0.439105,[test] gAUC: 0.666051 - AUC: 0.745686 - logloss: 0.439105 + 20230601-222400,[command] python run_expid.py --config KuaiShou/PPNet_kuaishou_x1/PPNet_kuaivideo_x1_tuner_config_01 --expid PPNet_kuaivideo_x1_013_993a6782 --gpu 6,[exp_id] PPNet_kuaivideo_x1_013_993a6782,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.665685 - AUC: 0.745453 - logloss: 0.440515,[test] gAUC: 0.665685 - AUC: 0.745453 - logloss: 0.440515 + 20230602-001124,[command] python run_expid.py --config KuaiShou/PPNet_kuaishou_x1/PPNet_kuaivideo_x1_tuner_config_01 --expid PPNet_kuaivideo_x1_013_993a6782 --gpu 6,[exp_id] PPNet_kuaivideo_x1_013_993a6782,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.665685 - AUC: 0.745453 - logloss: 0.440515,[test] gAUC: 0.665685 - AUC: 0.745453 - logloss: 0.440515 + 20230601-221508,[command] python run_expid.py --config KuaiShou/PPNet_kuaishou_x1/PPNet_kuaivideo_x1_tuner_config_01 --expid PPNet_kuaivideo_x1_001_6fe6d0a4 --gpu 0,[exp_id] PPNet_kuaivideo_x1_001_6fe6d0a4,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.665646 - AUC: 0.745427 - logloss: 0.438847,[test] gAUC: 0.665646 - AUC: 0.745427 - logloss: 0.438847 + 20230602-000232,[command] python run_expid.py --config KuaiShou/PPNet_kuaishou_x1/PPNet_kuaivideo_x1_tuner_config_01 --expid PPNet_kuaivideo_x1_001_6fe6d0a4 --gpu 0,[exp_id] PPNet_kuaivideo_x1_001_6fe6d0a4,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.665646 - AUC: 0.745427 - logloss: 0.438847,[test] gAUC: 0.665646 - AUC: 0.745427 - logloss: 0.438847 + 20230601-225929,[command] python run_expid.py --config KuaiShou/PPNet_kuaishou_x1/PPNet_kuaivideo_x1_tuner_config_01 --expid PPNet_kuaivideo_x1_016_0dad10bd --gpu 1,[exp_id] PPNet_kuaivideo_x1_016_0dad10bd,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.665524 - AUC: 0.745175 - logloss: 0.440397,[test] gAUC: 0.665524 - AUC: 0.745175 - logloss: 0.440397 + 20230601-225205,[command] python run_expid.py --config KuaiShou/PPNet_kuaishou_x1/PPNet_kuaivideo_x1_tuner_config_01 --expid PPNet_kuaivideo_x1_015_711a59e6 --gpu 0,[exp_id] PPNet_kuaivideo_x1_015_711a59e6,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.665323 - AUC: 0.745488 - logloss: 0.438084,[test] gAUC: 0.665323 - AUC: 0.745488 - logloss: 0.438084 + 20230601-223535,[command] python run_expid.py --config KuaiShou/PPNet_kuaishou_x1/PPNet_kuaivideo_x1_tuner_config_01 --expid PPNet_kuaivideo_x1_014_7d68129b --gpu 7,[exp_id] PPNet_kuaivideo_x1_014_7d68129b,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.665022 - AUC: 0.744620 - logloss: 0.441334,[test] gAUC: 0.665022 - AUC: 0.744620 - logloss: 0.441334 + 20230601-223816,[command] python run_expid.py --config KuaiShou/PPNet_kuaishou_x1/PPNet_kuaivideo_x1_tuner_config_01 --expid PPNet_kuaivideo_x1_003_8941969f --gpu 2,[exp_id] PPNet_kuaivideo_x1_003_8941969f,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.664722 - AUC: 0.744875 - logloss: 0.440697,[test] gAUC: 0.664722 - AUC: 0.744875 - logloss: 0.440697 diff --git a/ranking/ctr/PPNet/PPNet_kuaivideo_x1/PPNet_kuaivideo_x1_tuner_config_01.yaml b/ranking/ctr/PPNet/PPNet_kuaivideo_x1/PPNet_kuaivideo_x1_tuner_config_01.yaml new file mode 100644 index 0000000..46eb584 --- /dev/null +++ b/ranking/ctr/PPNet/PPNet_kuaivideo_x1/PPNet_kuaivideo_x1_tuner_config_01.yaml @@ -0,0 +1,55 @@ +base_config: ../model_zoo/PEPNet/config/ +base_expid: PPNet_default +dataset_id: kuaivideo_x1 + +dataset_config: + kuaivideo_x1: + data_root: ../data/KuaiShou/ + data_format: csv + train_data: ../data/KuaiShou/KuaiVideo_x1/train.csv + valid_data: ../data/KuaiShou/KuaiVideo_x1/test.csv # no validation data split in original paper + test_data: ../data/KuaiShou/KuaiVideo_x1/test.csv + min_categr_count: 10 + feature_cols: + - {name: group_id, active: True, dtype: int, type: meta, preprocess: "copy_from(user_id)", remap: False} + - {name: user_id, active: True, dtype: str, type: categorical} + - {name: item_id, active: True, dtype: str, type: categorical} + - {name: item_emb, active: True, dtype: str, type: categorical, embedding_dim: 64, preprocess: "copy_from(item_id)", + pretrained_emb: "../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5", min_categr_count: 1} + - {name: pos_items, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, padding: pre, + share_embedding: item_id} + - {name: neg_items, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, padding: pre, + share_embedding: item_id} + - {name: pos_items_emb, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, embedding_dim: 64, + padding: pre, pretrained_emb: "../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5", min_categr_count: 1, + share_embedding: item_emb, preprocess: "copy_from(pos_items)"} + - {name: neg_items_emb, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, embedding_dim: 64, + padding: pre, pretrained_emb: "../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5", min_categr_count: 1, + share_embedding: item_emb, preprocess: "copy_from(neg_items)"} + label_col: {name: is_click, dtype: float} + + +tuner_space: + model_root: './checkpoints/PPNet_kuaivideo_x1/' + feature_specs: [[ + {name: item_emb, feature_encoder: "nn.Linear(64, 64, bias=False)"}, + {name: pos_items, feature_encoder: "layers.MaskedAveragePooling()"}, + {name: neg_items, feature_encoder: "layers.MaskedAveragePooling()"}, + {name: pos_items_emb, feature_encoder: ["layers.MaskedAveragePooling()", "nn.Linear(64, 64, bias=False)"]}, + {name: neg_items_emb, feature_encoder: ["layers.MaskedAveragePooling()", "nn.Linear(64, 64, bias=False)"]} + ]] + embedding_dim: 64 + hidden_units: [[1024, 512, 256]] + embedding_regularizer: 5.e-5 + net_dropout: 0.1 + batch_norm: False + gate_emb_dim: [16, 32] + gate_priors: [["user_id"], ["item_id"], ["user_id", "item_id", "item_emb"], ["user_id", "item_id", "item_emb", "pos_items", "neg_items", "pos_items_emb", "neg_items_emb"]] + gate_hidden_dim: [128, 256, 512] + learning_rate: 1.e-3 + batch_size: 8192 + seed: 20222023 + group_id: group_id + metrics: [[gAUC, AUC, logloss]] + monitor: {"gAUC": 1, "AUC": 1} + diff --git a/ranking/ctr/PPNet/PPNet_kuaivideo_x1/PPNet_kuaivideo_x1_tuner_config_01/PPNet_kuaivideo_x1_tuner_config_01/dataset_config.yaml b/ranking/ctr/PPNet/PPNet_kuaivideo_x1/PPNet_kuaivideo_x1_tuner_config_01/PPNet_kuaivideo_x1_tuner_config_01/dataset_config.yaml new file mode 100644 index 0000000..b43f0c9 --- /dev/null +++ b/ranking/ctr/PPNet/PPNet_kuaivideo_x1/PPNet_kuaivideo_x1_tuner_config_01/PPNet_kuaivideo_x1_tuner_config_01/dataset_config.yaml @@ -0,0 +1,26 @@ +kuaivideo_x1_dc7a3035: + data_format: csv + data_root: ../data/KuaiShou/ + feature_cols: + - {active: true, dtype: int, name: group_id, preprocess: copy_from(user_id), remap: false, + type: meta} + - {active: true, dtype: str, name: user_id, type: categorical} + - {active: true, dtype: str, name: item_id, type: categorical} + - {active: true, dtype: str, embedding_dim: 64, min_categr_count: 1, name: item_emb, + preprocess: copy_from(item_id), pretrained_emb: ../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5, + type: categorical} + - {active: true, dtype: str, max_len: 100, name: pos_items, padding: pre, share_embedding: item_id, + splitter: ^, type: sequence} + - {active: true, dtype: str, max_len: 100, name: neg_items, padding: pre, share_embedding: item_id, + splitter: ^, type: sequence} + - {active: true, dtype: str, embedding_dim: 64, max_len: 100, min_categr_count: 1, + name: pos_items_emb, padding: pre, preprocess: copy_from(pos_items), pretrained_emb: ../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5, + share_embedding: item_emb, splitter: ^, type: sequence} + - {active: true, dtype: str, embedding_dim: 64, max_len: 100, min_categr_count: 1, + name: neg_items_emb, padding: pre, preprocess: copy_from(neg_items), pretrained_emb: ../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5, + share_embedding: item_emb, splitter: ^, type: sequence} + label_col: {dtype: float, name: is_click} + min_categr_count: 10 + test_data: ../data/KuaiShou/KuaiVideo_x1/test.csv + train_data: ../data/KuaiShou/KuaiVideo_x1/train.csv + valid_data: ../data/KuaiShou/KuaiVideo_x1/test.csv diff --git a/ranking/ctr/PPNet/PPNet_kuaivideo_x1/PPNet_kuaivideo_x1_tuner_config_01/PPNet_kuaivideo_x1_tuner_config_01/model_config.yaml b/ranking/ctr/PPNet/PPNet_kuaivideo_x1/PPNet_kuaivideo_x1_tuner_config_01/PPNet_kuaivideo_x1_tuner_config_01/model_config.yaml new file mode 100644 index 0000000..52c383b --- /dev/null +++ b/ranking/ctr/PPNet/PPNet_kuaivideo_x1/PPNet_kuaivideo_x1_tuner_config_01/PPNet_kuaivideo_x1_tuner_config_01/model_config.yaml @@ -0,0 +1,1038 @@ +PPNet_kuaivideo_x1_001_6fe6d0a4: + batch_norm: false + batch_size: 8192 + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 5.0e-05 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + gate_emb_dim: 16 + gate_hidden_dim: 128 + gate_priors: [user_id] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_kuaivideo_x1_002_265462d6: + batch_norm: false + batch_size: 8192 + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 5.0e-05 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + gate_emb_dim: 16 + gate_hidden_dim: 256 + gate_priors: [user_id] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_kuaivideo_x1_003_8941969f: + batch_norm: false + batch_size: 8192 + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 5.0e-05 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + gate_emb_dim: 16 + gate_hidden_dim: 512 + gate_priors: [user_id] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_kuaivideo_x1_004_c0e5891e: + batch_norm: false + batch_size: 8192 + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 5.0e-05 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + gate_emb_dim: 16 + gate_hidden_dim: 128 + gate_priors: [item_id] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_kuaivideo_x1_005_1c2619b8: + batch_norm: false + batch_size: 8192 + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 5.0e-05 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + gate_emb_dim: 16 + gate_hidden_dim: 256 + gate_priors: [item_id] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_kuaivideo_x1_006_035ccec1: + batch_norm: false + batch_size: 8192 + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 5.0e-05 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + gate_emb_dim: 16 + gate_hidden_dim: 512 + gate_priors: [item_id] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_kuaivideo_x1_007_841ae5de: + batch_norm: false + batch_size: 8192 + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 5.0e-05 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + gate_emb_dim: 16 + gate_hidden_dim: 128 + gate_priors: [user_id, item_id, item_emb] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_kuaivideo_x1_008_c04d99fc: + batch_norm: false + batch_size: 8192 + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 5.0e-05 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + gate_emb_dim: 16 + gate_hidden_dim: 256 + gate_priors: [user_id, item_id, item_emb] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_kuaivideo_x1_009_3111cfc5: + batch_norm: false + batch_size: 8192 + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 5.0e-05 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + gate_emb_dim: 16 + gate_hidden_dim: 512 + gate_priors: [user_id, item_id, item_emb] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_kuaivideo_x1_010_6df5bb32: + batch_norm: false + batch_size: 8192 + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 5.0e-05 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + gate_emb_dim: 16 + gate_hidden_dim: 128 + gate_priors: [user_id, item_id, item_emb, pos_items, neg_items, pos_items_emb, + neg_items_emb] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_kuaivideo_x1_011_30354a8f: + batch_norm: false + batch_size: 8192 + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 5.0e-05 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + gate_emb_dim: 16 + gate_hidden_dim: 256 + gate_priors: [user_id, item_id, item_emb, pos_items, neg_items, pos_items_emb, + neg_items_emb] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_kuaivideo_x1_012_bf310ed4: + batch_norm: false + batch_size: 8192 + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 5.0e-05 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + gate_emb_dim: 16 + gate_hidden_dim: 512 + gate_priors: [user_id, item_id, item_emb, pos_items, neg_items, pos_items_emb, + neg_items_emb] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_kuaivideo_x1_013_993a6782: + batch_norm: false + batch_size: 8192 + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 5.0e-05 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + gate_emb_dim: 32 + gate_hidden_dim: 128 + gate_priors: [user_id] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_kuaivideo_x1_014_7d68129b: + batch_norm: false + batch_size: 8192 + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 5.0e-05 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + gate_emb_dim: 32 + gate_hidden_dim: 256 + gate_priors: [user_id] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_kuaivideo_x1_015_711a59e6: + batch_norm: false + batch_size: 8192 + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 5.0e-05 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + gate_emb_dim: 32 + gate_hidden_dim: 512 + gate_priors: [user_id] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_kuaivideo_x1_016_0dad10bd: + batch_norm: false + batch_size: 8192 + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 5.0e-05 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + gate_emb_dim: 32 + gate_hidden_dim: 128 + gate_priors: [item_id] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_kuaivideo_x1_017_eed07963: + batch_norm: false + batch_size: 8192 + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 5.0e-05 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + gate_emb_dim: 32 + gate_hidden_dim: 256 + gate_priors: [item_id] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_kuaivideo_x1_018_71ca4227: + batch_norm: false + batch_size: 8192 + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 5.0e-05 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + gate_emb_dim: 32 + gate_hidden_dim: 512 + gate_priors: [item_id] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_kuaivideo_x1_019_0f211687: + batch_norm: false + batch_size: 8192 + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 5.0e-05 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + gate_emb_dim: 32 + gate_hidden_dim: 128 + gate_priors: [user_id, item_id, item_emb] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_kuaivideo_x1_020_6d3be93e: + batch_norm: false + batch_size: 8192 + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 5.0e-05 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + gate_emb_dim: 32 + gate_hidden_dim: 256 + gate_priors: [user_id, item_id, item_emb] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_kuaivideo_x1_021_dcc6b10c: + batch_norm: false + batch_size: 8192 + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 5.0e-05 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + gate_emb_dim: 32 + gate_hidden_dim: 512 + gate_priors: [user_id, item_id, item_emb] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_kuaivideo_x1_022_e0a736fb: + batch_norm: false + batch_size: 8192 + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 5.0e-05 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + gate_emb_dim: 32 + gate_hidden_dim: 128 + gate_priors: [user_id, item_id, item_emb, pos_items, neg_items, pos_items_emb, + neg_items_emb] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_kuaivideo_x1_023_e18bae10: + batch_norm: false + batch_size: 8192 + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 5.0e-05 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + gate_emb_dim: 32 + gate_hidden_dim: 256 + gate_priors: [user_id, item_id, item_emb, pos_items, neg_items, pos_items_emb, + neg_items_emb] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_kuaivideo_x1_024_7cdf8d53: + batch_norm: false + batch_size: 8192 + dataset_id: kuaivideo_x1_dc7a3035 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 5.0e-05 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_emb} + - {feature_encoder: layers.MaskedAveragePooling(), name: pos_items} + - {feature_encoder: layers.MaskedAveragePooling(), name: neg_items} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: pos_items_emb + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: neg_items_emb + gate_emb_dim: 32 + gate_hidden_dim: 512 + gate_priors: [user_id, item_id, item_emb, pos_items, neg_items, pos_items_emb, + neg_items_emb] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_kuaivideo_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.1 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 diff --git a/ranking/ctr/PPNet/PPNet_kuaivideo_x1/README.md b/ranking/ctr/PPNet/PPNet_kuaivideo_x1/README.md new file mode 100644 index 0000000..bac4b49 --- /dev/null +++ b/ranking/ctr/PPNet/PPNet_kuaivideo_x1/README.md @@ -0,0 +1,208 @@ +## PPNet_kuaishou_x1 + +A hands-on guide to run the PPNet model on the KuaiVideo_x1 dataset. + +Author: [BARS Benchmark](https://github.com/reczoo/BARS/blob/main/CITATION) + + +| [Environments](#Environments) | [Dataset](#Dataset) | [Code](#Code) | [Results](#Results) | [Logs](#Logs) | +|:-----------------------------:|:-----------:|:--------:|:--------:|-------| +### Environments ++ Hardware + + ```python + CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz + GPU: Tesla V100 32G + RAM: 755G + + ``` + ++ Software + + ```python + cuda: 10.2 + python: 3.7.10 + pytorch: 1.11.0 + pandas: 1.1.5 + numpy: 1.19.5 + scipy: 1.5.2 + sklearn: 0.22.1 + pyyaml: 6.0 + h5py: 2.8.0 + tqdm: 4.64.0 + fuxictr: 2.0.3 + + ``` + +### Dataset +Please refer to [KuaiVideo_x1](https://github.com/reczoo/Datasets/tree/main/KuaiShou/KuaiVideo_x1) to get the dataset details. + +### Code + +We use the [PPNet](https://github.com/reczoo/FuxiCTR/tree/v2.0.3/model_zoo/PPNet) model code from [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/tree/v2.0.3) for this experiment. + +Running steps: + +1. Download [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/archive/refs/tags/v2.0.3.zip) and install all the dependencies listed in the [environments](#environments). + + ```bash + pip uninstall fuxictr + pip install fuxictr==2.0.3 + ``` + +2. Create a data directory and put the downloaded data files in `../data/KuaiShou/KuaiVideo_x1`. + +3. Both `dataset_config.yaml` and `model_config.yaml` files are available in [PPNet_kuaivideo_x1_tuner_config_01](./PPNet_kuaivideo_x1_tuner_config_01). Please make sure that the data paths in `dataset_config.yaml` are correctly set. + +4. Run the following script to start training and evaluation. + + ```bash + cd FuxiCTR/model_zoo/PPNet + nohup python run_expid.py --config YOUR_PATH/PPNet/PPNet_kuaivideo_x1_tuner_config_01 --expid PPNet_kuaivideo_x1_018_71ca4227 --gpu 0 > run.log & + tail -f run.log + ``` + +### Results + +| gAUC | AUC | logloss | +|:--------------------:|:--------------------:|:--------------------:| +| 0.666808 | 0.746437 | 0.437027 | + + +### Logs +```python +2023-06-02 07:21:34,050 P20089 INFO Params: { + "batch_norm": "False", + "batch_size": "8192", + "data_format": "csv", + "data_root": "../data/KuaiShou/", + "dataset_id": "kuaivideo_x1_dc7a3035", + "debug_mode": "False", + "early_stop_patience": "2", + "embedding_dim": "64", + "embedding_regularizer": "5e-05", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'group_id', 'preprocess': 'copy_from(user_id)', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': 'user_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'name': 'item_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'min_categr_count': 1, 'name': 'item_emb', 'preprocess': 'copy_from(item_id)', 'pretrained_emb': '../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'max_len': 100, 'name': 'pos_items', 'padding': 'pre', 'share_embedding': 'item_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 100, 'name': 'neg_items', 'padding': 'pre', 'share_embedding': 'item_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'max_len': 100, 'min_categr_count': 1, 'name': 'pos_items_emb', 'padding': 'pre', 'preprocess': 'copy_from(pos_items)', 'pretrained_emb': '../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5', 'share_embedding': 'item_emb', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'max_len': 100, 'min_categr_count': 1, 'name': 'neg_items_emb', 'padding': 'pre', 'preprocess': 'copy_from(neg_items)', 'pretrained_emb': '../data/KuaiShou/KuaiVideo_x1/item_visual_emb_dim64.h5', 'share_embedding': 'item_emb', 'splitter': '^', 'type': 'sequence'}]", + "feature_config": "None", + "feature_specs": "[{'feature_encoder': 'nn.Linear(64, 64, bias=False)', 'name': 'item_emb'}, {'feature_encoder': 'layers.MaskedAveragePooling()', 'name': 'pos_items'}, {'feature_encoder': 'layers.MaskedAveragePooling()', 'name': 'neg_items'}, {'feature_encoder': ['layers.MaskedAveragePooling()', 'nn.Linear(64, 64, bias=False)'], 'name': 'pos_items_emb'}, {'feature_encoder': ['layers.MaskedAveragePooling()', 'nn.Linear(64, 64, bias=False)'], 'name': 'neg_items_emb'}]", + "gate_emb_dim": "32", + "gate_hidden_dim": "512", + "gate_priors": "['item_id']", + "gpu": "6", + "group_id": "group_id", + "hidden_activations": "ReLU", + "hidden_units": "[1024, 512, 256]", + "label_col": "{'dtype': 'float', 'name': 'is_click'}", + "learning_rate": "0.001", + "loss": "binary_crossentropy", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "10", + "model": "PPNet", + "model_id": "PPNet_kuaivideo_x1_018_71ca4227", + "model_root": "./checkpoints/PPNet_kuaivideo_x1/", + "monitor": "{'AUC': 1, 'gAUC': 1}", + "monitor_mode": "max", + "net_dropout": "0.1", + "net_regularizer": "0", + "num_workers": "3", + "optimizer": "adam", + "pickle_feature_encoder": "True", + "save_best_only": "True", + "seed": "20222023", + "shuffle": "True", + "task": "binary_classification", + "test_data": "../data/KuaiShou/KuaiVideo_x1/test.csv", + "train_data": "../data/KuaiShou/KuaiVideo_x1/train.csv", + "use_features": "None", + "valid_data": "../data/KuaiShou/KuaiVideo_x1/test.csv", + "verbose": "1" +} +2023-06-02 07:21:34,093 P20089 INFO Set up feature processor... +2023-06-02 07:21:34,093 P20089 WARNING Skip rebuilding ../data/KuaiShou/kuaivideo_x1_dc7a3035/feature_map.json. Please delete it manually if rebuilding is required. +2023-06-02 07:21:34,093 P20089 INFO Load feature_map from json: ../data/KuaiShou/kuaivideo_x1_dc7a3035/feature_map.json +2023-06-02 07:21:34,094 P20089 INFO Set column index... +2023-06-02 07:21:34,094 P20089 INFO Feature specs: { + "group_id": "{'type': 'meta'}", + "item_emb": "{'source': '', 'type': 'categorical', 'embedding_dim': 64, 'pretrained_emb': 'pretrained_emb.h5', 'freeze_emb': True, 'padding_idx': 0, 'oov_idx': 3242316, 'vocab_size': 3242317, 'feature_encoder': 'nn.Linear(64, 64, bias=False)'}", + "item_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 632405, 'vocab_size': 632406}", + "neg_items": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'item_id', 'padding_idx': 0, 'oov_idx': 632405, 'vocab_size': 632406, 'max_len': 100}", + "neg_items_emb": "{'source': '', 'type': 'sequence', 'feature_encoder': ['layers.MaskedAveragePooling()', 'nn.Linear(64, 64, bias=False)'], 'embedding_dim': 64, 'share_embedding': 'item_emb', 'padding_idx': 0, 'oov_idx': 3242316, 'vocab_size': 3242317, 'max_len': 100}", + "pos_items": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'item_id', 'padding_idx': 0, 'oov_idx': 632405, 'vocab_size': 632406, 'max_len': 100}", + "pos_items_emb": "{'source': '', 'type': 'sequence', 'feature_encoder': ['layers.MaskedAveragePooling()', 'nn.Linear(64, 64, bias=False)'], 'embedding_dim': 64, 'share_embedding': 'item_emb', 'padding_idx': 0, 'oov_idx': 3242316, 'vocab_size': 3242317, 'max_len': 100}", + "user_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 10001, 'vocab_size': 10002}" +} +2023-06-02 07:21:41,703 P20089 INFO Total number of parameters: 64137665. +2023-06-02 07:21:41,703 P20089 INFO Loading data... +2023-06-02 07:21:41,703 P20089 INFO Loading data from h5: ../data/KuaiShou/kuaivideo_x1_dc7a3035/train.h5 +2023-06-02 07:22:07,760 P20089 INFO Train samples: total/10931092, blocks/1 +2023-06-02 07:22:07,760 P20089 INFO Loading data from h5: ../data/KuaiShou/kuaivideo_x1_dc7a3035/valid.h5 +2023-06-02 07:22:13,961 P20089 INFO Validation samples: total/2730291, blocks/1 +2023-06-02 07:22:13,961 P20089 INFO Loading train and validation data done. +2023-06-02 07:22:13,961 P20089 INFO Start training: 1335 batches/epoch +2023-06-02 07:22:13,961 P20089 INFO ************ Epoch=1 start ************ +2023-06-02 07:27:14,324 P20089 INFO Train loss: 0.452990 +2023-06-02 07:27:14,324 P20089 INFO Evaluation @epoch 1 - batch 1335: +2023-06-02 07:28:19,548 P20089 INFO [Metrics] AUC: 0.727919 - gAUC: 0.639835 +2023-06-02 07:28:19,550 P20089 INFO Save best model: monitor(max)=1.367754 +2023-06-02 07:28:22,061 P20089 INFO ************ Epoch=1 end ************ +2023-06-02 07:32:05,009 P20089 INFO Train loss: 0.442990 +2023-06-02 07:32:05,014 P20089 INFO Evaluation @epoch 2 - batch 1335: +2023-06-02 07:33:01,292 P20089 INFO [Metrics] AUC: 0.733623 - gAUC: 0.649477 +2023-06-02 07:33:01,296 P20089 INFO Save best model: monitor(max)=1.383100 +2023-06-02 07:33:03,715 P20089 INFO ************ Epoch=2 end ************ +2023-06-02 07:35:44,584 P20089 INFO Train loss: 0.438196 +2023-06-02 07:35:44,585 P20089 INFO Evaluation @epoch 3 - batch 1335: +2023-06-02 07:36:20,917 P20089 INFO [Metrics] AUC: 0.736829 - gAUC: 0.654141 +2023-06-02 07:36:20,918 P20089 INFO Save best model: monitor(max)=1.390969 +2023-06-02 07:36:23,418 P20089 INFO ************ Epoch=3 end ************ +2023-06-02 07:38:27,515 P20089 INFO Train loss: 0.435034 +2023-06-02 07:38:27,515 P20089 INFO Evaluation @epoch 4 - batch 1335: +2023-06-02 07:39:04,830 P20089 INFO [Metrics] AUC: 0.740345 - gAUC: 0.658251 +2023-06-02 07:39:04,832 P20089 INFO Save best model: monitor(max)=1.398595 +2023-06-02 07:39:07,654 P20089 INFO ************ Epoch=4 end ************ +2023-06-02 07:41:11,354 P20089 INFO Train loss: 0.432669 +2023-06-02 07:41:11,355 P20089 INFO Evaluation @epoch 5 - batch 1335: +2023-06-02 07:41:48,670 P20089 INFO [Metrics] AUC: 0.742553 - gAUC: 0.660145 +2023-06-02 07:41:48,672 P20089 INFO Save best model: monitor(max)=1.402698 +2023-06-02 07:41:51,120 P20089 INFO ************ Epoch=5 end ************ +2023-06-02 07:43:52,727 P20089 INFO Train loss: 0.430849 +2023-06-02 07:43:52,727 P20089 INFO Evaluation @epoch 6 - batch 1335: +2023-06-02 07:44:28,824 P20089 INFO [Metrics] AUC: 0.741969 - gAUC: 0.659522 +2023-06-02 07:44:28,825 P20089 INFO Monitor(max)=1.401491 STOP! +2023-06-02 07:44:28,825 P20089 INFO Reduce learning rate on plateau: 0.000100 +2023-06-02 07:44:28,904 P20089 INFO ************ Epoch=6 end ************ +2023-06-02 07:46:36,372 P20089 INFO Train loss: 0.413364 +2023-06-02 07:46:36,373 P20089 INFO Evaluation @epoch 7 - batch 1335: +2023-06-02 07:47:13,945 P20089 INFO [Metrics] AUC: 0.746466 - gAUC: 0.665974 +2023-06-02 07:47:13,947 P20089 INFO Save best model: monitor(max)=1.412440 +2023-06-02 07:47:16,401 P20089 INFO ************ Epoch=7 end ************ +2023-06-02 07:49:20,431 P20089 INFO Train loss: 0.407560 +2023-06-02 07:49:20,432 P20089 INFO Evaluation @epoch 8 - batch 1335: +2023-06-02 07:49:47,157 P20089 INFO [Metrics] AUC: 0.746437 - gAUC: 0.666808 +2023-06-02 07:49:47,158 P20089 INFO Save best model: monitor(max)=1.413245 +2023-06-02 07:49:49,759 P20089 INFO ************ Epoch=8 end ************ +2023-06-02 07:51:30,264 P20089 INFO Train loss: 0.403702 +2023-06-02 07:51:30,264 P20089 INFO Evaluation @epoch 9 - batch 1335: +2023-06-02 07:51:56,818 P20089 INFO [Metrics] AUC: 0.745861 - gAUC: 0.666850 +2023-06-02 07:51:56,820 P20089 INFO Monitor(max)=1.412711 STOP! +2023-06-02 07:51:56,820 P20089 INFO Reduce learning rate on plateau: 0.000010 +2023-06-02 07:51:56,906 P20089 INFO ************ Epoch=9 end ************ +2023-06-02 07:53:39,200 P20089 INFO Train loss: 0.395312 +2023-06-02 07:53:39,200 P20089 INFO Evaluation @epoch 10 - batch 1335: +2023-06-02 07:54:00,648 P20089 INFO [Metrics] AUC: 0.744890 - gAUC: 0.666531 +2023-06-02 07:54:00,649 P20089 INFO Monitor(max)=1.411420 STOP! +2023-06-02 07:54:00,650 P20089 INFO Reduce learning rate on plateau: 0.000001 +2023-06-02 07:54:00,650 P20089 INFO ********* Epoch==10 early stop ********* +2023-06-02 07:54:00,736 P20089 INFO Training finished. +2023-06-02 07:54:00,737 P20089 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/PPNet_kuaivideo_x1/kuaivideo_x1_dc7a3035/PPNet_kuaivideo_x1_018_71ca4227.model +2023-06-02 07:54:01,954 P20089 INFO ****** Validation evaluation ****** +2023-06-02 07:54:22,535 P20089 INFO [Metrics] gAUC: 0.666808 - AUC: 0.746437 - logloss: 0.437027 +2023-06-02 07:54:22,697 P20089 INFO ******** Test evaluation ******** +2023-06-02 07:54:22,697 P20089 INFO Loading data... +2023-06-02 07:54:22,697 P20089 INFO Loading data from h5: ../data/KuaiShou/kuaivideo_x1_dc7a3035/test.h5 +2023-06-02 07:54:28,240 P20089 INFO Test samples: total/2730291, blocks/1 +2023-06-02 07:54:28,240 P20089 INFO Loading test data done. +2023-06-02 07:54:48,592 P20089 INFO [Metrics] gAUC: 0.666808 - AUC: 0.746437 - logloss: 0.437027 + +``` diff --git a/ranking/ctr/PPNet/PPNet_kuaivideo_x1/environments.txt b/ranking/ctr/PPNet/PPNet_kuaivideo_x1/environments.txt new file mode 100644 index 0000000..a39d234 --- /dev/null +++ b/ranking/ctr/PPNet/PPNet_kuaivideo_x1/environments.txt @@ -0,0 +1,17 @@ +[Hardware] +CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz +GPU: Tesla V100 32G +RAM: 755G + +[Software] +cuda: 10.2 +python: 3.7.10 +pytorch: 1.11.0 +pandas: 1.1.5 +numpy: 1.19.5 +scipy: 1.5.2 +sklearn: 0.22.1 +pyyaml: 6.0 +h5py: 2.8.0 +tqdm: 4.64.0 +fuxictr: 2.0.3 diff --git a/ranking/ctr/PPNet/PPNet_kuaivideo_x1/results.csv b/ranking/ctr/PPNet/PPNet_kuaivideo_x1/results.csv new file mode 100644 index 0000000..2a93e08 --- /dev/null +++ b/ranking/ctr/PPNet/PPNet_kuaivideo_x1/results.csv @@ -0,0 +1 @@ + 20230601-225710,[command] python run_expid.py --config KuaiShou/PPNet_kuaishou_x1/PPNet_kuaivideo_x1_tuner_config_01 --expid PPNet_kuaivideo_x1_018_71ca4227 --gpu 6,[exp_id] PPNet_kuaivideo_x1_018_71ca4227,[dataset_id] kuaivideo_x1_dc7a3035,[train] N.A.,[val] gAUC: 0.666808 - AUC: 0.746437 - logloss: 0.437027,[test] gAUC: 0.666808 - AUC: 0.746437 - logloss: 0.437027 diff --git a/ranking/ctr/PPNet/PPNet_microvideo1.7m_x1/PPNet_microvideo1.7m_x1_001_97742c0f.log b/ranking/ctr/PPNet/PPNet_microvideo1.7m_x1/PPNet_microvideo1.7m_x1_001_97742c0f.log new file mode 100644 index 0000000..59479bf --- /dev/null +++ b/ranking/ctr/PPNet/PPNet_microvideo1.7m_x1/PPNet_microvideo1.7m_x1_001_97742c0f.log @@ -0,0 +1,161 @@ +2023-06-04 02:38:36,259 P104561 INFO Params: { + "batch_norm": "True", + "batch_size": "2048", + "data_format": "csv", + "data_root": "../data/MicroVideo1.7M/", + "dataset_id": "microvideo1.7m_x1_0d855fe6", + "debug_mode": "False", + "early_stop_patience": "2", + "embedding_dim": "64", + "embedding_regularizer": "0.0005", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'group_id', 'preprocess': 'copy_from(user_id)', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': 'user_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'name': 'item_id', 'pretrained_emb': '../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'name': 'cate_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'max_len': 100, 'name': 'clicked_items', 'padding': 'pre', 'pretrained_emb': '../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 100, 'name': 'clicked_categories', 'padding': 'pre', 'share_embedding': 'cate_id', 'splitter': '^', 'type': 'sequence'}, {'active': False, 'dtype': 'str', 'name': 'timestamp', 'type': 'categorical'}]", + "feature_config": "None", + "feature_specs": "[{'feature_encoder': 'nn.Linear(64, 64, bias=False)', 'name': 'item_id'}, {'feature_encoder': ['layers.MaskedAveragePooling()', 'nn.Linear(64, 64, bias=False)'], 'name': 'clicked_items'}, {'feature_encoder': 'layers.MaskedAveragePooling()', 'name': 'clicked_categories'}]", + "gate_emb_dim": "64", + "gate_hidden_dim": "128", + "gate_priors": "['user_id']", + "gpu": "0", + "group_id": "group_id", + "hidden_activations": "ReLU", + "hidden_units": "[1024, 512, 256]", + "label_col": "{'dtype': 'float', 'name': 'is_click'}", + "learning_rate": "0.0005", + "loss": "binary_crossentropy", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "1", + "model": "PPNet", + "model_id": "PPNet_microvideo1.7m_x1_001_97742c0f", + "model_root": "./checkpoints/PPNet_microvideo1.7m_x1/", + "monitor": "{'AUC': 1, 'gAUC': 1}", + "monitor_mode": "max", + "net_dropout": "0.2", + "net_regularizer": "0", + "num_workers": "3", + "optimizer": "adam", + "pickle_feature_encoder": "True", + "save_best_only": "True", + "seed": "2022", + "shuffle": "True", + "task": "binary_classification", + "test_data": "../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv", + "train_data": "../data/MicroVideo1.7M/MicroVideo1.7M_x1/train.csv", + "use_features": "None", + "valid_data": "../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv", + "verbose": "1" +} +2023-06-04 02:38:36,260 P104561 INFO Set up feature processor... +2023-06-04 02:38:36,260 P104561 WARNING Skip rebuilding ../data/MicroVideo1.7M/microvideo1.7m_x1_0d855fe6/feature_map.json. Please delete it manually if rebuilding is required. +2023-06-04 02:38:36,260 P104561 INFO Load feature_map from json: ../data/MicroVideo1.7M/microvideo1.7m_x1_0d855fe6/feature_map.json +2023-06-04 02:38:36,260 P104561 INFO Set column index... +2023-06-04 02:38:36,260 P104561 INFO Feature specs: { + "cate_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 513, 'vocab_size': 514}", + "clicked_categories": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'cate_id', 'padding_idx': 0, 'oov_idx': 513, 'vocab_size': 514, 'max_len': 100}", + "clicked_items": "{'source': '', 'type': 'sequence', 'feature_encoder': ['layers.MaskedAveragePooling()', 'nn.Linear(64, 64, bias=False)'], 'embedding_dim': 64, 'pretrained_emb': 'pretrained_emb.h5', 'freeze_emb': True, 'padding_idx': 0, 'oov_idx': 1704881, 'vocab_size': 1704882, 'max_len': 100}", + "group_id": "{'type': 'meta'}", + "item_id": "{'source': '', 'type': 'categorical', 'embedding_dim': 64, 'pretrained_emb': 'pretrained_emb.h5', 'freeze_emb': True, 'padding_idx': 0, 'oov_idx': 1704881, 'vocab_size': 1704882, 'feature_encoder': 'nn.Linear(64, 64, bias=False)'}", + "user_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 10987, 'vocab_size': 10988}" +} +2023-06-04 02:38:43,782 P104561 INFO Total number of parameters: 2815233. +2023-06-04 02:38:43,783 P104561 INFO Loading data... +2023-06-04 02:38:43,783 P104561 INFO Loading data from h5: ../data/MicroVideo1.7M/microvideo1.7m_x1_0d855fe6/train.h5 +2023-06-04 02:38:53,767 P104561 INFO Train samples: total/8970309, blocks/1 +2023-06-04 02:38:53,767 P104561 INFO Loading data from h5: ../data/MicroVideo1.7M/microvideo1.7m_x1_0d855fe6/valid.h5 +2023-06-04 02:38:58,043 P104561 INFO Validation samples: total/3767308, blocks/1 +2023-06-04 02:38:58,043 P104561 INFO Loading train and validation data done. +2023-06-04 02:38:58,043 P104561 INFO Start training: 4381 batches/epoch +2023-06-04 02:38:58,043 P104561 INFO ************ Epoch=1 start ************ +2023-06-04 02:47:02,330 P104561 INFO Train loss: 0.460393 +2023-06-04 02:47:02,330 P104561 INFO Evaluation @epoch 1 - batch 4381: +2023-06-04 02:50:36,625 P104561 INFO [Metrics] AUC: 0.716033 - gAUC: 0.670363 +2023-06-04 02:50:36,631 P104561 INFO Save best model: monitor(max)=1.386396 +2023-06-04 02:50:38,264 P104561 INFO ************ Epoch=1 end ************ +2023-06-04 02:58:43,978 P104561 INFO Train loss: 0.442108 +2023-06-04 02:58:43,978 P104561 INFO Evaluation @epoch 2 - batch 4381: +2023-06-04 03:02:18,951 P104561 INFO [Metrics] AUC: 0.720923 - gAUC: 0.672270 +2023-06-04 03:02:18,977 P104561 INFO Save best model: monitor(max)=1.393192 +2023-06-04 03:02:21,011 P104561 INFO ************ Epoch=2 end ************ +2023-06-04 03:10:16,104 P104561 INFO Train loss: 0.437907 +2023-06-04 03:10:16,104 P104561 INFO Evaluation @epoch 3 - batch 4381: +2023-06-04 03:13:48,307 P104561 INFO [Metrics] AUC: 0.724069 - gAUC: 0.676025 +2023-06-04 03:13:48,308 P104561 INFO Save best model: monitor(max)=1.400094 +2023-06-04 03:13:50,267 P104561 INFO ************ Epoch=3 end ************ +2023-06-04 03:21:48,980 P104561 INFO Train loss: 0.436121 +2023-06-04 03:21:48,981 P104561 INFO Evaluation @epoch 4 - batch 4381: +2023-06-04 03:25:22,289 P104561 INFO [Metrics] AUC: 0.724788 - gAUC: 0.677178 +2023-06-04 03:25:22,290 P104561 INFO Save best model: monitor(max)=1.401966 +2023-06-04 03:25:24,263 P104561 INFO ************ Epoch=4 end ************ +2023-06-04 03:33:28,958 P104561 INFO Train loss: 0.434862 +2023-06-04 03:33:28,958 P104561 INFO Evaluation @epoch 5 - batch 4381: +2023-06-04 03:37:01,145 P104561 INFO [Metrics] AUC: 0.726472 - gAUC: 0.678042 +2023-06-04 03:37:01,149 P104561 INFO Save best model: monitor(max)=1.404514 +2023-06-04 03:37:03,234 P104561 INFO ************ Epoch=5 end ************ +2023-06-04 03:45:02,208 P104561 INFO Train loss: 0.433747 +2023-06-04 03:45:02,209 P104561 INFO Evaluation @epoch 6 - batch 4381: +2023-06-04 03:48:34,597 P104561 INFO [Metrics] AUC: 0.725813 - gAUC: 0.678635 +2023-06-04 03:48:34,600 P104561 INFO Monitor(max)=1.404448 STOP! +2023-06-04 03:48:34,601 P104561 INFO Reduce learning rate on plateau: 0.000050 +2023-06-04 03:48:34,682 P104561 INFO ************ Epoch=6 end ************ +2023-06-04 03:56:41,576 P104561 INFO Train loss: 0.423679 +2023-06-04 03:56:41,577 P104561 INFO Evaluation @epoch 7 - batch 4381: +2023-06-04 04:00:12,600 P104561 INFO [Metrics] AUC: 0.733079 - gAUC: 0.684859 +2023-06-04 04:00:12,605 P104561 INFO Save best model: monitor(max)=1.417938 +2023-06-04 04:00:14,615 P104561 INFO ************ Epoch=7 end ************ +2023-06-04 04:08:18,885 P104561 INFO Train loss: 0.419839 +2023-06-04 04:08:18,886 P104561 INFO Evaluation @epoch 8 - batch 4381: +2023-06-04 04:11:50,572 P104561 INFO [Metrics] AUC: 0.733664 - gAUC: 0.685047 +2023-06-04 04:11:50,575 P104561 INFO Save best model: monitor(max)=1.418710 +2023-06-04 04:11:52,634 P104561 INFO ************ Epoch=8 end ************ +2023-06-04 04:19:58,946 P104561 INFO Train loss: 0.418099 +2023-06-04 04:19:58,947 P104561 INFO Evaluation @epoch 9 - batch 4381: +2023-06-04 04:23:31,665 P104561 INFO [Metrics] AUC: 0.733961 - gAUC: 0.685414 +2023-06-04 04:23:31,668 P104561 INFO Save best model: monitor(max)=1.419375 +2023-06-04 04:23:33,600 P104561 INFO ************ Epoch=9 end ************ +2023-06-04 04:31:40,930 P104561 INFO Train loss: 0.416796 +2023-06-04 04:31:40,931 P104561 INFO Evaluation @epoch 10 - batch 4381: +2023-06-04 04:35:14,930 P104561 INFO [Metrics] AUC: 0.734369 - gAUC: 0.685685 +2023-06-04 04:35:14,937 P104561 INFO Save best model: monitor(max)=1.420053 +2023-06-04 04:35:17,003 P104561 INFO ************ Epoch=10 end ************ +2023-06-04 04:43:33,153 P104561 INFO Train loss: 0.415682 +2023-06-04 04:43:33,153 P104561 INFO Evaluation @epoch 11 - batch 4381: +2023-06-04 04:47:05,456 P104561 INFO [Metrics] AUC: 0.734647 - gAUC: 0.685824 +2023-06-04 04:47:05,459 P104561 INFO Save best model: monitor(max)=1.420472 +2023-06-04 04:47:07,558 P104561 INFO ************ Epoch=11 end ************ +2023-06-04 04:55:12,445 P104561 INFO Train loss: 0.414763 +2023-06-04 04:55:12,445 P104561 INFO Evaluation @epoch 12 - batch 4381: +2023-06-04 04:58:42,830 P104561 INFO [Metrics] AUC: 0.734531 - gAUC: 0.685963 +2023-06-04 04:58:42,835 P104561 INFO Save best model: monitor(max)=1.420494 +2023-06-04 04:58:44,811 P104561 INFO ************ Epoch=12 end ************ +2023-06-04 05:06:51,051 P104561 INFO Train loss: 0.413799 +2023-06-04 05:06:51,052 P104561 INFO Evaluation @epoch 13 - batch 4381: +2023-06-04 05:10:26,252 P104561 INFO [Metrics] AUC: 0.734719 - gAUC: 0.686250 +2023-06-04 05:10:26,255 P104561 INFO Save best model: monitor(max)=1.420969 +2023-06-04 05:10:28,245 P104561 INFO ************ Epoch=13 end ************ +2023-06-04 05:18:33,965 P104561 INFO Train loss: 0.413071 +2023-06-04 05:18:33,966 P104561 INFO Evaluation @epoch 14 - batch 4381: +2023-06-04 05:22:04,365 P104561 INFO [Metrics] AUC: 0.734938 - gAUC: 0.686542 +2023-06-04 05:22:04,371 P104561 INFO Save best model: monitor(max)=1.421480 +2023-06-04 05:22:06,489 P104561 INFO ************ Epoch=14 end ************ +2023-06-04 05:30:14,676 P104561 INFO Train loss: 0.412329 +2023-06-04 05:30:14,677 P104561 INFO Evaluation @epoch 15 - batch 4381: +2023-06-04 05:33:44,383 P104561 INFO [Metrics] AUC: 0.734761 - gAUC: 0.686296 +2023-06-04 05:33:44,386 P104561 INFO Monitor(max)=1.421057 STOP! +2023-06-04 05:33:44,387 P104561 INFO Reduce learning rate on plateau: 0.000005 +2023-06-04 05:33:44,449 P104561 INFO ************ Epoch=15 end ************ +2023-06-04 05:41:49,035 P104561 INFO Train loss: 0.406621 +2023-06-04 05:41:49,036 P104561 INFO Evaluation @epoch 16 - batch 4381: +2023-06-04 05:45:11,806 P104561 INFO [Metrics] AUC: 0.734859 - gAUC: 0.686399 +2023-06-04 05:45:11,812 P104561 INFO Monitor(max)=1.421258 STOP! +2023-06-04 05:45:11,812 P104561 INFO Reduce learning rate on plateau: 0.000001 +2023-06-04 05:45:11,812 P104561 INFO ********* Epoch==16 early stop ********* +2023-06-04 05:45:11,874 P104561 INFO Training finished. +2023-06-04 05:45:11,874 P104561 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/PPNet_microvideo1.7m_x1/microvideo1.7m_x1_0d855fe6/PPNet_microvideo1.7m_x1_001_97742c0f.model +2023-06-04 05:45:12,597 P104561 INFO ****** Validation evaluation ****** +2023-06-04 05:48:45,008 P104561 INFO [Metrics] gAUC: 0.686542 - AUC: 0.734938 - logloss: 0.411962 +2023-06-04 05:48:45,099 P104561 INFO ******** Test evaluation ******** +2023-06-04 05:48:45,099 P104561 INFO Loading data... +2023-06-04 05:48:45,099 P104561 INFO Loading data from h5: ../data/MicroVideo1.7M/microvideo1.7m_x1_0d855fe6/test.h5 +2023-06-04 05:48:49,643 P104561 INFO Test samples: total/3767308, blocks/1 +2023-06-04 05:48:49,643 P104561 INFO Loading test data done. +2023-06-04 05:52:20,776 P104561 INFO [Metrics] gAUC: 0.686542 - AUC: 0.734938 - logloss: 0.411962 diff --git a/ranking/ctr/PPNet/PPNet_microvideo1.7m_x1/PPNet_microvideo1.7m_x1_tuner_config_01.csv b/ranking/ctr/PPNet/PPNet_microvideo1.7m_x1/PPNet_microvideo1.7m_x1_tuner_config_01.csv new file mode 100644 index 0000000..da3ec8d --- /dev/null +++ b/ranking/ctr/PPNet/PPNet_microvideo1.7m_x1/PPNet_microvideo1.7m_x1_tuner_config_01.csv @@ -0,0 +1,15 @@ + 20230604-055220,[command] python run_expid.py --config MicroVideo1.7M/PPNet_microvideo1.7m_x1/PPNet_microvideo1.7m_x1_tuner_config_01 --expid PPNet_microvideo1.7m_x1_001_97742c0f --gpu 0,[exp_id] PPNet_microvideo1.7m_x1_001_97742c0f,[dataset_id] microvideo1.7m_x1_0d855fe6,[train] N.A.,[val] gAUC: 0.686542 - AUC: 0.734938 - logloss: 0.411962,[test] gAUC: 0.686542 - AUC: 0.734938 - logloss: 0.411962 + 20230604-080623,[command] python run_expid.py --config MicroVideo1.7M/PPNet_microvideo1.7m_x1/PPNet_microvideo1.7m_x1_tuner_config_01 --expid PPNet_microvideo1.7m_x1_014_f8cb6ed3 --gpu 0,[exp_id] PPNet_microvideo1.7m_x1_014_f8cb6ed3,[dataset_id] microvideo1.7m_x1_0d855fe6,[train] N.A.,[val] gAUC: 0.686138 - AUC: 0.734670 - logloss: 0.411393,[test] gAUC: 0.686138 - AUC: 0.734670 - logloss: 0.411393 + 20230604-080738,[command] python run_expid.py --config MicroVideo1.7M/PPNet_microvideo1.7m_x1/PPNet_microvideo1.7m_x1_tuner_config_01 --expid PPNet_microvideo1.7m_x1_010_261236f0 --gpu 1,[exp_id] PPNet_microvideo1.7m_x1_010_261236f0,[dataset_id] microvideo1.7m_x1_0d855fe6,[train] N.A.,[val] gAUC: 0.686100 - AUC: 0.734727 - logloss: 0.411672,[test] gAUC: 0.686100 - AUC: 0.734727 - logloss: 0.411672 + 20230604-060358,[command] python run_expid.py --config MicroVideo1.7M/PPNet_microvideo1.7m_x1/PPNet_microvideo1.7m_x1_tuner_config_01 --expid PPNet_microvideo1.7m_x1_004_69f06b9a --gpu 3,[exp_id] PPNet_microvideo1.7m_x1_004_69f06b9a,[dataset_id] microvideo1.7m_x1_0d855fe6,[train] N.A.,[val] gAUC: 0.686070 - AUC: 0.734712 - logloss: 0.412178,[test] gAUC: 0.686070 - AUC: 0.734712 - logloss: 0.412178 + 20230604-063755,[command] python run_expid.py --config MicroVideo1.7M/PPNet_microvideo1.7m_x1/PPNet_microvideo1.7m_x1_tuner_config_01 --expid PPNet_microvideo1.7m_x1_003_bdf6baf4 --gpu 2,[exp_id] PPNet_microvideo1.7m_x1_003_bdf6baf4,[dataset_id] microvideo1.7m_x1_0d855fe6,[train] N.A.,[val] gAUC: 0.685957 - AUC: 0.734383 - logloss: 0.416786,[test] gAUC: 0.685957 - AUC: 0.734383 - logloss: 0.416786 + 20230604-052836,[command] python run_expid.py --config MicroVideo1.7M/PPNet_microvideo1.7m_x1/PPNet_microvideo1.7m_x1_tuner_config_01 --expid PPNet_microvideo1.7m_x1_002_26c1d29f --gpu 1,[exp_id] PPNet_microvideo1.7m_x1_002_26c1d29f,[dataset_id] microvideo1.7m_x1_0d855fe6,[train] N.A.,[val] gAUC: 0.685900 - AUC: 0.734579 - logloss: 0.412059,[test] gAUC: 0.685900 - AUC: 0.734579 - logloss: 0.412059 + 20230604-075457,[command] python run_expid.py --config MicroVideo1.7M/PPNet_microvideo1.7m_x1/PPNet_microvideo1.7m_x1_tuner_config_01 --expid PPNet_microvideo1.7m_x1_011_980e164b --gpu 4,[exp_id] PPNet_microvideo1.7m_x1_011_980e164b,[dataset_id] microvideo1.7m_x1_0d855fe6,[train] N.A.,[val] gAUC: 0.685771 - AUC: 0.734386 - logloss: 0.411850,[test] gAUC: 0.685771 - AUC: 0.734386 - logloss: 0.411850 + 20230604-054040,[command] python run_expid.py --config MicroVideo1.7M/PPNet_microvideo1.7m_x1/PPNet_microvideo1.7m_x1_tuner_config_01 --expid PPNet_microvideo1.7m_x1_005_e165bf3f --gpu 4,[exp_id] PPNet_microvideo1.7m_x1_005_e165bf3f,[dataset_id] microvideo1.7m_x1_0d855fe6,[train] N.A.,[val] gAUC: 0.685715 - AUC: 0.734392 - logloss: 0.413993,[test] gAUC: 0.685715 - AUC: 0.734392 - logloss: 0.413993 + 20230604-080906,[command] python run_expid.py --config MicroVideo1.7M/PPNet_microvideo1.7m_x1/PPNet_microvideo1.7m_x1_tuner_config_01 --expid PPNet_microvideo1.7m_x1_013_fcfe4cda --gpu 5,[exp_id] PPNet_microvideo1.7m_x1_013_fcfe4cda,[dataset_id] microvideo1.7m_x1_0d855fe6,[train] N.A.,[val] gAUC: 0.685662 - AUC: 0.734477 - logloss: 0.412989,[test] gAUC: 0.685662 - AUC: 0.734477 - logloss: 0.412989 + 20230604-054236,[command] python run_expid.py --config MicroVideo1.7M/PPNet_microvideo1.7m_x1/PPNet_microvideo1.7m_x1_tuner_config_01 --expid PPNet_microvideo1.7m_x1_006_5f99f0e9 --gpu 5,[exp_id] PPNet_microvideo1.7m_x1_006_5f99f0e9,[dataset_id] microvideo1.7m_x1_0d855fe6,[train] N.A.,[val] gAUC: 0.685626 - AUC: 0.734387 - logloss: 0.415180,[test] gAUC: 0.685626 - AUC: 0.734387 - logloss: 0.415180 + 20230604-054106,[command] python run_expid.py --config MicroVideo1.7M/PPNet_microvideo1.7m_x1/PPNet_microvideo1.7m_x1_tuner_config_01 --expid PPNet_microvideo1.7m_x1_008_bb8415fa --gpu 7,[exp_id] PPNet_microvideo1.7m_x1_008_bb8415fa,[dataset_id] microvideo1.7m_x1_0d855fe6,[train] N.A.,[val] gAUC: 0.685604 - AUC: 0.734478 - logloss: 0.412243,[test] gAUC: 0.685604 - AUC: 0.734478 - logloss: 0.412243 + 20230604-073825,[command] python run_expid.py --config MicroVideo1.7M/PPNet_microvideo1.7m_x1/PPNet_microvideo1.7m_x1_tuner_config_01 --expid PPNet_microvideo1.7m_x1_009_c04fde5d --gpu 6,[exp_id] PPNet_microvideo1.7m_x1_009_c04fde5d,[dataset_id] microvideo1.7m_x1_0d855fe6,[train] N.A.,[val] gAUC: 0.685348 - AUC: 0.734084 - logloss: 0.412346,[test] gAUC: 0.685348 - AUC: 0.734084 - logloss: 0.412346 + 20230604-080838,[command] python run_expid.py --config MicroVideo1.7M/PPNet_microvideo1.7m_x1/PPNet_microvideo1.7m_x1_tuner_config_01 --expid PPNet_microvideo1.7m_x1_015_02fce86b --gpu 3,[exp_id] PPNet_microvideo1.7m_x1_015_02fce86b,[dataset_id] microvideo1.7m_x1_0d855fe6,[train] N.A.,[val] gAUC: 0.685319 - AUC: 0.734013 - logloss: 0.412923,[test] gAUC: 0.685319 - AUC: 0.734013 - logloss: 0.412923 + 20230604-051901,[command] python run_expid.py --config MicroVideo1.7M/PPNet_microvideo1.7m_x1/PPNet_microvideo1.7m_x1_tuner_config_01 --expid PPNet_microvideo1.7m_x1_007_f09ba917 --gpu 6,[exp_id] PPNet_microvideo1.7m_x1_007_f09ba917,[dataset_id] microvideo1.7m_x1_0d855fe6,[train] N.A.,[val] gAUC: 0.684992 - AUC: 0.733800 - logloss: 0.412655,[test] gAUC: 0.684992 - AUC: 0.733800 - logloss: 0.412655 + 20230604-074810,[command] python run_expid.py --config MicroVideo1.7M/PPNet_microvideo1.7m_x1/PPNet_microvideo1.7m_x1_tuner_config_01 --expid PPNet_microvideo1.7m_x1_012_7522c96a --gpu 7,[exp_id] PPNet_microvideo1.7m_x1_012_7522c96a,[dataset_id] microvideo1.7m_x1_0d855fe6,[train] N.A.,[val] gAUC: 0.684813 - AUC: 0.733861 - logloss: 0.412939,[test] gAUC: 0.684813 - AUC: 0.733861 - logloss: 0.412939 diff --git a/ranking/ctr/PPNet/PPNet_microvideo1.7m_x1/PPNet_microvideo1.7m_x1_tuner_config_01.yaml b/ranking/ctr/PPNet/PPNet_microvideo1.7m_x1/PPNet_microvideo1.7m_x1_tuner_config_01.yaml new file mode 100644 index 0000000..3bcdde9 --- /dev/null +++ b/ranking/ctr/PPNet/PPNet_microvideo1.7m_x1/PPNet_microvideo1.7m_x1_tuner_config_01.yaml @@ -0,0 +1,48 @@ +base_config: ../model_zoo/PEPNet/config/ +base_expid: PPNet_default +dataset_id: microvideo1.7m_x1 + +dataset_config: + microvideo1.7m_x1: + data_root: ../data/MicroVideo1.7M/ + data_format: csv + train_data: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/train.csv + valid_data: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv # no validation data split in original paper + test_data: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv + min_categr_count: 1 + feature_cols: + - {name: group_id, active: True, dtype: int, type: meta, preprocess: "copy_from(user_id)", remap: False} + - {name: user_id, active: True, dtype: str, type: categorical} + - {name: item_id, active: True, dtype: str, type: categorical, embedding_dim: 64, + pretrained_emb: "../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5"} + - {name: cate_id, active: True, dtype: str, type: categorical} + - {name: clicked_items, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, embedding_dim: 64, + padding: pre, pretrained_emb: "../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5"} + - {name: clicked_categories, active: True, dtype: str, type: sequence, splitter: ^, max_len: 100, padding: pre, + share_embedding: cate_id} + - {name: timestamp, active: False, dtype: str, type: categorical} + label_col: {name: is_click, dtype: float} + + +tuner_space: + model_root: './checkpoints/PPNet_microvideo1.7m_x1/' + feature_specs: [[ + {name: item_id, feature_encoder: "nn.Linear(64, 64, bias=False)"}, + {name: clicked_items, feature_encoder: ["layers.MaskedAveragePooling()", "nn.Linear(64, 64, bias=False)"]}, + {name: clicked_categories, feature_encoder: "layers.MaskedAveragePooling()"} + ]] + embedding_dim: 64 + hidden_units: [[1024, 512, 256]] + embedding_regularizer: 5.e-4 + net_dropout: 0.2 + batch_norm: True + gate_emb_dim: [64, 32] + gate_priors: [["user_id"], ["item_id"], ["user_id", "item_id", "cate_id"], ["user_id", "item_id", "cate_id", "clicked_items", "clicked_categories"]] + gate_hidden_dim: [128, 256, 512] + learning_rate: 5.e-4 + batch_size: 2048 + seed: 2022 + group_id: group_id + metrics: [[gAUC, AUC, logloss]] + monitor: {"gAUC": 1, "AUC": 1} + diff --git a/ranking/ctr/PPNet/PPNet_microvideo1.7m_x1/PPNet_microvideo1.7m_x1_tuner_config_01/PPNet_microvideo1.7m_x1_tuner_config_01/dataset_config.yaml b/ranking/ctr/PPNet/PPNet_microvideo1.7m_x1/PPNet_microvideo1.7m_x1_tuner_config_01/PPNet_microvideo1.7m_x1_tuner_config_01/dataset_config.yaml new file mode 100644 index 0000000..5ea90a8 --- /dev/null +++ b/ranking/ctr/PPNet/PPNet_microvideo1.7m_x1/PPNet_microvideo1.7m_x1_tuner_config_01/PPNet_microvideo1.7m_x1_tuner_config_01/dataset_config.yaml @@ -0,0 +1,21 @@ +microvideo1.7m_x1_0d855fe6: + data_format: csv + data_root: ../data/MicroVideo1.7M/ + feature_cols: + - {active: true, dtype: int, name: group_id, preprocess: copy_from(user_id), remap: false, + type: meta} + - {active: true, dtype: str, name: user_id, type: categorical} + - {active: true, dtype: str, embedding_dim: 64, name: item_id, pretrained_emb: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5, + type: categorical} + - {active: true, dtype: str, name: cate_id, type: categorical} + - {active: true, dtype: str, embedding_dim: 64, max_len: 100, name: clicked_items, + padding: pre, pretrained_emb: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5, + splitter: ^, type: sequence} + - {active: true, dtype: str, max_len: 100, name: clicked_categories, padding: pre, + share_embedding: cate_id, splitter: ^, type: sequence} + - {active: false, dtype: str, name: timestamp, type: categorical} + label_col: {dtype: float, name: is_click} + min_categr_count: 1 + test_data: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv + train_data: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/train.csv + valid_data: ../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv diff --git a/ranking/ctr/PPNet/PPNet_microvideo1.7m_x1/PPNet_microvideo1.7m_x1_tuner_config_01/PPNet_microvideo1.7m_x1_tuner_config_01/model_config.yaml b/ranking/ctr/PPNet/PPNet_microvideo1.7m_x1/PPNet_microvideo1.7m_x1_tuner_config_01/PPNet_microvideo1.7m_x1_tuner_config_01/model_config.yaml new file mode 100644 index 0000000..930fbed --- /dev/null +++ b/ranking/ctr/PPNet/PPNet_microvideo1.7m_x1/PPNet_microvideo1.7m_x1_tuner_config_01/PPNet_microvideo1.7m_x1_tuner_config_01/model_config.yaml @@ -0,0 +1,960 @@ +PPNet_microvideo1.7m_x1_001_97742c0f: + batch_norm: true + batch_size: 2048 + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + gate_emb_dim: 64 + gate_hidden_dim: 128 + gate_priors: [user_id] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.2 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_microvideo1.7m_x1_002_26c1d29f: + batch_norm: true + batch_size: 2048 + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + gate_emb_dim: 64 + gate_hidden_dim: 256 + gate_priors: [user_id] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.2 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_microvideo1.7m_x1_003_bdf6baf4: + batch_norm: true + batch_size: 2048 + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + gate_emb_dim: 64 + gate_hidden_dim: 512 + gate_priors: [user_id] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.2 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_microvideo1.7m_x1_004_69f06b9a: + batch_norm: true + batch_size: 2048 + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + gate_emb_dim: 64 + gate_hidden_dim: 128 + gate_priors: [item_id] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.2 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_microvideo1.7m_x1_005_e165bf3f: + batch_norm: true + batch_size: 2048 + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + gate_emb_dim: 64 + gate_hidden_dim: 256 + gate_priors: [item_id] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.2 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_microvideo1.7m_x1_006_5f99f0e9: + batch_norm: true + batch_size: 2048 + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + gate_emb_dim: 64 + gate_hidden_dim: 512 + gate_priors: [item_id] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.2 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_microvideo1.7m_x1_007_f09ba917: + batch_norm: true + batch_size: 2048 + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + gate_emb_dim: 64 + gate_hidden_dim: 128 + gate_priors: [user_id, item_id, cate_id] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.2 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_microvideo1.7m_x1_008_bb8415fa: + batch_norm: true + batch_size: 2048 + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + gate_emb_dim: 64 + gate_hidden_dim: 256 + gate_priors: [user_id, item_id, cate_id] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.2 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_microvideo1.7m_x1_009_c04fde5d: + batch_norm: true + batch_size: 2048 + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + gate_emb_dim: 64 + gate_hidden_dim: 512 + gate_priors: [user_id, item_id, cate_id] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.2 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_microvideo1.7m_x1_010_261236f0: + batch_norm: true + batch_size: 2048 + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + gate_emb_dim: 64 + gate_hidden_dim: 128 + gate_priors: [user_id, item_id, cate_id, clicked_items, clicked_categories] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.2 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_microvideo1.7m_x1_011_980e164b: + batch_norm: true + batch_size: 2048 + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + gate_emb_dim: 64 + gate_hidden_dim: 256 + gate_priors: [user_id, item_id, cate_id, clicked_items, clicked_categories] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.2 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_microvideo1.7m_x1_012_7522c96a: + batch_norm: true + batch_size: 2048 + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + gate_emb_dim: 64 + gate_hidden_dim: 512 + gate_priors: [user_id, item_id, cate_id, clicked_items, clicked_categories] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.2 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_microvideo1.7m_x1_013_fcfe4cda: + batch_norm: true + batch_size: 2048 + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + gate_emb_dim: 32 + gate_hidden_dim: 128 + gate_priors: [user_id] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.2 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_microvideo1.7m_x1_014_f8cb6ed3: + batch_norm: true + batch_size: 2048 + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + gate_emb_dim: 32 + gate_hidden_dim: 256 + gate_priors: [user_id] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.2 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_microvideo1.7m_x1_015_02fce86b: + batch_norm: true + batch_size: 2048 + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + gate_emb_dim: 32 + gate_hidden_dim: 512 + gate_priors: [user_id] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.2 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_microvideo1.7m_x1_016_37943711: + batch_norm: true + batch_size: 2048 + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + gate_emb_dim: 32 + gate_hidden_dim: 128 + gate_priors: [item_id] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.2 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_microvideo1.7m_x1_017_b24d5dad: + batch_norm: true + batch_size: 2048 + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + gate_emb_dim: 32 + gate_hidden_dim: 256 + gate_priors: [item_id] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.2 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_microvideo1.7m_x1_018_371718c9: + batch_norm: true + batch_size: 2048 + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + gate_emb_dim: 32 + gate_hidden_dim: 512 + gate_priors: [item_id] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.2 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_microvideo1.7m_x1_019_53de4ccb: + batch_norm: true + batch_size: 2048 + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + gate_emb_dim: 32 + gate_hidden_dim: 128 + gate_priors: [user_id, item_id, cate_id] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.2 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_microvideo1.7m_x1_020_3333a435: + batch_norm: true + batch_size: 2048 + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + gate_emb_dim: 32 + gate_hidden_dim: 256 + gate_priors: [user_id, item_id, cate_id] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.2 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_microvideo1.7m_x1_021_9fa723a0: + batch_norm: true + batch_size: 2048 + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + gate_emb_dim: 32 + gate_hidden_dim: 512 + gate_priors: [user_id, item_id, cate_id] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.2 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_microvideo1.7m_x1_022_f638b1ce: + batch_norm: true + batch_size: 2048 + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + gate_emb_dim: 32 + gate_hidden_dim: 128 + gate_priors: [user_id, item_id, cate_id, clicked_items, clicked_categories] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.2 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_microvideo1.7m_x1_023_456b656e: + batch_norm: true + batch_size: 2048 + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + gate_emb_dim: 32 + gate_hidden_dim: 256 + gate_priors: [user_id, item_id, cate_id, clicked_items, clicked_categories] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.2 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_microvideo1.7m_x1_024_00fde9d9: + batch_norm: true + batch_size: 2048 + dataset_id: microvideo1.7m_x1_0d855fe6 + debug_mode: false + early_stop_patience: 2 + embedding_dim: 64 + embedding_regularizer: 0.0005 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: + - {feature_encoder: 'nn.Linear(64, 64, bias=False)', name: item_id} + - feature_encoder: [layers.MaskedAveragePooling(), 'nn.Linear(64, 64, bias=False)'] + name: clicked_items + - {feature_encoder: layers.MaskedAveragePooling(), name: clicked_categories} + gate_emb_dim: 32 + gate_hidden_dim: 512 + gate_priors: [user_id, item_id, cate_id, clicked_items, clicked_categories] + group_id: group_id + hidden_activations: ReLU + hidden_units: [1024, 512, 256] + learning_rate: 0.0005 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_microvideo1.7m_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0.2 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 2022 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 diff --git a/ranking/ctr/PPNet/PPNet_microvideo1.7m_x1/README.md b/ranking/ctr/PPNet/PPNet_microvideo1.7m_x1/README.md new file mode 100644 index 0000000..b744c9d --- /dev/null +++ b/ranking/ctr/PPNet/PPNet_microvideo1.7m_x1/README.md @@ -0,0 +1,236 @@ +## PPNet_microvideo1.7m_x1 + +A hands-on guide to run the PPNet model on the MicroVideo1.7M_x1 dataset. + +Author: [BARS Benchmark](https://github.com/reczoo/BARS/blob/main/CITATION) + + +| [Environments](#Environments) | [Dataset](#Dataset) | [Code](#Code) | [Results](#Results) | [Logs](#Logs) | +|:-----------------------------:|:-----------:|:--------:|:--------:|-------| +### Environments ++ Hardware + + ```python + CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz + GPU: Tesla V100 32G + RAM: 755G + + ``` + ++ Software + + ```python + cuda: 10.2 + python: 3.7.10 + pytorch: 1.11.0 + pandas: 1.1.5 + numpy: 1.19.5 + scipy: 1.5.2 + sklearn: 0.22.1 + pyyaml: 6.0 + h5py: 2.8.0 + tqdm: 4.64.0 + fuxictr: 2.0.3 + + ``` + +### Dataset +Please refer to [MicroVideo1.7M_x1](https://github.com/reczoo/Datasets/tree/main/MicroVideo/MicroVideo1.7M_x1) to get the dataset details. + +### Code + +We use the [PPNet](https://github.com/reczoo/FuxiCTR/tree/v2.0.3/model_zoo/PPNet) model code from [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/tree/v2.0.3) for this experiment. + +Running steps: + +1. Download [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/archive/refs/tags/v2.0.3.zip) and install all the dependencies listed in the [environments](#environments). + + ```bash + pip uninstall fuxictr + pip install fuxictr==2.0.3 + ``` + +2. Create a data directory and put the downloaded data files in `../data/MicroVideo/MicroVideo1.7M_x1`. + +3. Both `dataset_config.yaml` and `model_config.yaml` files are available in [PPNet_microvideo1.7m_x1_tuner_config_01](./PPNet_microvideo1.7m_x1_tuner_config_01). Please make sure that the data paths in `dataset_config.yaml` are correctly set. + +4. Run the following script to start training and evaluation. + + ```bash + cd FuxiCTR/model_zoo/PPNet + nohup python run_expid.py --config YOUR_PATH/PPNet/PPNet_microvideo1.7m_x1_tuner_config_01 --expid PPNet_microvideo1 --gpu 0 > run.log & + tail -f run.log + ``` + +### Results + +| gAUC | AUC | logloss | +|:--------------------:|:--------------------:|:--------------------:| +| 0.686542 | 0.734938 | 0.411962 | + + +### Logs +```python +2023-06-04 02:38:36,259 P104561 INFO Params: { + "batch_norm": "True", + "batch_size": "2048", + "data_format": "csv", + "data_root": "../data/MicroVideo1.7M/", + "dataset_id": "microvideo1.7m_x1_0d855fe6", + "debug_mode": "False", + "early_stop_patience": "2", + "embedding_dim": "64", + "embedding_regularizer": "0.0005", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'group_id', 'preprocess': 'copy_from(user_id)', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': 'user_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'name': 'item_id', 'pretrained_emb': '../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'name': 'cate_id', 'type': 'categorical'}, {'active': True, 'dtype': 'str', 'embedding_dim': 64, 'max_len': 100, 'name': 'clicked_items', 'padding': 'pre', 'pretrained_emb': '../data/MicroVideo1.7M/MicroVideo1.7M_x1/item_image_emb_dim64.h5', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 100, 'name': 'clicked_categories', 'padding': 'pre', 'share_embedding': 'cate_id', 'splitter': '^', 'type': 'sequence'}, {'active': False, 'dtype': 'str', 'name': 'timestamp', 'type': 'categorical'}]", + "feature_config": "None", + "feature_specs": "[{'feature_encoder': 'nn.Linear(64, 64, bias=False)', 'name': 'item_id'}, {'feature_encoder': ['layers.MaskedAveragePooling()', 'nn.Linear(64, 64, bias=False)'], 'name': 'clicked_items'}, {'feature_encoder': 'layers.MaskedAveragePooling()', 'name': 'clicked_categories'}]", + "gate_emb_dim": "64", + "gate_hidden_dim": "128", + "gate_priors": "['user_id']", + "gpu": "0", + "group_id": "group_id", + "hidden_activations": "ReLU", + "hidden_units": "[1024, 512, 256]", + "label_col": "{'dtype': 'float', 'name': 'is_click'}", + "learning_rate": "0.0005", + "loss": "binary_crossentropy", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "1", + "model": "PPNet", + "model_id": "PPNet_microvideo1.7m_x1_001_97742c0f", + "model_root": "./checkpoints/PPNet_microvideo1.7m_x1/", + "monitor": "{'AUC': 1, 'gAUC': 1}", + "monitor_mode": "max", + "net_dropout": "0.2", + "net_regularizer": "0", + "num_workers": "3", + "optimizer": "adam", + "pickle_feature_encoder": "True", + "save_best_only": "True", + "seed": "2022", + "shuffle": "True", + "task": "binary_classification", + "test_data": "../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv", + "train_data": "../data/MicroVideo1.7M/MicroVideo1.7M_x1/train.csv", + "use_features": "None", + "valid_data": "../data/MicroVideo1.7M/MicroVideo1.7M_x1/test.csv", + "verbose": "1" +} +2023-06-04 02:38:36,260 P104561 INFO Set up feature processor... +2023-06-04 02:38:36,260 P104561 WARNING Skip rebuilding ../data/MicroVideo1.7M/microvideo1.7m_x1_0d855fe6/feature_map.json. Please delete it manually if rebuilding is required. +2023-06-04 02:38:36,260 P104561 INFO Load feature_map from json: ../data/MicroVideo1.7M/microvideo1.7m_x1_0d855fe6/feature_map.json +2023-06-04 02:38:36,260 P104561 INFO Set column index... +2023-06-04 02:38:36,260 P104561 INFO Feature specs: { + "cate_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 513, 'vocab_size': 514}", + "clicked_categories": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'cate_id', 'padding_idx': 0, 'oov_idx': 513, 'vocab_size': 514, 'max_len': 100}", + "clicked_items": "{'source': '', 'type': 'sequence', 'feature_encoder': ['layers.MaskedAveragePooling()', 'nn.Linear(64, 64, bias=False)'], 'embedding_dim': 64, 'pretrained_emb': 'pretrained_emb.h5', 'freeze_emb': True, 'padding_idx': 0, 'oov_idx': 1704881, 'vocab_size': 1704882, 'max_len': 100}", + "group_id": "{'type': 'meta'}", + "item_id": "{'source': '', 'type': 'categorical', 'embedding_dim': 64, 'pretrained_emb': 'pretrained_emb.h5', 'freeze_emb': True, 'padding_idx': 0, 'oov_idx': 1704881, 'vocab_size': 1704882, 'feature_encoder': 'nn.Linear(64, 64, bias=False)'}", + "user_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 10987, 'vocab_size': 10988}" +} +2023-06-04 02:38:43,782 P104561 INFO Total number of parameters: 2815233. +2023-06-04 02:38:43,783 P104561 INFO Loading data... +2023-06-04 02:38:43,783 P104561 INFO Loading data from h5: ../data/MicroVideo1.7M/microvideo1.7m_x1_0d855fe6/train.h5 +2023-06-04 02:38:53,767 P104561 INFO Train samples: total/8970309, blocks/1 +2023-06-04 02:38:53,767 P104561 INFO Loading data from h5: ../data/MicroVideo1.7M/microvideo1.7m_x1_0d855fe6/valid.h5 +2023-06-04 02:38:58,043 P104561 INFO Validation samples: total/3767308, blocks/1 +2023-06-04 02:38:58,043 P104561 INFO Loading train and validation data done. +2023-06-04 02:38:58,043 P104561 INFO Start training: 4381 batches/epoch +2023-06-04 02:38:58,043 P104561 INFO ************ Epoch=1 start ************ +2023-06-04 02:47:02,330 P104561 INFO Train loss: 0.460393 +2023-06-04 02:47:02,330 P104561 INFO Evaluation @epoch 1 - batch 4381: +2023-06-04 02:50:36,625 P104561 INFO [Metrics] AUC: 0.716033 - gAUC: 0.670363 +2023-06-04 02:50:36,631 P104561 INFO Save best model: monitor(max)=1.386396 +2023-06-04 02:50:38,264 P104561 INFO ************ Epoch=1 end ************ +2023-06-04 02:58:43,978 P104561 INFO Train loss: 0.442108 +2023-06-04 02:58:43,978 P104561 INFO Evaluation @epoch 2 - batch 4381: +2023-06-04 03:02:18,951 P104561 INFO [Metrics] AUC: 0.720923 - gAUC: 0.672270 +2023-06-04 03:02:18,977 P104561 INFO Save best model: monitor(max)=1.393192 +2023-06-04 03:02:21,011 P104561 INFO ************ Epoch=2 end ************ +2023-06-04 03:10:16,104 P104561 INFO Train loss: 0.437907 +2023-06-04 03:10:16,104 P104561 INFO Evaluation @epoch 3 - batch 4381: +2023-06-04 03:13:48,307 P104561 INFO [Metrics] AUC: 0.724069 - gAUC: 0.676025 +2023-06-04 03:13:48,308 P104561 INFO Save best model: monitor(max)=1.400094 +2023-06-04 03:13:50,267 P104561 INFO ************ Epoch=3 end ************ +2023-06-04 03:21:48,980 P104561 INFO Train loss: 0.436121 +2023-06-04 03:21:48,981 P104561 INFO Evaluation @epoch 4 - batch 4381: +2023-06-04 03:25:22,289 P104561 INFO [Metrics] AUC: 0.724788 - gAUC: 0.677178 +2023-06-04 03:25:22,290 P104561 INFO Save best model: monitor(max)=1.401966 +2023-06-04 03:25:24,263 P104561 INFO ************ Epoch=4 end ************ +2023-06-04 03:33:28,958 P104561 INFO Train loss: 0.434862 +2023-06-04 03:33:28,958 P104561 INFO Evaluation @epoch 5 - batch 4381: +2023-06-04 03:37:01,145 P104561 INFO [Metrics] AUC: 0.726472 - gAUC: 0.678042 +2023-06-04 03:37:01,149 P104561 INFO Save best model: monitor(max)=1.404514 +2023-06-04 03:37:03,234 P104561 INFO ************ Epoch=5 end ************ +2023-06-04 03:45:02,208 P104561 INFO Train loss: 0.433747 +2023-06-04 03:45:02,209 P104561 INFO Evaluation @epoch 6 - batch 4381: +2023-06-04 03:48:34,597 P104561 INFO [Metrics] AUC: 0.725813 - gAUC: 0.678635 +2023-06-04 03:48:34,600 P104561 INFO Monitor(max)=1.404448 STOP! +2023-06-04 03:48:34,601 P104561 INFO Reduce learning rate on plateau: 0.000050 +2023-06-04 03:48:34,682 P104561 INFO ************ Epoch=6 end ************ +2023-06-04 03:56:41,576 P104561 INFO Train loss: 0.423679 +2023-06-04 03:56:41,577 P104561 INFO Evaluation @epoch 7 - batch 4381: +2023-06-04 04:00:12,600 P104561 INFO [Metrics] AUC: 0.733079 - gAUC: 0.684859 +2023-06-04 04:00:12,605 P104561 INFO Save best model: monitor(max)=1.417938 +2023-06-04 04:00:14,615 P104561 INFO ************ Epoch=7 end ************ +2023-06-04 04:08:18,885 P104561 INFO Train loss: 0.419839 +2023-06-04 04:08:18,886 P104561 INFO Evaluation @epoch 8 - batch 4381: +2023-06-04 04:11:50,572 P104561 INFO [Metrics] AUC: 0.733664 - gAUC: 0.685047 +2023-06-04 04:11:50,575 P104561 INFO Save best model: monitor(max)=1.418710 +2023-06-04 04:11:52,634 P104561 INFO ************ Epoch=8 end ************ +2023-06-04 04:19:58,946 P104561 INFO Train loss: 0.418099 +2023-06-04 04:19:58,947 P104561 INFO Evaluation @epoch 9 - batch 4381: +2023-06-04 04:23:31,665 P104561 INFO [Metrics] AUC: 0.733961 - gAUC: 0.685414 +2023-06-04 04:23:31,668 P104561 INFO Save best model: monitor(max)=1.419375 +2023-06-04 04:23:33,600 P104561 INFO ************ Epoch=9 end ************ +2023-06-04 04:31:40,930 P104561 INFO Train loss: 0.416796 +2023-06-04 04:31:40,931 P104561 INFO Evaluation @epoch 10 - batch 4381: +2023-06-04 04:35:14,930 P104561 INFO [Metrics] AUC: 0.734369 - gAUC: 0.685685 +2023-06-04 04:35:14,937 P104561 INFO Save best model: monitor(max)=1.420053 +2023-06-04 04:35:17,003 P104561 INFO ************ Epoch=10 end ************ +2023-06-04 04:43:33,153 P104561 INFO Train loss: 0.415682 +2023-06-04 04:43:33,153 P104561 INFO Evaluation @epoch 11 - batch 4381: +2023-06-04 04:47:05,456 P104561 INFO [Metrics] AUC: 0.734647 - gAUC: 0.685824 +2023-06-04 04:47:05,459 P104561 INFO Save best model: monitor(max)=1.420472 +2023-06-04 04:47:07,558 P104561 INFO ************ Epoch=11 end ************ +2023-06-04 04:55:12,445 P104561 INFO Train loss: 0.414763 +2023-06-04 04:55:12,445 P104561 INFO Evaluation @epoch 12 - batch 4381: +2023-06-04 04:58:42,830 P104561 INFO [Metrics] AUC: 0.734531 - gAUC: 0.685963 +2023-06-04 04:58:42,835 P104561 INFO Save best model: monitor(max)=1.420494 +2023-06-04 04:58:44,811 P104561 INFO ************ Epoch=12 end ************ +2023-06-04 05:06:51,051 P104561 INFO Train loss: 0.413799 +2023-06-04 05:06:51,052 P104561 INFO Evaluation @epoch 13 - batch 4381: +2023-06-04 05:10:26,252 P104561 INFO [Metrics] AUC: 0.734719 - gAUC: 0.686250 +2023-06-04 05:10:26,255 P104561 INFO Save best model: monitor(max)=1.420969 +2023-06-04 05:10:28,245 P104561 INFO ************ Epoch=13 end ************ +2023-06-04 05:18:33,965 P104561 INFO Train loss: 0.413071 +2023-06-04 05:18:33,966 P104561 INFO Evaluation @epoch 14 - batch 4381: +2023-06-04 05:22:04,365 P104561 INFO [Metrics] AUC: 0.734938 - gAUC: 0.686542 +2023-06-04 05:22:04,371 P104561 INFO Save best model: monitor(max)=1.421480 +2023-06-04 05:22:06,489 P104561 INFO ************ Epoch=14 end ************ +2023-06-04 05:30:14,676 P104561 INFO Train loss: 0.412329 +2023-06-04 05:30:14,677 P104561 INFO Evaluation @epoch 15 - batch 4381: +2023-06-04 05:33:44,383 P104561 INFO [Metrics] AUC: 0.734761 - gAUC: 0.686296 +2023-06-04 05:33:44,386 P104561 INFO Monitor(max)=1.421057 STOP! +2023-06-04 05:33:44,387 P104561 INFO Reduce learning rate on plateau: 0.000005 +2023-06-04 05:33:44,449 P104561 INFO ************ Epoch=15 end ************ +2023-06-04 05:41:49,035 P104561 INFO Train loss: 0.406621 +2023-06-04 05:41:49,036 P104561 INFO Evaluation @epoch 16 - batch 4381: +2023-06-04 05:45:11,806 P104561 INFO [Metrics] AUC: 0.734859 - gAUC: 0.686399 +2023-06-04 05:45:11,812 P104561 INFO Monitor(max)=1.421258 STOP! +2023-06-04 05:45:11,812 P104561 INFO Reduce learning rate on plateau: 0.000001 +2023-06-04 05:45:11,812 P104561 INFO ********* Epoch==16 early stop ********* +2023-06-04 05:45:11,874 P104561 INFO Training finished. +2023-06-04 05:45:11,874 P104561 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/PPNet_microvideo1.7m_x1/microvideo1.7m_x1_0d855fe6/PPNet_microvideo1.7m_x1_001_97742c0f.model +2023-06-04 05:45:12,597 P104561 INFO ****** Validation evaluation ****** +2023-06-04 05:48:45,008 P104561 INFO [Metrics] gAUC: 0.686542 - AUC: 0.734938 - logloss: 0.411962 +2023-06-04 05:48:45,099 P104561 INFO ******** Test evaluation ******** +2023-06-04 05:48:45,099 P104561 INFO Loading data... +2023-06-04 05:48:45,099 P104561 INFO Loading data from h5: ../data/MicroVideo1.7M/microvideo1.7m_x1_0d855fe6/test.h5 +2023-06-04 05:48:49,643 P104561 INFO Test samples: total/3767308, blocks/1 +2023-06-04 05:48:49,643 P104561 INFO Loading test data done. +2023-06-04 05:52:20,776 P104561 INFO [Metrics] gAUC: 0.686542 - AUC: 0.734938 - logloss: 0.411962 + +``` diff --git a/ranking/ctr/PPNet/PPNet_microvideo1.7m_x1/environments.txt b/ranking/ctr/PPNet/PPNet_microvideo1.7m_x1/environments.txt new file mode 100644 index 0000000..a39d234 --- /dev/null +++ b/ranking/ctr/PPNet/PPNet_microvideo1.7m_x1/environments.txt @@ -0,0 +1,17 @@ +[Hardware] +CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz +GPU: Tesla V100 32G +RAM: 755G + +[Software] +cuda: 10.2 +python: 3.7.10 +pytorch: 1.11.0 +pandas: 1.1.5 +numpy: 1.19.5 +scipy: 1.5.2 +sklearn: 0.22.1 +pyyaml: 6.0 +h5py: 2.8.0 +tqdm: 4.64.0 +fuxictr: 2.0.3 diff --git a/ranking/ctr/PPNet/PPNet_microvideo1.7m_x1/results.csv b/ranking/ctr/PPNet/PPNet_microvideo1.7m_x1/results.csv new file mode 100644 index 0000000..35f9e12 --- /dev/null +++ b/ranking/ctr/PPNet/PPNet_microvideo1.7m_x1/results.csv @@ -0,0 +1 @@ + 20230604-055220,[command] python run_expid.py --config MicroVideo1.7M/PPNet_microvideo1.7m_x1/PPNet_microvideo1.7m_x1_tuner_config_01 --expid PPNet_microvideo1.7m_x1_001_97742c0f --gpu 0,[exp_id] PPNet_microvideo1.7m_x1_001_97742c0f,[dataset_id] microvideo1.7m_x1_0d855fe6,[train] N.A.,[val] gAUC: 0.686542 - AUC: 0.734938 - logloss: 0.411962,[test] gAUC: 0.686542 - AUC: 0.734938 - logloss: 0.411962 diff --git a/ranking/ctr/PPNet/PPNet_taobao_x1/PPNet_taobaoad_x1_023_a59da105.log b/ranking/ctr/PPNet/PPNet_taobao_x1/PPNet_taobaoad_x1_023_a59da105.log new file mode 100644 index 0000000..c00a200 --- /dev/null +++ b/ranking/ctr/PPNet/PPNet_taobao_x1/PPNet_taobaoad_x1_023_a59da105.log @@ -0,0 +1,136 @@ +2023-06-02 02:02:39,172 P84789 INFO Params: { + "batch_norm": "False", + "batch_size": "4096", + "data_format": "csv", + "data_root": "../data/Taobao/", + "dataset_id": "taobaoad_x1_2753db8a", + "debug_mode": "False", + "early_stop_patience": "2", + "embedding_dim": "32", + "embedding_regularizer": "5e-06", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'group_id', 'preprocess': 'copy_from(userid)', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': ['userid', 'cms_segid', 'cms_group_id', 'final_gender_code', 'age_level', 'pvalue_level', 'shopping_level', 'occupation', 'new_user_class_level', 'adgroup_id', 'cate_id', 'campaign_id', 'customer', 'brand', 'pid', 'btag'], 'type': 'categorical'}, {'active': True, 'dtype': 'float', 'name': 'price', 'type': 'numeric'}, {'active': True, 'dtype': 'str', 'max_len': 50, 'name': 'cate_his', 'padding': 'pre', 'share_embedding': 'cate_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 50, 'name': 'brand_his', 'padding': 'pre', 'share_embedding': 'brand', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 50, 'name': 'btag_his', 'padding': 'pre', 'share_embedding': 'btag', 'splitter': '^', 'type': 'sequence'}]", + "feature_config": "None", + "feature_specs": "None", + "gate_emb_dim": "32", + "gate_hidden_dim": "256", + "gate_priors": "['userid', 'cms_group_id', 'adgroup_id']", + "gpu": "7", + "group_id": "group_id", + "hidden_activations": "ReLU", + "hidden_units": "[512, 256, 128]", + "label_col": "{'dtype': 'float', 'name': 'clk'}", + "learning_rate": "0.001", + "loss": "binary_crossentropy", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "10", + "model": "PPNet", + "model_id": "PPNet_taobaoad_x1_023_a59da105", + "model_root": "./checkpoints/PPNet_taobaoad_x1/", + "monitor": "{'AUC': 1, 'gAUC': 1}", + "monitor_mode": "max", + "net_dropout": "0", + "net_regularizer": "0", + "num_workers": "3", + "optimizer": "adam", + "pickle_feature_encoder": "True", + "save_best_only": "True", + "seed": "20222023", + "shuffle": "True", + "task": "binary_classification", + "test_data": "../data/Taobao/TaobaoAd_x1/test.csv", + "train_data": "../data/Taobao/TaobaoAd_x1/train.csv", + "use_features": "None", + "valid_data": "../data/Taobao/TaobaoAd_x1/test.csv", + "verbose": "1" +} +2023-06-02 02:02:39,190 P84789 INFO Set up feature processor... +2023-06-02 02:02:39,191 P84789 WARNING Skip rebuilding ../data/Taobao/taobaoad_x1_2753db8a/feature_map.json. Please delete it manually if rebuilding is required. +2023-06-02 02:02:39,191 P84789 INFO Load feature_map from json: ../data/Taobao/taobaoad_x1_2753db8a/feature_map.json +2023-06-02 02:02:39,191 P84789 INFO Set column index... +2023-06-02 02:02:39,191 P84789 INFO Feature specs: { + "adgroup_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 246850, 'vocab_size': 246851}", + "age_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 8, 'vocab_size': 9}", + "brand": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 308869, 'vocab_size': 308870}", + "brand_his": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'brand', 'padding_idx': 0, 'oov_idx': 308869, 'vocab_size': 308870, 'max_len': 50}", + "btag": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 5, 'vocab_size': 6}", + "btag_his": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'btag', 'padding_idx': 0, 'oov_idx': 5, 'vocab_size': 6, 'max_len': 50}", + "campaign_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 191770, 'vocab_size': 191771}", + "cate_his": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'cate_id', 'padding_idx': 0, 'oov_idx': 11329, 'vocab_size': 11330, 'max_len': 50}", + "cate_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 11329, 'vocab_size': 11330}", + "cms_group_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 14, 'vocab_size': 15}", + "cms_segid": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 98, 'vocab_size': 99}", + "customer": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 132135, 'vocab_size': 132136}", + "final_gender_code": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 3, 'vocab_size': 4}", + "group_id": "{'type': 'meta'}", + "new_user_class_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 6, 'vocab_size': 7}", + "occupation": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 3, 'vocab_size': 4}", + "pid": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 3, 'vocab_size': 4}", + "price": "{'source': '', 'type': 'numeric'}", + "pvalue_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 5, 'vocab_size': 6}", + "shopping_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 4, 'vocab_size': 5}", + "userid": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 403957, 'vocab_size': 403958}" +} +2023-06-02 02:02:43,991 P84789 INFO Total number of parameters: 63557633. +2023-06-02 02:02:43,991 P84789 INFO Loading data... +2023-06-02 02:02:43,992 P84789 INFO Loading data from h5: ../data/Taobao/taobaoad_x1_2753db8a/train.h5 +2023-06-02 02:03:13,986 P84789 INFO Train samples: total/21929911, blocks/1 +2023-06-02 02:03:13,986 P84789 INFO Loading data from h5: ../data/Taobao/taobaoad_x1_2753db8a/valid.h5 +2023-06-02 02:03:17,855 P84789 INFO Validation samples: total/3099515, blocks/1 +2023-06-02 02:03:17,855 P84789 INFO Loading train and validation data done. +2023-06-02 02:03:17,855 P84789 INFO Start training: 5354 batches/epoch +2023-06-02 02:03:17,855 P84789 INFO ************ Epoch=1 start ************ +2023-06-02 02:18:34,306 P84789 INFO Train loss: 0.205051 +2023-06-02 02:18:34,307 P84789 INFO Evaluation @epoch 1 - batch 5354: +2023-06-02 02:21:49,287 P84789 INFO [Metrics] AUC: 0.641968 - gAUC: 0.564675 +2023-06-02 02:21:49,289 P84789 INFO Save best model: monitor(max)=1.206643 +2023-06-02 02:21:49,762 P84789 INFO ************ Epoch=1 end ************ +2023-06-02 02:36:54,632 P84789 INFO Train loss: 0.200883 +2023-06-02 02:36:54,632 P84789 INFO Evaluation @epoch 2 - batch 5354: +2023-06-02 02:40:14,103 P84789 INFO [Metrics] AUC: 0.644788 - gAUC: 0.568505 +2023-06-02 02:40:14,105 P84789 INFO Save best model: monitor(max)=1.213293 +2023-06-02 02:40:14,809 P84789 INFO ************ Epoch=2 end ************ +2023-06-02 02:55:21,620 P84789 INFO Train loss: 0.199641 +2023-06-02 02:55:21,621 P84789 INFO Evaluation @epoch 3 - batch 5354: +2023-06-02 02:58:39,958 P84789 INFO [Metrics] AUC: 0.646491 - gAUC: 0.568941 +2023-06-02 02:58:39,960 P84789 INFO Save best model: monitor(max)=1.215432 +2023-06-02 02:58:40,590 P84789 INFO ************ Epoch=3 end ************ +2023-06-02 03:13:42,846 P84789 INFO Train loss: 0.199421 +2023-06-02 03:13:42,855 P84789 INFO Evaluation @epoch 4 - batch 5354: +2023-06-02 03:16:58,483 P84789 INFO [Metrics] AUC: 0.646835 - gAUC: 0.570554 +2023-06-02 03:16:58,485 P84789 INFO Save best model: monitor(max)=1.217389 +2023-06-02 03:16:59,225 P84789 INFO ************ Epoch=4 end ************ +2023-06-02 03:31:51,794 P84789 INFO Train loss: 0.199368 +2023-06-02 03:31:51,795 P84789 INFO Evaluation @epoch 5 - batch 5354: +2023-06-02 03:35:00,080 P84789 INFO [Metrics] AUC: 0.646718 - gAUC: 0.569567 +2023-06-02 03:35:00,082 P84789 INFO Monitor(max)=1.216284 STOP! +2023-06-02 03:35:00,082 P84789 INFO Reduce learning rate on plateau: 0.000100 +2023-06-02 03:35:00,211 P84789 INFO ************ Epoch=5 end ************ +2023-06-02 03:49:05,090 P84789 INFO Train loss: 0.189274 +2023-06-02 03:49:05,091 P84789 INFO Evaluation @epoch 6 - batch 5354: +2023-06-02 03:52:15,449 P84789 INFO [Metrics] AUC: 0.647442 - gAUC: 0.572597 +2023-06-02 03:52:15,452 P84789 INFO Save best model: monitor(max)=1.220039 +2023-06-02 03:52:16,000 P84789 INFO ************ Epoch=6 end ************ +2023-06-02 04:04:57,999 P84789 INFO Train loss: 0.186120 +2023-06-02 04:04:58,000 P84789 INFO Evaluation @epoch 7 - batch 5354: +2023-06-02 04:07:53,403 P84789 INFO [Metrics] AUC: 0.646037 - gAUC: 0.571588 +2023-06-02 04:07:53,404 P84789 INFO Monitor(max)=1.217625 STOP! +2023-06-02 04:07:53,404 P84789 INFO Reduce learning rate on plateau: 0.000010 +2023-06-02 04:07:53,520 P84789 INFO ************ Epoch=7 end ************ +2023-06-02 04:20:43,348 P84789 INFO Train loss: 0.176549 +2023-06-02 04:20:43,348 P84789 INFO Evaluation @epoch 8 - batch 5354: +2023-06-02 04:23:42,541 P84789 INFO [Metrics] AUC: 0.640906 - gAUC: 0.566632 +2023-06-02 04:23:42,542 P84789 INFO Monitor(max)=1.207538 STOP! +2023-06-02 04:23:42,543 P84789 INFO Reduce learning rate on plateau: 0.000001 +2023-06-02 04:23:42,543 P84789 INFO ********* Epoch==8 early stop ********* +2023-06-02 04:23:42,695 P84789 INFO Training finished. +2023-06-02 04:23:42,696 P84789 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/PPNet_taobaoad_x1/taobaoad_x1_2753db8a/PPNet_taobaoad_x1_023_a59da105.model +2023-06-02 04:23:42,929 P84789 INFO ****** Validation evaluation ****** +2023-06-02 04:26:49,560 P84789 INFO [Metrics] gAUC: 0.572597 - AUC: 0.647442 - logloss: 0.194488 +2023-06-02 04:26:49,718 P84789 INFO ******** Test evaluation ******** +2023-06-02 04:26:49,718 P84789 INFO Loading data... +2023-06-02 04:26:49,718 P84789 INFO Loading data from h5: ../data/Taobao/taobaoad_x1_2753db8a/test.h5 +2023-06-02 04:26:53,701 P84789 INFO Test samples: total/3099515, blocks/1 +2023-06-02 04:26:53,701 P84789 INFO Loading test data done. +2023-06-02 04:29:56,282 P84789 INFO [Metrics] gAUC: 0.572597 - AUC: 0.647442 - logloss: 0.194488 diff --git a/ranking/ctr/PPNet/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01.csv b/ranking/ctr/PPNet/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01.csv new file mode 100644 index 0000000..f956569 --- /dev/null +++ b/ranking/ctr/PPNet/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01.csv @@ -0,0 +1,30 @@ + 20230602-042956,[command] python run_expid.py --config Taobao/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01 --expid PPNet_taobaoad_x1_023_a59da105 --gpu 7,[exp_id] PPNet_taobaoad_x1_023_a59da105,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.572597 - AUC: 0.647442 - logloss: 0.194488,[test] gAUC: 0.572597 - AUC: 0.647442 - logloss: 0.194488 + 20230602-034029,[command] python run_expid.py --config Taobao/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01 --expid PPNet_taobaoad_x1_021_8da38942 --gpu 0,[exp_id] PPNet_taobaoad_x1_021_8da38942,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.572550 - AUC: 0.646136 - logloss: 0.195107,[test] gAUC: 0.572550 - AUC: 0.646136 - logloss: 0.195107 + 20230601-232938,[command] python run_expid.py --config Taobao/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01 --expid PPNet_taobaoad_x1_006_e2afe5f2 --gpu 5,[exp_id] PPNet_taobaoad_x1_006_e2afe5f2,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.572450 - AUC: 0.647537 - logloss: 0.194243,[test] gAUC: 0.572450 - AUC: 0.647537 - logloss: 0.194243 + 20230602-020433,[command] python run_expid.py --config Taobao/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01 --expid PPNet_taobaoad_x1_015_8ed4e88a --gpu 5,[exp_id] PPNet_taobaoad_x1_015_8ed4e88a,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.572421 - AUC: 0.647473 - logloss: 0.194433,[test] gAUC: 0.572421 - AUC: 0.647473 - logloss: 0.194433 + 20230601-225418,[command] python run_expid.py --config Taobao/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01 --expid PPNet_taobaoad_x1_002_c2e2f6a9 --gpu 1,[exp_id] PPNet_taobaoad_x1_002_c2e2f6a9,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.572359 - AUC: 0.646195 - logloss: 0.194528,[test] gAUC: 0.572359 - AUC: 0.646195 - logloss: 0.194528 + 20230601-232858,[command] python run_expid.py --config Taobao/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01 --expid PPNet_taobaoad_x1_001_e3ece345 --gpu 0,[exp_id] PPNet_taobaoad_x1_001_e3ece345,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.572233 - AUC: 0.647561 - logloss: 0.194507,[test] gAUC: 0.572233 - AUC: 0.647561 - logloss: 0.194507 + 20230602-051205,[command] python run_expid.py --config Taobao/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01 --expid PPNet_taobaoad_x1_027_1dc7a347 --gpu 6,[exp_id] PPNet_taobaoad_x1_027_1dc7a347,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.572180 - AUC: 0.647192 - logloss: 0.194702,[test] gAUC: 0.572180 - AUC: 0.647192 - logloss: 0.194702 + 20230602-032104,[command] python run_expid.py --config Taobao/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01 --expid PPNet_taobaoad_x1_020_7a385900 --gpu 2,[exp_id] PPNet_taobaoad_x1_020_7a385900,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.572101 - AUC: 0.646258 - logloss: 0.194484,[test] gAUC: 0.572101 - AUC: 0.646258 - logloss: 0.194484 + 20230602-035112,[command] python run_expid.py --config Taobao/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01 --expid PPNet_taobaoad_x1_022_8adf86b0 --gpu 4,[exp_id] PPNet_taobaoad_x1_022_8adf86b0,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.572028 - AUC: 0.647113 - logloss: 0.194645,[test] gAUC: 0.572028 - AUC: 0.647113 - logloss: 0.194645 + 20230602-010938,[command] python run_expid.py --config Taobao/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01 --expid PPNet_taobaoad_x1_009_6f0f6262 --gpu 1,[exp_id] PPNet_taobaoad_x1_009_6f0f6262,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.571983 - AUC: 0.647004 - logloss: 0.194389,[test] gAUC: 0.571983 - AUC: 0.647004 - logloss: 0.194389 + 20230602-033355,[command] python run_expid.py --config Taobao/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01 --expid PPNet_taobaoad_x1_019_1a5d1459 --gpu 3,[exp_id] PPNet_taobaoad_x1_019_1a5d1459,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.571813 - AUC: 0.647612 - logloss: 0.194311,[test] gAUC: 0.571813 - AUC: 0.647612 - logloss: 0.194311 + 20230602-052819,[command] python run_expid.py --config Taobao/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01 --expid PPNet_taobaoad_x1_026_8e610992 --gpu 3,[exp_id] PPNet_taobaoad_x1_026_8e610992,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.571695 - AUC: 0.646739 - logloss: 0.194711,[test] gAUC: 0.571695 - AUC: 0.646739 - logloss: 0.194711 + 20230602-051537,[command] python run_expid.py --config Taobao/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01 --expid PPNet_taobaoad_x1_029_bc329bcb --gpu 1,[exp_id] PPNet_taobaoad_x1_029_bc329bcb,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.571641 - AUC: 0.647282 - logloss: 0.194868,[test] gAUC: 0.571641 - AUC: 0.647282 - logloss: 0.194868 + 20230601-233004,[command] python run_expid.py --config Taobao/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01 --expid PPNet_taobaoad_x1_008_e6f7d26c --gpu 7,[exp_id] PPNet_taobaoad_x1_008_e6f7d26c,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.571561 - AUC: 0.646977 - logloss: 0.194370,[test] gAUC: 0.571561 - AUC: 0.646977 - logloss: 0.194370 + 20230601-230947,[command] python run_expid.py --config Taobao/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01 --expid PPNet_taobaoad_x1_005_d80f519d --gpu 4,[exp_id] PPNet_taobaoad_x1_005_d80f519d,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.571486 - AUC: 0.646844 - logloss: 0.194382,[test] gAUC: 0.571486 - AUC: 0.646844 - logloss: 0.194382 + 20230602-010746,[command] python run_expid.py --config Taobao/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01 --expid PPNet_taobaoad_x1_011_d030bc8e --gpu 6,[exp_id] PPNet_taobaoad_x1_011_d030bc8e,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.571451 - AUC: 0.647068 - logloss: 0.194431,[test] gAUC: 0.571451 - AUC: 0.647068 - logloss: 0.194431 + 20230601-231248,[command] python run_expid.py --config Taobao/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01 --expid PPNet_taobaoad_x1_003_59187062 --gpu 2,[exp_id] PPNet_taobaoad_x1_003_59187062,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.571223 - AUC: 0.645954 - logloss: 0.194829,[test] gAUC: 0.571223 - AUC: 0.645954 - logloss: 0.194829 + 20230602-020234,[command] python run_expid.py --config Taobao/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01 --expid PPNet_taobaoad_x1_016_f0a76e0d --gpu 7,[exp_id] PPNet_taobaoad_x1_016_f0a76e0d,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.571190 - AUC: 0.646718 - logloss: 0.194709,[test] gAUC: 0.571190 - AUC: 0.646718 - logloss: 0.194709 + 20230602-034112,[command] python run_expid.py --config Taobao/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01 --expid PPNet_taobaoad_x1_018_9fb23b5a --gpu 1,[exp_id] PPNet_taobaoad_x1_018_9fb23b5a,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.571117 - AUC: 0.646967 - logloss: 0.194148,[test] gAUC: 0.571117 - AUC: 0.646967 - logloss: 0.194148 + 20230602-052358,[command] python run_expid.py --config Taobao/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01 --expid PPNet_taobaoad_x1_030_d1f1b14d --gpu 5,[exp_id] PPNet_taobaoad_x1_030_d1f1b14d,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.571052 - AUC: 0.646529 - logloss: 0.194677,[test] gAUC: 0.571052 - AUC: 0.646529 - logloss: 0.194677 + 20230602-012637,[command] python run_expid.py --config Taobao/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01 --expid PPNet_taobaoad_x1_012_fda7bfaf --gpu 2,[exp_id] PPNet_taobaoad_x1_012_fda7bfaf,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.571046 - AUC: 0.646661 - logloss: 0.194351,[test] gAUC: 0.571046 - AUC: 0.646661 - logloss: 0.194351 + 20230601-231212,[command] python run_expid.py --config Taobao/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01 --expid PPNet_taobaoad_x1_007_1d55fccd --gpu 6,[exp_id] PPNet_taobaoad_x1_007_1d55fccd,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.571019 - AUC: 0.646740 - logloss: 0.194810,[test] gAUC: 0.571019 - AUC: 0.646740 - logloss: 0.194810 + 20230602-033747,[command] python run_expid.py --config Taobao/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01 --expid PPNet_taobaoad_x1_017_6a787154 --gpu 6,[exp_id] PPNet_taobaoad_x1_017_6a787154,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.570876 - AUC: 0.646810 - logloss: 0.194288,[test] gAUC: 0.570876 - AUC: 0.646810 - logloss: 0.194288 + 20230602-012731,[command] python run_expid.py --config Taobao/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01 --expid PPNet_taobaoad_x1_014_b5256cf7 --gpu 0,[exp_id] PPNet_taobaoad_x1_014_b5256cf7,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.570824 - AUC: 0.647612 - logloss: 0.192792,[test] gAUC: 0.570824 - AUC: 0.647612 - logloss: 0.192792 + 20230601-232552,[command] python run_expid.py --config Taobao/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01 --expid PPNet_taobaoad_x1_004_f45486bf --gpu 3,[exp_id] PPNet_taobaoad_x1_004_f45486bf,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.570658 - AUC: 0.647242 - logloss: 0.194229,[test] gAUC: 0.570658 - AUC: 0.647242 - logloss: 0.194229 + 20230602-015555,[command] python run_expid.py --config Taobao/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01 --expid PPNet_taobaoad_x1_010_17a92dcb --gpu 4,[exp_id] PPNet_taobaoad_x1_010_17a92dcb,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.570598 - AUC: 0.647177 - logloss: 0.194584,[test] gAUC: 0.570598 - AUC: 0.647177 - logloss: 0.194584 + 20230602-051136,[command] python run_expid.py --config Taobao/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01 --expid PPNet_taobaoad_x1_025_7767a495 --gpu 2,[exp_id] PPNet_taobaoad_x1_025_7767a495,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.570518 - AUC: 0.646672 - logloss: 0.194849,[test] gAUC: 0.570518 - AUC: 0.646672 - logloss: 0.194849 + 20230602-012222,[command] python run_expid.py --config Taobao/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01 --expid PPNet_taobaoad_x1_013_a28958b9 --gpu 3,[exp_id] PPNet_taobaoad_x1_013_a28958b9,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.570515 - AUC: 0.648110 - logloss: 0.192383,[test] gAUC: 0.570515 - AUC: 0.648110 - logloss: 0.192383 + 20230602-052210,[command] python run_expid.py --config Taobao/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01 --expid PPNet_taobaoad_x1_028_58178dbc --gpu 0,[exp_id] PPNet_taobaoad_x1_028_58178dbc,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.570514 - AUC: 0.648385 - logloss: 0.192643,[test] gAUC: 0.570514 - AUC: 0.648385 - logloss: 0.192643 + 20230602-034302,[command] python run_expid.py --config Taobao/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01 --expid PPNet_taobaoad_x1_024_789663c1 --gpu 5,[exp_id] PPNet_taobaoad_x1_024_789663c1,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.569855 - AUC: 0.647572 - logloss: 0.192659,[test] gAUC: 0.569855 - AUC: 0.647572 - logloss: 0.192659 diff --git a/ranking/ctr/PPNet/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01.yaml b/ranking/ctr/PPNet/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01.yaml new file mode 100644 index 0000000..60e8866 --- /dev/null +++ b/ranking/ctr/PPNet/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01.yaml @@ -0,0 +1,45 @@ +base_config: ../model_zoo/PEPNet/config/ +base_expid: PPNet_default +dataset_id: taobaoad_x1 + +dataset_config: + taobaoad_x1: + data_root: ../data/Taobao/ + data_format: csv + train_data: ../data/Taobao/TaobaoAd_x1/train.csv + valid_data: ../data/Taobao/TaobaoAd_x1/test.csv + test_data: ../data/Taobao/TaobaoAd_x1/test.csv + min_categr_count: 10 + feature_cols: + - {name: "group_id", active: True, dtype: int, type: meta, preprocess: "copy_from(userid)", remap: False} + - {name: ["userid","cms_segid","cms_group_id","final_gender_code","age_level","pvalue_level","shopping_level", + "occupation","new_user_class_level","adgroup_id","cate_id","campaign_id","customer","brand","pid","btag"], + active: True, dtype: str, type: categorical} + - {name: price, active: True, dtype: float, type: numeric} + - {name: cate_his, active: True, dtype: str, splitter: ^, type: sequence, max_len: 50, padding: pre, + share_embedding: cate_id} + - {name: brand_his, active: True, dtype: str, splitter: ^, type: sequence, max_len: 50, padding: pre, + share_embedding: brand} + - {name: btag_his, active: True, dtype: str, splitter: ^, type: sequence, max_len: 50, padding: pre, + share_embedding: btag} + label_col: {name: clk, dtype: float} + + +tuner_space: + model_root: './checkpoints/PPNet_taobaoad_x1/' + embedding_dim: 32 + hidden_units: [[512, 256, 128]] + embedding_regularizer: 5.e-6 + net_dropout: 0 + batch_norm: False + gate_emb_dim: [16, 32] + gate_priors: [["userid"], ["pid"], ["userid", "cms_group_id", "adgroup_id"], ["cms_group_id", "adgroup_id", "pid"], + ["userid", "cms_segid", "cms_group_id", "adgroup_id", "cate_id","campaign_id","customer","brand","pid"]] + gate_hidden_dim: [128, 256, 512] + learning_rate: 1.e-3 + batch_size: 4096 + seed: 20222023 + group_id: group_id + metrics: [[gAUC, AUC, logloss]] + monitor: {"gAUC": 1, "AUC": 1} + diff --git a/ranking/ctr/PPNet/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01/PPNet_taobaoad_x1_tuner_config_01/dataset_config.yaml b/ranking/ctr/PPNet/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01/PPNet_taobaoad_x1_tuner_config_01/dataset_config.yaml new file mode 100644 index 0000000..0bf0fe3 --- /dev/null +++ b/ranking/ctr/PPNet/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01/PPNet_taobaoad_x1_tuner_config_01/dataset_config.yaml @@ -0,0 +1,24 @@ +taobaoad_x1_2753db8a: + data_format: csv + data_root: ../data/Taobao/ + feature_cols: + - {active: true, dtype: int, name: group_id, preprocess: copy_from(userid), remap: false, + type: meta} + - active: true + dtype: str + name: [userid, cms_segid, cms_group_id, final_gender_code, age_level, pvalue_level, + shopping_level, occupation, new_user_class_level, adgroup_id, cate_id, + campaign_id, customer, brand, pid, btag] + type: categorical + - {active: true, dtype: float, name: price, type: numeric} + - {active: true, dtype: str, max_len: 50, name: cate_his, padding: pre, share_embedding: cate_id, + splitter: ^, type: sequence} + - {active: true, dtype: str, max_len: 50, name: brand_his, padding: pre, share_embedding: brand, + splitter: ^, type: sequence} + - {active: true, dtype: str, max_len: 50, name: btag_his, padding: pre, share_embedding: btag, + splitter: ^, type: sequence} + label_col: {dtype: float, name: clk} + min_categr_count: 10 + test_data: ../data/Taobao/TaobaoAd_x1/test.csv + train_data: ../data/Taobao/TaobaoAd_x1/train.csv + valid_data: ../data/Taobao/TaobaoAd_x1/test.csv diff --git a/ranking/ctr/PPNet/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01/PPNet_taobaoad_x1_tuner_config_01/model_config.yaml b/ranking/ctr/PPNet/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01/PPNet_taobaoad_x1_tuner_config_01/model_config.yaml new file mode 100644 index 0000000..b46dddb --- /dev/null +++ b/ranking/ctr/PPNet/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01/PPNet_taobaoad_x1_tuner_config_01/model_config.yaml @@ -0,0 +1,1086 @@ +PPNet_taobaoad_x1_001_e3ece345: + batch_norm: false + batch_size: 4096 + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 16 + gate_hidden_dim: 128 + gate_priors: [userid] + group_id: group_id + hidden_activations: ReLU + hidden_units: [512, 256, 128] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_taobaoad_x1_002_c2e2f6a9: + batch_norm: false + batch_size: 4096 + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 16 + gate_hidden_dim: 256 + gate_priors: [userid] + group_id: group_id + hidden_activations: ReLU + hidden_units: [512, 256, 128] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_taobaoad_x1_003_59187062: + batch_norm: false + batch_size: 4096 + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 16 + gate_hidden_dim: 512 + gate_priors: [userid] + group_id: group_id + hidden_activations: ReLU + hidden_units: [512, 256, 128] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_taobaoad_x1_004_f45486bf: + batch_norm: false + batch_size: 4096 + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 16 + gate_hidden_dim: 128 + gate_priors: [pid] + group_id: group_id + hidden_activations: ReLU + hidden_units: [512, 256, 128] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_taobaoad_x1_005_d80f519d: + batch_norm: false + batch_size: 4096 + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 16 + gate_hidden_dim: 256 + gate_priors: [pid] + group_id: group_id + hidden_activations: ReLU + hidden_units: [512, 256, 128] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_taobaoad_x1_006_e2afe5f2: + batch_norm: false + batch_size: 4096 + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 16 + gate_hidden_dim: 512 + gate_priors: [pid] + group_id: group_id + hidden_activations: ReLU + hidden_units: [512, 256, 128] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_taobaoad_x1_007_1d55fccd: + batch_norm: false + batch_size: 4096 + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 16 + gate_hidden_dim: 128 + gate_priors: [userid, cms_group_id, adgroup_id] + group_id: group_id + hidden_activations: ReLU + hidden_units: [512, 256, 128] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_taobaoad_x1_008_e6f7d26c: + batch_norm: false + batch_size: 4096 + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 16 + gate_hidden_dim: 256 + gate_priors: [userid, cms_group_id, adgroup_id] + group_id: group_id + hidden_activations: ReLU + hidden_units: [512, 256, 128] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_taobaoad_x1_009_6f0f6262: + batch_norm: false + batch_size: 4096 + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 16 + gate_hidden_dim: 512 + gate_priors: [userid, cms_group_id, adgroup_id] + group_id: group_id + hidden_activations: ReLU + hidden_units: [512, 256, 128] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_taobaoad_x1_010_17a92dcb: + batch_norm: false + batch_size: 4096 + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 16 + gate_hidden_dim: 128 + gate_priors: [cms_group_id, adgroup_id, pid] + group_id: group_id + hidden_activations: ReLU + hidden_units: [512, 256, 128] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_taobaoad_x1_011_d030bc8e: + batch_norm: false + batch_size: 4096 + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 16 + gate_hidden_dim: 256 + gate_priors: [cms_group_id, adgroup_id, pid] + group_id: group_id + hidden_activations: ReLU + hidden_units: [512, 256, 128] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_taobaoad_x1_012_fda7bfaf: + batch_norm: false + batch_size: 4096 + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 16 + gate_hidden_dim: 512 + gate_priors: [cms_group_id, adgroup_id, pid] + group_id: group_id + hidden_activations: ReLU + hidden_units: [512, 256, 128] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_taobaoad_x1_013_a28958b9: + batch_norm: false + batch_size: 4096 + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 16 + gate_hidden_dim: 128 + gate_priors: [userid, cms_segid, cms_group_id, adgroup_id, cate_id, campaign_id, + customer, brand, pid] + group_id: group_id + hidden_activations: ReLU + hidden_units: [512, 256, 128] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_taobaoad_x1_014_b5256cf7: + batch_norm: false + batch_size: 4096 + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 16 + gate_hidden_dim: 256 + gate_priors: [userid, cms_segid, cms_group_id, adgroup_id, cate_id, campaign_id, + customer, brand, pid] + group_id: group_id + hidden_activations: ReLU + hidden_units: [512, 256, 128] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_taobaoad_x1_015_8ed4e88a: + batch_norm: false + batch_size: 4096 + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 16 + gate_hidden_dim: 512 + gate_priors: [userid, cms_segid, cms_group_id, adgroup_id, cate_id, campaign_id, + customer, brand, pid] + group_id: group_id + hidden_activations: ReLU + hidden_units: [512, 256, 128] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_taobaoad_x1_016_f0a76e0d: + batch_norm: false + batch_size: 4096 + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 32 + gate_hidden_dim: 128 + gate_priors: [userid] + group_id: group_id + hidden_activations: ReLU + hidden_units: [512, 256, 128] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_taobaoad_x1_017_6a787154: + batch_norm: false + batch_size: 4096 + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 32 + gate_hidden_dim: 256 + gate_priors: [userid] + group_id: group_id + hidden_activations: ReLU + hidden_units: [512, 256, 128] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_taobaoad_x1_018_9fb23b5a: + batch_norm: false + batch_size: 4096 + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 32 + gate_hidden_dim: 512 + gate_priors: [userid] + group_id: group_id + hidden_activations: ReLU + hidden_units: [512, 256, 128] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_taobaoad_x1_019_1a5d1459: + batch_norm: false + batch_size: 4096 + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 32 + gate_hidden_dim: 128 + gate_priors: [pid] + group_id: group_id + hidden_activations: ReLU + hidden_units: [512, 256, 128] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_taobaoad_x1_020_7a385900: + batch_norm: false + batch_size: 4096 + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 32 + gate_hidden_dim: 256 + gate_priors: [pid] + group_id: group_id + hidden_activations: ReLU + hidden_units: [512, 256, 128] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_taobaoad_x1_021_8da38942: + batch_norm: false + batch_size: 4096 + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 32 + gate_hidden_dim: 512 + gate_priors: [pid] + group_id: group_id + hidden_activations: ReLU + hidden_units: [512, 256, 128] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_taobaoad_x1_022_8adf86b0: + batch_norm: false + batch_size: 4096 + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 32 + gate_hidden_dim: 128 + gate_priors: [userid, cms_group_id, adgroup_id] + group_id: group_id + hidden_activations: ReLU + hidden_units: [512, 256, 128] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_taobaoad_x1_023_a59da105: + batch_norm: false + batch_size: 4096 + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 32 + gate_hidden_dim: 256 + gate_priors: [userid, cms_group_id, adgroup_id] + group_id: group_id + hidden_activations: ReLU + hidden_units: [512, 256, 128] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_taobaoad_x1_024_789663c1: + batch_norm: false + batch_size: 4096 + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 32 + gate_hidden_dim: 512 + gate_priors: [userid, cms_group_id, adgroup_id] + group_id: group_id + hidden_activations: ReLU + hidden_units: [512, 256, 128] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_taobaoad_x1_025_7767a495: + batch_norm: false + batch_size: 4096 + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 32 + gate_hidden_dim: 128 + gate_priors: [cms_group_id, adgroup_id, pid] + group_id: group_id + hidden_activations: ReLU + hidden_units: [512, 256, 128] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_taobaoad_x1_026_8e610992: + batch_norm: false + batch_size: 4096 + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 32 + gate_hidden_dim: 256 + gate_priors: [cms_group_id, adgroup_id, pid] + group_id: group_id + hidden_activations: ReLU + hidden_units: [512, 256, 128] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_taobaoad_x1_027_1dc7a347: + batch_norm: false + batch_size: 4096 + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 32 + gate_hidden_dim: 512 + gate_priors: [cms_group_id, adgroup_id, pid] + group_id: group_id + hidden_activations: ReLU + hidden_units: [512, 256, 128] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_taobaoad_x1_028_58178dbc: + batch_norm: false + batch_size: 4096 + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 32 + gate_hidden_dim: 128 + gate_priors: [userid, cms_segid, cms_group_id, adgroup_id, cate_id, campaign_id, + customer, brand, pid] + group_id: group_id + hidden_activations: ReLU + hidden_units: [512, 256, 128] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_taobaoad_x1_029_bc329bcb: + batch_norm: false + batch_size: 4096 + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 32 + gate_hidden_dim: 256 + gate_priors: [userid, cms_segid, cms_group_id, adgroup_id, cate_id, campaign_id, + customer, brand, pid] + group_id: group_id + hidden_activations: ReLU + hidden_units: [512, 256, 128] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 +PPNet_taobaoad_x1_030_d1f1b14d: + batch_norm: false + batch_size: 4096 + dataset_id: taobaoad_x1_2753db8a + debug_mode: false + early_stop_patience: 2 + embedding_dim: 32 + embedding_regularizer: 5.0e-06 + epochs: 100 + eval_steps: null + feature_config: null + feature_specs: null + gate_emb_dim: 32 + gate_hidden_dim: 512 + gate_priors: [userid, cms_segid, cms_group_id, adgroup_id, cate_id, campaign_id, + customer, brand, pid] + group_id: group_id + hidden_activations: ReLU + hidden_units: [512, 256, 128] + learning_rate: 0.001 + loss: binary_crossentropy + metrics: [gAUC, AUC, logloss] + model: PPNet + model_root: ./checkpoints/PPNet_taobaoad_x1/ + monitor: {AUC: 1, gAUC: 1} + monitor_mode: max + net_dropout: 0 + net_regularizer: 0 + num_workers: 3 + optimizer: adam + pickle_feature_encoder: true + save_best_only: true + seed: 20222023 + shuffle: true + task: binary_classification + use_features: null + verbose: 1 diff --git a/ranking/ctr/PPNet/PPNet_taobao_x1/README.md b/ranking/ctr/PPNet/PPNet_taobao_x1/README.md new file mode 100644 index 0000000..206b83c --- /dev/null +++ b/ranking/ctr/PPNet/PPNet_taobao_x1/README.md @@ -0,0 +1,211 @@ +## PPNet_taobao_x1 + +A hands-on guide to run the PPNet model on the TaobaoAd_x1 dataset. + +Author: [BARS Benchmark](https://github.com/reczoo/BARS/blob/main/CITATION) + + +| [Environments](#Environments) | [Dataset](#Dataset) | [Code](#Code) | [Results](#Results) | [Logs](#Logs) | +|:-----------------------------:|:-----------:|:--------:|:--------:|-------| +### Environments ++ Hardware + + ```python + CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz + GPU: Tesla V100 32G + RAM: 755G + + ``` + ++ Software + + ```python + cuda: 10.2 + python: 3.7.10 + pytorch: 1.11.0 + pandas: 1.1.5 + numpy: 1.19.5 + scipy: 1.5.2 + sklearn: 0.22.1 + pyyaml: 6.0 + h5py: 2.8.0 + tqdm: 4.64.0 + fuxictr: 2.0.3 + + ``` + +### Dataset +Please refer to [TaobaoAd_x1](https://github.com/reczoo/Datasets/tree/main/Taobao/TaobaoAd_x1) to get the dataset details. + +### Code + +We use the [PPNet](https://github.com/reczoo/FuxiCTR/tree/v2.0.3/model_zoo/PPNet) model code from [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/tree/v2.0.3) for this experiment. + +Running steps: + +1. Download [FuxiCTR-v2.0.3](https://github.com/reczoo/FuxiCTR/archive/refs/tags/v2.0.3.zip) and install all the dependencies listed in the [environments](#environments). + + ```bash + pip uninstall fuxictr + pip install fuxictr==2.0.3 + ``` + +2. Create a data directory and put the downloaded data files in `../data/Taobao/TaobaoAd_x1`. + +3. Both `dataset_config.yaml` and `model_config.yaml` files are available in [PPNet_taobaoad_x1_tuner_config_01](./PPNet_taobaoad_x1_tuner_config_01). Please make sure that the data paths in `dataset_config.yaml` are correctly set. + +4. Run the following script to start training and evaluation. + + ```bash + cd FuxiCTR/model_zoo/PPNet + nohup python run_expid.py --config YOUR_PATH/PPNet/PPNet_taobaoad_x1_tuner_config_01 --expid PPNet_taobaoad_x1_023_a59da105 --gpu 0 > run.log & + tail -f run.log + ``` + +### Results + +| gAUC | AUC | logloss | +|:--------------------:|:--------------------:|:--------------------:| +| 0.572597 | 0.647442 | 0.194488 | + + +### Logs +```python +2023-06-02 02:02:39,172 P84789 INFO Params: { + "batch_norm": "False", + "batch_size": "4096", + "data_format": "csv", + "data_root": "../data/Taobao/", + "dataset_id": "taobaoad_x1_2753db8a", + "debug_mode": "False", + "early_stop_patience": "2", + "embedding_dim": "32", + "embedding_regularizer": "5e-06", + "epochs": "100", + "eval_steps": "None", + "feature_cols": "[{'active': True, 'dtype': 'int', 'name': 'group_id', 'preprocess': 'copy_from(userid)', 'remap': False, 'type': 'meta'}, {'active': True, 'dtype': 'str', 'name': ['userid', 'cms_segid', 'cms_group_id', 'final_gender_code', 'age_level', 'pvalue_level', 'shopping_level', 'occupation', 'new_user_class_level', 'adgroup_id', 'cate_id', 'campaign_id', 'customer', 'brand', 'pid', 'btag'], 'type': 'categorical'}, {'active': True, 'dtype': 'float', 'name': 'price', 'type': 'numeric'}, {'active': True, 'dtype': 'str', 'max_len': 50, 'name': 'cate_his', 'padding': 'pre', 'share_embedding': 'cate_id', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 50, 'name': 'brand_his', 'padding': 'pre', 'share_embedding': 'brand', 'splitter': '^', 'type': 'sequence'}, {'active': True, 'dtype': 'str', 'max_len': 50, 'name': 'btag_his', 'padding': 'pre', 'share_embedding': 'btag', 'splitter': '^', 'type': 'sequence'}]", + "feature_config": "None", + "feature_specs": "None", + "gate_emb_dim": "32", + "gate_hidden_dim": "256", + "gate_priors": "['userid', 'cms_group_id', 'adgroup_id']", + "gpu": "7", + "group_id": "group_id", + "hidden_activations": "ReLU", + "hidden_units": "[512, 256, 128]", + "label_col": "{'dtype': 'float', 'name': 'clk'}", + "learning_rate": "0.001", + "loss": "binary_crossentropy", + "metrics": "['gAUC', 'AUC', 'logloss']", + "min_categr_count": "10", + "model": "PPNet", + "model_id": "PPNet_taobaoad_x1_023_a59da105", + "model_root": "./checkpoints/PPNet_taobaoad_x1/", + "monitor": "{'AUC': 1, 'gAUC': 1}", + "monitor_mode": "max", + "net_dropout": "0", + "net_regularizer": "0", + "num_workers": "3", + "optimizer": "adam", + "pickle_feature_encoder": "True", + "save_best_only": "True", + "seed": "20222023", + "shuffle": "True", + "task": "binary_classification", + "test_data": "../data/Taobao/TaobaoAd_x1/test.csv", + "train_data": "../data/Taobao/TaobaoAd_x1/train.csv", + "use_features": "None", + "valid_data": "../data/Taobao/TaobaoAd_x1/test.csv", + "verbose": "1" +} +2023-06-02 02:02:39,190 P84789 INFO Set up feature processor... +2023-06-02 02:02:39,191 P84789 WARNING Skip rebuilding ../data/Taobao/taobaoad_x1_2753db8a/feature_map.json. Please delete it manually if rebuilding is required. +2023-06-02 02:02:39,191 P84789 INFO Load feature_map from json: ../data/Taobao/taobaoad_x1_2753db8a/feature_map.json +2023-06-02 02:02:39,191 P84789 INFO Set column index... +2023-06-02 02:02:39,191 P84789 INFO Feature specs: { + "adgroup_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 246850, 'vocab_size': 246851}", + "age_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 8, 'vocab_size': 9}", + "brand": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 308869, 'vocab_size': 308870}", + "brand_his": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'brand', 'padding_idx': 0, 'oov_idx': 308869, 'vocab_size': 308870, 'max_len': 50}", + "btag": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 5, 'vocab_size': 6}", + "btag_his": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'btag', 'padding_idx': 0, 'oov_idx': 5, 'vocab_size': 6, 'max_len': 50}", + "campaign_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 191770, 'vocab_size': 191771}", + "cate_his": "{'source': '', 'type': 'sequence', 'feature_encoder': 'layers.MaskedAveragePooling()', 'share_embedding': 'cate_id', 'padding_idx': 0, 'oov_idx': 11329, 'vocab_size': 11330, 'max_len': 50}", + "cate_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 11329, 'vocab_size': 11330}", + "cms_group_id": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 14, 'vocab_size': 15}", + "cms_segid": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 98, 'vocab_size': 99}", + "customer": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 132135, 'vocab_size': 132136}", + "final_gender_code": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 3, 'vocab_size': 4}", + "group_id": "{'type': 'meta'}", + "new_user_class_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 6, 'vocab_size': 7}", + "occupation": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 3, 'vocab_size': 4}", + "pid": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 3, 'vocab_size': 4}", + "price": "{'source': '', 'type': 'numeric'}", + "pvalue_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 5, 'vocab_size': 6}", + "shopping_level": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 4, 'vocab_size': 5}", + "userid": "{'source': '', 'type': 'categorical', 'padding_idx': 0, 'oov_idx': 403957, 'vocab_size': 403958}" +} +2023-06-02 02:02:43,991 P84789 INFO Total number of parameters: 63557633. +2023-06-02 02:02:43,991 P84789 INFO Loading data... +2023-06-02 02:02:43,992 P84789 INFO Loading data from h5: ../data/Taobao/taobaoad_x1_2753db8a/train.h5 +2023-06-02 02:03:13,986 P84789 INFO Train samples: total/21929911, blocks/1 +2023-06-02 02:03:13,986 P84789 INFO Loading data from h5: ../data/Taobao/taobaoad_x1_2753db8a/valid.h5 +2023-06-02 02:03:17,855 P84789 INFO Validation samples: total/3099515, blocks/1 +2023-06-02 02:03:17,855 P84789 INFO Loading train and validation data done. +2023-06-02 02:03:17,855 P84789 INFO Start training: 5354 batches/epoch +2023-06-02 02:03:17,855 P84789 INFO ************ Epoch=1 start ************ +2023-06-02 02:18:34,306 P84789 INFO Train loss: 0.205051 +2023-06-02 02:18:34,307 P84789 INFO Evaluation @epoch 1 - batch 5354: +2023-06-02 02:21:49,287 P84789 INFO [Metrics] AUC: 0.641968 - gAUC: 0.564675 +2023-06-02 02:21:49,289 P84789 INFO Save best model: monitor(max)=1.206643 +2023-06-02 02:21:49,762 P84789 INFO ************ Epoch=1 end ************ +2023-06-02 02:36:54,632 P84789 INFO Train loss: 0.200883 +2023-06-02 02:36:54,632 P84789 INFO Evaluation @epoch 2 - batch 5354: +2023-06-02 02:40:14,103 P84789 INFO [Metrics] AUC: 0.644788 - gAUC: 0.568505 +2023-06-02 02:40:14,105 P84789 INFO Save best model: monitor(max)=1.213293 +2023-06-02 02:40:14,809 P84789 INFO ************ Epoch=2 end ************ +2023-06-02 02:55:21,620 P84789 INFO Train loss: 0.199641 +2023-06-02 02:55:21,621 P84789 INFO Evaluation @epoch 3 - batch 5354: +2023-06-02 02:58:39,958 P84789 INFO [Metrics] AUC: 0.646491 - gAUC: 0.568941 +2023-06-02 02:58:39,960 P84789 INFO Save best model: monitor(max)=1.215432 +2023-06-02 02:58:40,590 P84789 INFO ************ Epoch=3 end ************ +2023-06-02 03:13:42,846 P84789 INFO Train loss: 0.199421 +2023-06-02 03:13:42,855 P84789 INFO Evaluation @epoch 4 - batch 5354: +2023-06-02 03:16:58,483 P84789 INFO [Metrics] AUC: 0.646835 - gAUC: 0.570554 +2023-06-02 03:16:58,485 P84789 INFO Save best model: monitor(max)=1.217389 +2023-06-02 03:16:59,225 P84789 INFO ************ Epoch=4 end ************ +2023-06-02 03:31:51,794 P84789 INFO Train loss: 0.199368 +2023-06-02 03:31:51,795 P84789 INFO Evaluation @epoch 5 - batch 5354: +2023-06-02 03:35:00,080 P84789 INFO [Metrics] AUC: 0.646718 - gAUC: 0.569567 +2023-06-02 03:35:00,082 P84789 INFO Monitor(max)=1.216284 STOP! +2023-06-02 03:35:00,082 P84789 INFO Reduce learning rate on plateau: 0.000100 +2023-06-02 03:35:00,211 P84789 INFO ************ Epoch=5 end ************ +2023-06-02 03:49:05,090 P84789 INFO Train loss: 0.189274 +2023-06-02 03:49:05,091 P84789 INFO Evaluation @epoch 6 - batch 5354: +2023-06-02 03:52:15,449 P84789 INFO [Metrics] AUC: 0.647442 - gAUC: 0.572597 +2023-06-02 03:52:15,452 P84789 INFO Save best model: monitor(max)=1.220039 +2023-06-02 03:52:16,000 P84789 INFO ************ Epoch=6 end ************ +2023-06-02 04:04:57,999 P84789 INFO Train loss: 0.186120 +2023-06-02 04:04:58,000 P84789 INFO Evaluation @epoch 7 - batch 5354: +2023-06-02 04:07:53,403 P84789 INFO [Metrics] AUC: 0.646037 - gAUC: 0.571588 +2023-06-02 04:07:53,404 P84789 INFO Monitor(max)=1.217625 STOP! +2023-06-02 04:07:53,404 P84789 INFO Reduce learning rate on plateau: 0.000010 +2023-06-02 04:07:53,520 P84789 INFO ************ Epoch=7 end ************ +2023-06-02 04:20:43,348 P84789 INFO Train loss: 0.176549 +2023-06-02 04:20:43,348 P84789 INFO Evaluation @epoch 8 - batch 5354: +2023-06-02 04:23:42,541 P84789 INFO [Metrics] AUC: 0.640906 - gAUC: 0.566632 +2023-06-02 04:23:42,542 P84789 INFO Monitor(max)=1.207538 STOP! +2023-06-02 04:23:42,543 P84789 INFO Reduce learning rate on plateau: 0.000001 +2023-06-02 04:23:42,543 P84789 INFO ********* Epoch==8 early stop ********* +2023-06-02 04:23:42,695 P84789 INFO Training finished. +2023-06-02 04:23:42,696 P84789 INFO Load best model: /cache/FuxiCTR/benchmark/checkpoints/PPNet_taobaoad_x1/taobaoad_x1_2753db8a/PPNet_taobaoad_x1_023_a59da105.model +2023-06-02 04:23:42,929 P84789 INFO ****** Validation evaluation ****** +2023-06-02 04:26:49,560 P84789 INFO [Metrics] gAUC: 0.572597 - AUC: 0.647442 - logloss: 0.194488 +2023-06-02 04:26:49,718 P84789 INFO ******** Test evaluation ******** +2023-06-02 04:26:49,718 P84789 INFO Loading data... +2023-06-02 04:26:49,718 P84789 INFO Loading data from h5: ../data/Taobao/taobaoad_x1_2753db8a/test.h5 +2023-06-02 04:26:53,701 P84789 INFO Test samples: total/3099515, blocks/1 +2023-06-02 04:26:53,701 P84789 INFO Loading test data done. +2023-06-02 04:29:56,282 P84789 INFO [Metrics] gAUC: 0.572597 - AUC: 0.647442 - logloss: 0.194488 + +``` diff --git a/ranking/ctr/PPNet/PPNet_taobao_x1/environments.txt b/ranking/ctr/PPNet/PPNet_taobao_x1/environments.txt new file mode 100644 index 0000000..a39d234 --- /dev/null +++ b/ranking/ctr/PPNet/PPNet_taobao_x1/environments.txt @@ -0,0 +1,17 @@ +[Hardware] +CPU: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz +GPU: Tesla V100 32G +RAM: 755G + +[Software] +cuda: 10.2 +python: 3.7.10 +pytorch: 1.11.0 +pandas: 1.1.5 +numpy: 1.19.5 +scipy: 1.5.2 +sklearn: 0.22.1 +pyyaml: 6.0 +h5py: 2.8.0 +tqdm: 4.64.0 +fuxictr: 2.0.3 diff --git a/ranking/ctr/PPNet/PPNet_taobao_x1/results.csv b/ranking/ctr/PPNet/PPNet_taobao_x1/results.csv new file mode 100644 index 0000000..8cf89e5 --- /dev/null +++ b/ranking/ctr/PPNet/PPNet_taobao_x1/results.csv @@ -0,0 +1 @@ + 20230602-042956,[command] python run_expid.py --config Taobao/PPNet_taobao_x1/PPNet_taobaoad_x1_tuner_config_01 --expid PPNet_taobaoad_x1_023_a59da105 --gpu 7,[exp_id] PPNet_taobaoad_x1_023_a59da105,[dataset_id] taobaoad_x1_2753db8a,[train] N.A.,[val] gAUC: 0.572597 - AUC: 0.647442 - logloss: 0.194488,[test] gAUC: 0.572597 - AUC: 0.647442 - logloss: 0.194488 diff --git a/scripts/gen_readme_md.py b/scripts/gen_readme_md.py new file mode 100644 index 0000000..c032617 --- /dev/null +++ b/scripts/gen_readme_md.py @@ -0,0 +1,172 @@ +import os +import numpy as np +import glob +import pandas as pd + + +input_dir = "../ranking/ctr/PPNet/PPNet_taobao_x1" + +model_id = os.path.basename(input_dir) +model_name = input_dir.split("ctr/")[1].split("/")[0] +dataset_id = "_".join(model_id.split("_")[model_name.count("_") + 1:]).capitalize() +short_dataset_id = "_".join(dataset_id.split("_")[0:2]).capitalize() +dataset_name = dataset_id.split("_")[0] + +# dataset_name = "MovieLens" +# dataset_id = "MovielensLatest_x1" +# short_dataset_id = "MovielensLatest_x1" + +# dataset_name = "Amazon" +# dataset_id = "AmazonElectronics_x1" +# short_dataset_id = "AmazonElectronics_x1" + +# dataset_name = "KuaiShou" +# dataset_id = "KuaiVideo_x1" +# short_dataset_id = "KuaiVideo_x1" + +# dataset_name = "MicroVideo" +# dataset_id = "MicroVideo1.7M_x1" +# short_dataset_id = "MicroVideo1.7M_x1" + +dataset_name = "Taobao" +dataset_id = "TaobaoAd_x1" +short_dataset_id = "TaobaoAd_x1" + +# dataset_name = "Frappe" +# dataset_id = "Frappe_x1" +# short_dataset_id = "Frappe_x1" + +dataset_url = f"https://github.com/reczoo/Datasets/tree/main/{dataset_name}/{short_dataset_id}" +print(dataset_url) + +hardware_envs = "" +software_envs = "" +read_state = None +with open(os.path.join(input_dir, "environments.txt"), "r") as fd: + for line in fd: + if line.startswith("[Hardware]"): + read_state = "hardware" + continue + elif line.startswith("[Software]"): + read_state = "software" + continue + if read_state == "hardware" and line.strip() != "": + hardware_envs += " " + line + elif read_state == "software" and line.strip() != "": + software_envs += " " + line + +fuxictr_version = software_envs.strip().split("\n")[-1].split(":")[-1].strip() +model_url = f"https://github.com/reczoo/FuxiCTR/tree/v{fuxictr_version}/model_zoo/{model_name}" +fuxictr_url1 = f"https://github.com/reczoo/FuxiCTR/tree/v{fuxictr_version}" +fuxictr_url2 = f"https://github.com/reczoo/FuxiCTR/archive/refs/tags/v{fuxictr_version}.zip" + +log_path = glob.glob(os.path.join(input_dir, "*.log"))[0] +print(log_path) +exp_id = os.path.basename(log_path).split(".")[0] +logs = open(log_path).read() + +config_path = glob.glob(os.path.join(input_dir, "*_config*"))[0] +print(config_path) +if os.path.isdir(config_path): + config_dir = os.path.basename(config_path) + +df = pd.read_csv(os.path.join(input_dir, "results.csv"), header=None) +res = df.values[:, -1] +num_runs = len(res) +if num_runs == 1: + result_table = "" + rows_header = False +else: + result_table = f"Total {num_runs} runs:\n\n" + rows_header = True + +res_array = [] +for i, line in enumerate(res): + metrics = line.split("]")[-1].split("-") + if i == 0: + result_table += "| Runs " * int(rows_header) + for m in metrics: + result_table += "| " + m.split(":")[0].strip() + " " + result_table += " |\n" + result_table += ("|:" + "-"*20 + ":") * int(rows_header) + for m in metrics: + result_table += "|:" + "-"*20 + ":" + result_table += "|\n" + result_table += "| {} ".format(i + 1) * int(rows_header) + tmp = [] + for m in metrics: + result_table += "| " + m.split(":")[1].strip() + " " + tmp.append(float(m.split(":")[1].strip())) + res_array.append(tmp) + result_table += " |\n" +if num_runs > 1: + avg_list = list(np.mean(np.array(res_array), axis=0)) + std_list = list(np.std(np.array(res_array), axis=0)) + result_table += "| Avg | " + " | ".join(["{:.6f}".format(x) for x in avg_list]) + " |\n" + result_table += "| Std | ±" + " | ±".join(["{:.8f}".format(x) for x in std_list]) + " |\n" +# print(result_table) + +markdown_template = \ +f"## {model_id}\n\ +\n\ +A hands-on guide to run the {model_name} model on the {dataset_id} dataset.\n\ +\n\ +Author: [BARS Benchmark](https://github.com/reczoo/BARS/blob/main/CITATION)\n\ +\n\ +\n| [Environments](#Environments) | [Dataset](#Dataset) | [Code](#Code) | [Results](#Results) | [Logs](#Logs) |\ +\n|:-----------------------------:|:-----------:|:--------:|:--------:|-------|\ +\n\ +### Environments\n\ ++ Hardware\n\ +\n\ + ```python\n\ +{hardware_envs}\n\ + ```\n\ +\n\ ++ Software\n\ +\n\ + ```python\n\ +{software_envs}\n\ + ```\n\ +\n\ +### Dataset\n\ +Please refer to [{dataset_id}]({dataset_url}) to get the dataset details.\n\ +\n\ +### Code\n\ +\n\ +We use the [{model_name}]({model_url}) model code from [FuxiCTR-v{fuxictr_version}]({fuxictr_url1}) for this experiment.\n\ +\n\ +Running steps:\n\ +\n\ +1. Download [FuxiCTR-v{fuxictr_version}]({fuxictr_url2}) and install all the dependencies listed in the [environments](#environments).\n\ + \n\ + ```bash\n\ + pip uninstall fuxictr\n\ + pip install fuxictr=={fuxictr_version}\n\ + ```\n\ +\n\ +2. Create a data directory and put the downloaded data files in `../data/{dataset_name}/{dataset_id}`.\n\ +\n\ +3. Both `dataset_config.yaml` and `model_config.yaml` files are available in [{config_dir}](./{config_dir}). Please make sure that the data paths in `dataset_config.yaml` are correctly set.\n\ +\n\ +4. Run the following script to start training and evaluation.\n\ +\n\ + ```bash\n\ + cd FuxiCTR/model_zoo/{model_name}\n\ + nohup python run_expid.py --config YOUR_PATH/{model_name}/{config_dir} --expid {exp_id} --gpu 0 > run.log &\n\ + tail -f run.log\n\ + ```\n\ +\n\ +### Results\n\ +\n\ +{result_table}\n\ +\n\ +### Logs\n\ +```python\n\ +{logs}\n\ +```\n\ +" +# print(markdown_template) + +with open(os.path.join(input_dir, "README.md"), "w") as fout: + fout.write(markdown_template)