Blame view

offline_tasks/DEBUG_MODE_USAGE.md 4.03 KB
c59dd0b0   tangwang   补充部分任务明文版本输出
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
  # Debug模式使用说明
  
  ## 概述
  
  所有推荐任务脚本都支持 `--debug` 参数,开启后会在 `output/debug/` 目录下生成可读的明文索引文件,方便查看推荐效果。
  
  ## 支持Debug模式的任务
  
  | 任务名称 | 脚本文件 | 输出文件 | 可读文件位置 |
  |---------|---------|---------|-------------|
  | Swing算法 | `i2i_swing.py` | `i2i_swing_YYYYMMDD.txt` | `output/debug/i2i_swing_YYYYMMDD_readable.txt` |
  | Session W2V | `i2i_session_w2v.py` | `i2i_session_w2v_YYYYMMDD.txt` | `output/debug/i2i_session_w2v_YYYYMMDD_readable.txt` |
  | DeepWalk | `i2i_deepwalk.py` | `i2i_deepwalk_YYYYMMDD.txt` | `output/debug/i2i_deepwalk_YYYYMMDD_readable.txt` |
  | 内容相似度(名称) | `i2i_content_similar.py` | `i2i_content_name_YYYYMMDD.txt` | `output/debug/i2i_content_name_YYYYMMDD_readable.txt` |
  | 内容相似度(图片) | `i2i_content_similar.py` | `i2i_content_pic_YYYYMMDD.txt` | `output/debug/i2i_content_pic_YYYYMMDD_readable.txt` |
  | Item行为相似度 | `i2i_item_behavior.py` | `i2i_item_behavior_YYYYMMDD.txt` | `output/debug/i2i_item_behavior_YYYYMMDD_readable.txt` |
  | Tag分类相似度 | `tag_category_similar.py` | `tag_category_similar_YYYYMMDD.txt` | `output/debug/tag_category_similar_YYYYMMDD_readable.txt` |
  | 兴趣聚合 | `interest_aggregation.py` | `interest_*_YYYYMMDD.txt` | `output/debug/interest_*_YYYYMMDD_readable.txt` |
  
  ## 使用方法
  
  ### 方法1: 通过run.sh全局开启
  
  `run.sh` 中设置:
  
  ```bash
  DEBUG_MODE="--debug"  # 开启debug模式
  # 或
  DEBUG_MODE=""  # 关闭debug模式
  ```
  
  然后运行:
  
  ```bash
  bash run.sh
  ```
  
  ### 方法2: 单独运行某个任务
  
  #### 示例1: 运行Session W2V (已支持debug模式)
  
  ```bash
  python3 scripts/i2i_session_w2v.py --lookback_days 400 --top_n 50 --debug
  ```
  
  #### 示例2: 运行DeepWalk (已支持debug模式)
  
  ```bash
  python3 scripts/i2i_deepwalk.py --lookback_days 400 --top_n 50 --debug
  ```
  
  #### 示例3: 运行内容相似度 (新增debug模式)
  
  ```bash
  python3 scripts/i2i_content_similar.py --top_n 50 --debug
  ```
  
  #### 示例4: 运行Item行为相似度 (新增debug模式)
  
  ```bash
  python3 scripts/i2i_item_behavior.py --lookback_days 180 --top_n 50 --debug
  ```
  
  #### 示例5: 运行兴趣聚合 (已支持debug模式)
  
  ```bash
  python3 scripts/interest_aggregation.py --lookback_days 400 --top_n 1000 --debug
  ```
  
  ## 可读文件格式
  
  可读文件格式示例:
  
  ```
  ================================================================================
  明文索引文件
  生成时间: 2025-10-22 14:30:25
  描述: i2i:session_w2v
  总索引数: 50990
  ================================================================================
  
  [1] i2i:session_w2v:12345 (商品名称)
  --------------------------------------------------------------------------------
    1. ID:23456(相似商品1名称) - Score:0.8520
    2. ID:34567(相似商品2名称) - Score:0.7845
    3. ID:45678(相似商品3名称) - Score:0.7321
    ...
  ```
  
  ## 性能影响
  
  - **不开启debug模式**: 只生成标准索引文件,速度最快
  - **开启debug模式**: 会额外查询数据库获取商品名称,生成可读文件,任务时间会增加约10-20%
  
  ## 注意事项
  
  1. **磁盘空间**: 可读文件通常比标准索引文件大2-3倍,请确保有足够的磁盘空间
  2. **数据库负载**: debug模式会额外查询商品名称,在高并发场景下建议关闭
  3. **文件位置**: 所有可读文件都保存在 `output/debug/` 目录
  4. **定期清理**: 建议定期清理旧的debug文件,避免占用过多磁盘空间
  
  ## 快速检查命令
  
  查看最新生成的可读文件:
  
  ```bash
  # 列出所有可读文件
  ls -lh output/debug/*_readable.txt
  
  # 查看某个可读文件的前50行
  head -50 output/debug/i2i_session_w2v_20251022_readable.txt
  
  # 统计可读文件数量
  ls output/debug/*_readable.txt | wc -l
  ```
  
  ## 故障排查
  
  如果没有生成可读文件,检查:
  
  1. 是否传递了 `--debug` 参数
  2. `output/debug/` 目录是否存在且有写权限
  3. 查看日志文件确认是否有错误信息
  4. 检查数据库连接是否正常(需要查询商品名称)