0

我刚刚开始使用,RL并使用. 基本命令是:PPOSpinningUp

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选择时的标准偏差和动作值(它是一个连续的动作空间),使其过于嘈杂。所以,我有两个问题:

  1. Std Deviation训练策略后有没有办法改变这种情况?
  2. 如果我在训练后无法更改策略,我可以在训练前更改吗?可能是ac_kwargs我可能包括的其中之一,但我不知道是哪一个。

运行策略时我的操作响应


更新 刚刚发现调用时的“确定性”选项load_policy_and_env仅在SAC算法中可用,如test_policy.py的第79行所示。

训练策略时 -0.5 的 log_std 被硬编码在 ppo core.py - 第 80 行,导致我之前告诉过的标准差为 0.6。

4

0 回答 0