3.2 KiB
3.2 KiB
本项目使用以下命令行参数来配置运行环境和模型训练参数:
--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
。