seed (int, optional): _description_. Defaults to1.'''print(f"seed = {seed}") env.seed(seed) # env config np.random.seed(seed) random.seed(seed) paddle.seed(seed) def env_agent_config(cfg):'''create env and agent'''env = gym.make(cfg['env_name'])ifcfg['seed'] !=0: #set...
比之前用一次就扔掉好多了,大大提高样本效率,另外一个是面试常提到的,减少样本之间的相关性,原则上获取经验跟学习阶段是分开的,原来时序的训练数据有可能是不稳定的,打乱之后再学习有助于提高训练的稳定性,跟深度学习中划分训练测试集时打乱样本是一个道理。
gamma=0.99# 定义折扣率,用于计算未来奖励的现值 max_steps_per_episode=10000# 设定每个 episode 的最大步数 env=gym.make("CartPole-v0")# 创建 CartPole-v0 环境实例 env.seed(seed)# 设定环境的随机种子 eps=np.finfo(np.float32).eps.item()# 获取 float32 数据类型的误差最小值 epsilon Actor Criti...
# 获取参数 cfg = get_args() # 训练 env, agent = env_agent_config(cfg) res_dic = train(cfg, env, agent) plot_rewards(res_dic['rewards'], cfg, tag="train") # 测试 res_dic = test(cfg, env, agent) plot_rewards(res_dic['rewards'], cfg, tag="test") # 画出结果 seed = 10...
seed = 10n_states: 4, n_actions: 2开始训练! 环境:CartPole-v0,算法:DQN,设备:cpu回合:10/200,奖励:10.00,Epislon: 0.062回合:20/200,奖励:85.00,Epislon: 0.014回合:30/200,奖励:41.00,Epislon: 0.011回合:40/200,奖励:31.00,Epislon: 0.010回合:50/200,奖励:22.00,Epislon: 0.010回合:60/200,奖...