Blame view

offline_tasks/test_fixes.sh 3.2 KB
06cb25fa   tangwang   deepwalk refactor...
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
  #!/bin/bash
  
  echo "======================================================================"
  echo "测试修复是否成功"
  echo "======================================================================"
  echo ""
  
  cd /home/tw/recommendation/offline_tasks
  
  # 测试 1: 检查文件是否存在
  echo "[测试 1] 检查文件是否正确移动..."
  if [ -f "scripts/db_service.py" ]; then
      echo "  ✓ db_service.py 已移动到 scripts/"
  else
      echo "  ✗ db_service.py 未找到"
      exit 1
  fi
  
  if [ -f "deepwalk/deepwalk.py" ] && [ -f "deepwalk/alias.py" ]; then
      echo "  ✓ DeepWalk 文件已移动到 offline_tasks/deepwalk/"
  else
      echo "  ✗ DeepWalk 文件未找到"
      exit 1
  fi
  
  # 测试 2: 检查 Python 语法
  echo ""
  echo "[测试 2] 检查 Python 脚本语法..."
  python3 -m py_compile scripts/i2i_item_behavior.py 2>/dev/null
  if [ $? -eq 0 ]; then
      echo "  ✓ i2i_item_behavior.py 语法正确"
  else
      echo "  ✗ i2i_item_behavior.py 语法错误"
      exit 1
  fi
  
  python3 -m py_compile scripts/tag_category_similar.py 2>/dev/null
  if [ $? -eq 0 ]; then
      echo "  ✓ tag_category_similar.py 语法正确"
  else
      echo "  ✗ tag_category_similar.py 语法错误"
      exit 1
  fi
  
  python3 -m py_compile scripts/i2i_deepwalk.py 2>/dev/null
  if [ $? -eq 0 ]; then
      echo "  ✓ i2i_deepwalk.py 语法正确"
  else
      echo "  ✗ i2i_deepwalk.py 语法错误"
      exit 1
  fi
  
  # 测试 3: 检查是否还有 sys.path hack
  echo ""
  echo "[测试 3] 检查是否清理了 sys.path hack..."
  sys_path_count=$(grep -r "sys.path.append" scripts/*.py | wc -l)
  if [ $sys_path_count -eq 0 ]; then
      echo "  ✓ 所有 sys.path hack 已清理"
  else
      echo "  ⚠️  仍有 $sys_path_count 个文件包含 sys.path.append"
      grep -r "sys.path.append" scripts/*.py
  fi
  
  # 测试 4: 检查导入语句
  echo ""
  echo "[测试 4] 检查导入语句..."
  if grep -q "^from db_service import" scripts/i2i_item_behavior.py; then
      echo "  ✓ i2i_item_behavior.py 正确导入 db_service"
  else
      echo "  ✗ i2i_item_behavior.py 未导入 db_service"
      exit 1
  fi
  
  if grep -q "^from db_service import" scripts/tag_category_similar.py; then
      echo "  ✓ tag_category_similar.py 正确导入 db_service"
  else
      echo "  ✗ tag_category_similar.py 未导入 db_service"
      exit 1
  fi
  
  if grep -q "from deepwalk import DeepWalk" scripts/i2i_deepwalk.py; then
      echo "  ✓ i2i_deepwalk.py 正确导入 DeepWalk"
  else
      echo "  ✗ i2i_deepwalk.py 未导入 DeepWalk"
      exit 1
  fi
  
  echo ""
  echo "======================================================================"
  echo "✓ 所有测试通过!"
  echo "======================================================================"
  echo ""
  echo "现在可以运行以下命令进行完整测试:"
  echo ""
  echo "  # 测试 Task 5"
  echo "  python3 scripts/i2i_item_behavior.py --lookback_days 400 --top_n 50 --debug"
  echo ""
  echo "  # 测试 Task 6"
  echo "  python3 scripts/tag_category_similar.py --lookback_days 400 --top_n 50 --debug"
  echo ""
  echo "  # 测试 Task 3 (DeepWalk - 使用较小参数)"
  echo "  python3 scripts/i2i_deepwalk.py --lookback_days 200 --top_n 30 --num_walks 5 --walk_length 20 --save_model --save_graph --debug"
  echo ""
  echo "  # 或运行完整流程"
  echo "  bash run.sh"
  echo ""