-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrun_2048.sh
More file actions
executable file
·84 lines (74 loc) · 2.66 KB
/
Copy pathrun_2048.sh
File metadata and controls
executable file
·84 lines (74 loc) · 2.66 KB
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
#!/bin/bash
# 帮助函数
show_help() {
echo "2048-RLbot 训练和测试脚本"
echo ""
echo "用法: ./run_2048.sh [命令] [选项]"
echo ""
echo "命令:"
echo " train-basic 使用基本DQN训练模型"
echo " train-enhanced 使用增强DQN训练模型"
echo " train-full 使用所有优化技术训练模型"
echo " test 测试模型性能"
echo " compare 比较两个模型的性能"
echo " help 显示此帮助信息"
echo ""
echo "示例:"
echo " ./run_2048.sh train-basic # 使用基本DQN网络训练"
echo " ./run_2048.sh train-enhanced # 使用Dueling DQN训练"
echo " ./run_2048.sh train-full # 使用所有优化技术训练"
echo " ./run_2048.sh test PATH_TO_MODEL # 测试模型"
echo " ./run_2048.sh compare MODEL1_PATH MODEL2_PATH # 比较两个模型"
echo ""
}
# 如果没有参数,显示帮助
if [ $# -eq 0 ]; then
show_help
exit 0
fi
# 处理命令
command=$1
shift
case $command in
train-basic)
echo "启动基本DQN训练..."
python train.py --model_name dqn_net
;;
train-enhanced)
echo "启动增强DQN训练..."
python train_enhanced.py --model_name dueling_dqn --use_reward_shaping --epsilon_decay_steps 100000 --epsilon_end 0.05
;;
train-full)
echo "启动全优化DQN训练..."
python train_enhanced.py --model_name cnn_2048 --use_reward_shaping --use_prioritized_replay --buffer_capacity 100000 --lr 1e-4 --weight_decay 1e-5 --batch_size 256 --accumulate_grad_batches 4 --warm_start_steps 5000 --epsilon_decay_steps 200000
;;
test)
if [ $# -eq 0 ]; then
echo "错误: 请提供模型路径"
echo "用法: ./run_2048.sh test PATH_TO_MODEL"
exit 1
fi
model_path=$1
echo "测试模型: $model_path"
python test_enhanced.py --model_path "$model_path" --num_episodes 20
;;
compare)
if [ $# -lt 2 ]; then
echo "错误: 请提供两个模型路径进行比较"
echo "用法: ./run_2048.sh compare MODEL1_PATH MODEL2_PATH"
exit 1
fi
model1_path=$1
model2_path=$2
echo "比较模型: $model1_path 和 $model2_path"
python test_enhanced.py --model_path "$model1_path" --compare_model_path "$model2_path" --num_episodes 20
;;
help)
show_help
;;
*)
echo "未知命令: $command"
show_help
exit 1
;;
esac