我刚刚开始使用,RL
并使用. 基本命令是:PPO
SpinningUp
from spinup import ppo_tf1 as ppo
env_fn = lambda : gym.make(MyEnvName)
ac_kwargs = dict(hidden_sizes=[8], activation=tf.nn.relu)
logger_kwargs = dict(output_dir=SavePath, exp_name='MyExportName')
ppo(env_fn=env_fn, ac_kwargs=ac_kwargs, steps_per_epoch=3600, epochs=50, logger_kwargs=logger_kwargs, gamma = 0.9995, max_ep_len=600)
训练后(运行良好),我测试了我的策略,并且 Actor 导致~0.6
选择时的标准偏差和动作值(它是一个连续的动作空间),使其过于嘈杂。所以,我有两个问题:
Std Deviation
训练策略后有没有办法改变这种情况?- 如果我在训练后无法更改策略,我可以在训练前更改吗?可能是
ac_kwargs
我可能包括的其中之一,但我不知道是哪一个。
更新
刚刚发现调用时的“确定性”选项load_policy_and_env
仅在SAC算法中可用,如test_policy.py的第79行所示。
训练策略时 -0.5 的 log_std 被硬编码在 ppo core.py - 第 80 行,导致我之前告诉过的标准差为 0.6。