56 lines
3.2 KiB
Markdown
56 lines
3.2 KiB
Markdown
|
||
|
||
本项目使用以下命令行参数来配置运行环境和模型训练参数:
|
||
|
||
- `--seed <int>`:实验的随机种子。默认值为`9331`。
|
||
- `--path <str>`:环境路径。默认值为`"./Build/3.6/Aimbot-ParallelEnv"`。
|
||
- `--workerID <int>`:Unity worker ID。默认值为`1`。
|
||
- `--baseport <int>`:用于连接Unity环境的端口。默认值为`500`。
|
||
- `--lr <float>`:优化器的默认学习率。默认值为`5e-5`。
|
||
- `--cuda`:如果启用,将默认使用cuda。可以通过传入`true`或`false`来开启或关闭。
|
||
- `--total-timesteps <int>`:实验的总时间步数。默认值为`3150000`。
|
||
|
||
### 模型参数
|
||
|
||
- `--train`:是否训练模型。默认启用。
|
||
- `--freeze-viewnet`:是否冻结视图网络(raycast)。默认为`False`。
|
||
- `--datasetSize <int>`:训练数据集的大小,当数据集收集足够的数据时开始训练。默认值为`6000`。
|
||
- `--minibatchSize <int>`:minibatch大小。默认值为`512`。
|
||
- `--epochs <int>`:更新策略的K次迭代。默认值为`3`。
|
||
- `--annealLR`:是否对策略和价值网络进行学习率退火。默认为`True`。
|
||
- `--wandb-track`:是否在wandb上跟踪。默认为`False`。
|
||
- `--save-model`:是否保存模型。默认为`False`。
|
||
- `--wandb-entity <str>`:wandb项目的实体。默认值为`"koha9"`。
|
||
- `--load-dir <str>`:模型加载目录。默认值为`None`。
|
||
- `--decision-period <int>`:Timestep之间的动作执行间隔。默认值为`1`。
|
||
- `--result-broadcast-ratio <float>`:当赢得回合时,对结果的reward进行broadcast的比例,默认值为`1/30`。
|
||
- `--target-lr <float>`:下调学习率的目标值。默认值为`1e-6`。
|
||
|
||
### 损失函数参数
|
||
|
||
- `--policy-coef <float>`:策略损失的系数。默认值为`[0.8, 0.8, 0.8, 0.8]`。
|
||
- `--entropy-coef <float>`:熵损失的系数。默认值为`[0.05, 0.05, 0.05, 0.05]`。
|
||
- `--critic-coef <float>`:评论家损失的系数。默认值为`[1.0, 1.0, 1.0, 1.0]`。
|
||
- `--loss-coef <float>`:总损失的系数。默认值为`[1.0, 1.0, 1.0, 1.0]`。
|
||
|
||
### GAE损失参数
|
||
|
||
- `--gae`:是否使用GAE进行优势计算。默认启用。
|
||
- `--norm-adv`:是否标准化优势。默认为`False`。
|
||
- `--gamma <float>`:折扣因子gamma。默认值为`0.999`。
|
||
- `--gaeLambda <float>`:GAE的lambda值。默认值为`0.95`。
|
||
- `--clip-coef <float>`:替代裁剪系数。默认值为`0.11`。
|
||
- `--clip-vloss`:是否使用论文中的裁剪价值函数损失。默认启用。
|
||
- `--max-grad-norm <float>`:梯度裁剪的最大范数。默认值为`0.5`。
|
||
|
||
### 环境参数
|
||
|
||
- `--target-num <int>`:目标种类数量。默认值为`4`。
|
||
- `--env-timelimit <int>`:每轮的时间限制。默认值为`30`。
|
||
- `--base-win-reward <int>`:赢得回合的基础奖励。默认值为`999`。
|
||
- `--base-lose-reward <int>`:输掉回合的基础奖励。默认值为`-999`。
|
||
- `--target-state-size <int>`:target状态的大小。默认值为`6`。
|
||
- `--time-state-size <int>`:游戏剩余时间状态的大小。默认值为`1`。
|
||
- `--gun-state-size <int>`:枪状态的大小。默认值为`1`。
|
||
- `--my-state-size <int>`:我的状态大小。默认值为`4`。
|
||
- `--total-target-size <int>`:总target状态的大小。默认值为`12`。 |