QUICK_DEBUG_SUMMARY.md
3.53 KB
Debug功能快速总结
✅ 已完成的工作
1. 核心组件
| 组件 | 状态 | 说明 |
|---|---|---|
debug_utils.py |
✅ | Debug工具库(369行) |
offline_config.py |
✅ | 新增DEBUG_CONFIG |
i2i_swing.py |
✅ | 完整debug支持 |
run_all.py |
✅ | 支持--debug参数传递 |
2. Debug功能特性
A. 详细日志输出
# 自动记录:
- 算法参数
- 数据统计(行数、列数、类型、缺失值)
- 处理进度(每N条显示)
- 每个步骤的耗时
- 数据分布(行为类型、用户数、商品数)
- 中间结果采样
B. 明文索引文件
原始: 12345\t香蕉干\t67890:0.8567,11223:0.7234
明文: [1] i2i:swing:12345(香蕉干)
1. ID:67890(芒果干) - Score:0.8567
2. ID:11223(菠萝干) - Score:0.7234
C. 日志文件
offline_tasks/logs/debug/i2i_swing_20251016_193000.log
offline_tasks/output/debug/i2i_swing_20251016_readable.txt
🚀 使用方法
单个脚本
# i2i_swing.py 已支持debug
python3 scripts/i2i_swing.py --lookback_days 7 --top_n 10 --debug
所有任务
# run_all.py 已支持debug参数传递
python3 run_all.py --lookback_days 7 --top_n 10 --debug
📊 输出示例
控制台输出
2025-10-16 19:30:00 - i2i_swing - DEBUG - ============================================================
2025-10-16 19:30:00 - i2i_swing - DEBUG - 算法参数:
2025-10-16 19:30:00 - i2i_swing - DEBUG - alpha: 0.5
2025-10-16 19:30:00 - i2i_swing - DEBUG - top_n: 10
2025-10-16 19:30:05 - i2i_swing - INFO - 获取到 15234 条记录
2025-10-16 19:30:05 - i2i_swing - DEBUG - 总行数: 15234
2025-10-16 19:30:05 - i2i_swing - DEBUG - 行为类型分布:
2025-10-16 19:30:05 - i2i_swing - DEBUG - addToCart: 8520 (55.93%)
2025-10-16 19:30:10 - i2i_swing - INFO - 总用户数: 3456, 总商品数: 2345
明文文件示例
================================================================================
明文索引文件
生成时间: 2025-10-16 19:35:00
描述: Swing算法 i2i相似度推荐 (alpha=0.5, lookback_days=7)
总索引数: 2345
================================================================================
[1] i2i:swing:12345(香蕉干)
--------------------------------------------------------------------------------
1. ID:67890(芒果干) - Score:0.8567
2. ID:11223(菠萝干) - Score:0.7234
3. ID:44556(苹果干) - Score:0.6891
🔧 Debug工具函数
| 函数 | 功能 |
|---|---|
setup_debug_logger() |
设置debug日志 |
log_dataframe_info() |
记录DataFrame详情 |
log_dict_stats() |
记录字典统计 |
save_readable_index() |
保存明文索引 |
fetch_name_mappings() |
获取ID到名称映射 |
log_algorithm_params() |
记录算法参数 |
log_processing_step() |
记录处理步骤 |
📝 待完成
需要为以下脚本添加debug支持(使用相同模式):
- [ ] i2i_session_w2v.py
- [ ] i2i_deepwalk.py
- [ ] i2i_content_similar.py
- [ ] interest_aggregation.py
💡 快速测试
# 1. 测试debug工具
cd /home/tw/recommendation/offline_tasks
python3 -c "from scripts.debug_utils import *; print('✓ Debug utils OK')"
# 2. 测试i2i_swing debug模式
python3 scripts/i2i_swing.py --lookback_days 1 --top_n 5 --debug
# 3. 查看输出
ls -lh logs/debug/
ls -lh output/debug/
📖 完整文档
详细使用指南:DEBUG_GUIDE.md
状态: 🚧 进行中 (i2i_swing.py完成,其他脚本待更新)
下一步: 批量更新其他4个脚本的debug支持