我正在尝试使用 GitHub (https://github.com/nicknochnack/Reinforcement-Learning-for-Trading-Custom-Signals/blob/main/Custom%20Signals.ipynb) 中的代码第 3 点:
model = A2C('MlpLstmPolicy', env, verbose=1)
model.learn(total_timesteps=1000000)
我在另一条线的稳定基线方面遇到了很多问题,所以我尝试使用稳定基线3 但我认为 MlpLstmPolicy 不起作用。 ChatGPT 说要改变这个:
from stable_baselines3 import PPO
from stable_baselines3.common.vec_env import DummyVecEnv
from stable_baselines3.common.env_util import make_vec_env
from stable_baselines3.common.callbacks import CheckpointCallback
env = make_vec_env('env', n_envs=4, seed=0)
env = DummyVecEnv([lambda: env])
model = PPO('MlpLstmPolicy', env, verbose=1)
但我收到此错误:错误:尝试查找格式错误的环境 ID:b'env'。 (目前所有的 ID 必须是 ^(?:[\w:-]+/)?([\w:.-]+)-v(\d+)$ 的形式。)
我看到在第一个选项“model =”中使用了 env。所以这就是我所做的。
我用代码中发现的所有其他内容更改了“env”,但没有任何效果。
任何帮助将不胜感激。
sb3 还不直接支持经常性政策,但您可以使用 sb3-contrib 中的
RecurrentPPO
,我想这就是您想要的。