Aimbot-PPO/Aimbot-PPO-Python/Pytorch/arguments-cn.md
2024-03-02 17:36:33 +09:00

3.2 KiB
Raw Permalink Blame History

本项目使用以下命令行参数来配置运行环境和模型训练参数:

  • --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。可以通过传入truefalse来开启或关闭。
  • --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