您现在的位置是:主页 > news > 手机网站开发价格/网络营销网站
手机网站开发价格/网络营销网站
admin2025/5/6 11:10:01【news】
简介手机网站开发价格,网络营销网站,优化网站教程,自媒体平台注册账号本文隶属于一个完整小项目,建议读者按照顺序阅读。 本文仅仅展示最关键的代码部分,并不会列举所有代码细节,相信具备RL基础的同学理解起来没有困难。 全部的AI代码可以在【Python小游戏】用AI玩Python小游戏FlappyBird【源码】中找到开源地…
手机网站开发价格,网络营销网站,优化网站教程,自媒体平台注册账号本文隶属于一个完整小项目,建议读者按照顺序阅读。
本文仅仅展示最关键的代码部分,并不会列举所有代码细节,相信具备RL基础的同学理解起来没有困难。
全部的AI代码可以在【Python小游戏】用AI玩Python小游戏FlappyBird【源码】中找到开源地…
本文隶属于一个完整小项目,建议读者按照顺序阅读。
本文仅仅展示最关键的代码部分,并不会列举所有代码细节,相信具备RL基础的同学理解起来没有困难。
全部的AI代码可以在【Python小游戏】用AI玩Python小游戏FlappyBird【源码】中找到开源地址。
如果本文对您有帮助,欢迎点赞支持!
文章目录
一、训练主循环
二、启动代码
一、训练主循环
训练主循环与Deep Rl算法紧密相关,本项目的主循环如下:
def train(self,max_episodes):print('\n仿真训练启动...')step_counter = 0for episode in range(max_episodes):# 获取初始环境状态action0 = np.array([1, 0]) # 初始动作为向下降落x_rgb, reward, done = self.env.frame_step(action0)state = self.get_init_state(x_rgb) # 对后继状态进行预处理# 开始本回合的仿真while True:# 获取动作和环境反馈action = self.agent.choose_action(state) # agent根据当前状态采取动作x_rgb, reward, done = self.env.frame_step(action) # env根据动作做出反馈# 将转换元组存入记忆池state_ = self.get_next_state(state,x_rgb) # 对后继状态进行预处理self.agent.store_in_memory(state,action,reward,state_,done)# 学习本回合的经验(s, a, r, s)if step_counter>OBSERVE:self.agent.learn()# 当前状态发生切换state = state_step_counter += 1print('\n仿真训练结束')
二、启动代码
其训练器启动代码:
if __name__=='__main__':# 初始化envenv = game.Flappy_Bird_Env()# 初始化agentagent = agent.DQN(n_actions=2, # 动作空间个数output_graph = False,# 是否输出日志save_model = True, # 是否保存训练中的模型read_saved_model = True, # 是否读取已有的模型e_greedy_increment=0.0001,# 是否让greedy变化,设置为None,标志着agent的探索能力)# 初始化训练器trainer = FlappyBird_Trainer(env=env,agent=agent)# 开始训练trainer.train(max_episodes=1)