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支持