码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 强化学习案例复现(2)--- MountainCar基于DQN


    1.搭建环境

     

    1. import gym
    2. # Create environment
    3. env = gym.make("MountainCar-v0")
    4. eposides = 10
    5. for eq in range(eposides):
    6. obs = env.reset()
    7. done = False
    8. rewards = 0
    9. while not done:
    10. action = env.action_space.sample()
    11. obs, reward, done, action, info = env.step(action)
    12. env.render()
    13. rewards += reward
    14. print(rewards)

     

    2.训练模型

     

          本文搭建的环境返回值为4个,可直接用该DQN模型训练,但在上一期基于Q-learning的文章中,自我搭建的环境中step有5个返回值,无法在该DQN的模型中运行,后面如果想用5个返回值,该代码要重写。

    1. import gym
    2. from stable_baselines3 import DQN
    3. # Create environment
    4. env = gym.make("MountainCar-v0")
    5. model = DQN(
    6. "MlpPolicy",
    7. env,
    8. verbose=1,
    9. learning_rate=5e-4)
    10. # Train the agent and display a progress bar
    11. model.learn(
    12. total_timesteps=int(1.5e6),
    13. progress_bar=True)
    14. # Save the agent
    15. model.save("DQN_MountainCar")

     

    3.测试模型

    1. import gym
    2. from stable_baselines3 import DQN
    3. from stable_baselines3.common.evaluation import evaluate_policy
    4. def test_something(): #帮助pytest找到测试案例,无该两行代码,程序无法运行
    5. assert 1 == 1
    6. # Create environment
    7. env = gym.make("MountainCar-v0", render_mode="human") # render_mode="human"在显示屏幕上显示
    8. # load model
    9. model = DQN.load("DQN_MountainCar", env=env)
    10. mean_reward, std_reward = evaluate_policy(
    11. model,
    12. model.get_env(),
    13. deterministic=True,
    14. render=True,
    15. n_eval_episodes=10)
    16. print(mean_reward)

     

    4.运行过程中遇到的问题

     

    1.直接用 pip install stable-baselines3[extra],安装失败,换成以下命令安装

    pip install stable-baselines3[extra] -i https://pypi.tuna.tsinghua.edu.cn/simple some-package 

     

    2.源代码为了测试方便,测试过程并不显示,代码为

     env = gym.make("MountainCar-v0")

    笔者希望可以显示测试过程,代码改为

    env = gym.make("MountainCar-v0", render_mode="human")

     

    往期文献

    1.强化学习案例复现(1)--- MountainCar基于Q-learning_笑傲江湖2023的博客-CSDN博客

     

    参考文献

    1.Stable-Baselines3安装_下载stable-baselines3==1.2.0_cclbl的博客-CSDN博客

    2.

    基于强化学习的gym Mountain Car稳定控制_mountaincar环境-CSDN博客

     

  • 相关阅读:
    应用软件运维服务方案(word原件)
    干货!高并发下秒杀商品,你必须知道的9个细节
    【信管1.12】新技术(一)物联网与云计算
    Bean作用域和生命周期
    品牌线上渠道管控,如何考察第三方控价公司
    【Qt】 FFmpeg+Qt windows 32位或者64位环境搭建
    通过IP地址管理提升企业网络安全防御
    使用 VPN ,一定要知道的几个真相!
    JavaScript:预解析
    《Java 多线程实战系列》- 01 基本概念与底层原理
  • 原文地址:https://blog.csdn.net/weixin_48878618/article/details/133845024
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号