【零基础强化学习】 基于Closed-Form Policy Play BipedalWalker-v3

2023-05-16

BipedalWalker-v3🤔

  • 写在前面
  • 机器人行走控制
  • show me code, no bb
  • 结果展示
  • 写在最后
    • 谢谢点赞交流!(❁´◡`❁)

更多代码: gitee主页:https://gitee.com/GZHzzz
博客主页: CSDN:https://blog.csdn.net/gzhzzaa

写在前面

  • 作为一个新手,写这个强化学习-基础知识专栏是想和大家分享一下自己强化学习的学习历程,希望大家互相交流一起进步!😁在我的gitee收集了强化学习经典论文:强化学习经典论文,搭建了基于pytorch的典型智能体模型,大家一起多篇多交流,互相学习啊!😊
    在这里插入图片描述

机器人行走控制

  • 闭式解closed form solution)也叫解析解(analytical solution),就是一些严格的公式,给出任意的自变量就可以求出其因变量,也就是问题的解, 他人可以利用这些公式计算各自的问题。(代码只有测试过程)

show me code, no bb

import sys
import logging
import itertools

import numpy as np
np.random.seed(0)
import gym

logging.basicConfig(level=logging.DEBUG,
        format='%(asctime)s [%(levelname)s] %(message)s',
        stream=sys.stdout, datefmt='%H:%M:%S')
# 建立环境
env = gym.make('BipedalWalker-v3')
env.seed(0)
for key in vars(env):
    logging.info('%s: %s', key, vars(env)[key])
for key in vars(env.spec):
    logging.info('%s: %s', key, vars(env.spec)[key])
class ClosedFormAgent:
    def __init__(self, env):
        self.weights = np.array([
            [ 0.9, -0.7,  0.0, -1.4],
            [ 4.3, -1.6, -4.4, -2.0],
            [ 2.4, -4.2, -1.3, -0.1],
            [-3.1, -5.0, -2.0, -3.3],
            [-0.8,  1.4,  1.7,  0.2],
            [-0.7,  0.2, -0.2,  0.1],
            [-0.6, -1.5, -0.6,  0.3],
            [-0.5, -0.3,  0.2,  0.1],
            [ 0.0, -0.1, -0.1,  0.1],
            [ 0.4,  0.8, -1.6, -0.5],
            [-0.4,  0.5, -0.3, -0.4],
            [ 0.3,  2.0,  0.9, -1.6],
            [ 0.0, -0.2,  0.1, -0.3],
            [ 0.1,  0.2, -0.5, -0.3],
            [ 0.7,  0.3,  5.1, -2.4],
            [-0.4, -2.3,  0.3, -4.0],
            [ 0.1, -0.8,  0.3,  2.5],
            [ 0.4, -0.9, -1.8,  0.3],
            [-3.9, -3.5,  2.8,  0.8],
            [ 0.4, -2.8,  0.4,  1.4],
            [-2.2, -2.1, -2.2, -3.2],
            [-2.7, -2.6,  0.3,  0.6],
            [ 2.0,  2.8,  0.0, -0.9],
            [-2.2,  0.6,  4.7, -4.6],
            ])
        self.bias = np.array([3.2, 6.1, -4.0, 7.6])

    def reset(self, mode=None):
        pass

    def step(self, observation, _reward, _done):
        action = np.matmul(observation, self.weights) + self.bias
        return action

    def close(self):
        pass

agent = ClosedFormAgent(env)
# 测试过程
def play_episode(env, agent, max_episode_steps=None, mode=None, render=False):
    observation, reward, done = env.reset(), 0., False
    agent.reset(mode=mode)
    episode_reward, elapsed_steps = 0., 0
    while True:
        action = agent.step(observation, reward, done)
        if render:
            env.render()
        if done:
            break
        observation, reward, done, _ = env.step(action)
        episode_reward += reward
        elapsed_steps += 1
        if max_episode_steps and elapsed_steps >= max_episode_steps:
            break
    agent.close()
    return episode_reward, elapsed_steps


logging.info('==== test ====')
episode_rewards = []
for episode in range(100):
    episode_reward, elapsed_steps = play_episode(env, agent,render= 1)
    episode_rewards.append(episode_reward)
    logging.debug('test episode %d: reward = %.2f, steps = %d',
            episode, episode_reward, elapsed_steps)
logging.info('average episode reward = %.2f ± %.2f',
        np.mean(episode_rewards), np.std(episode_rewards))
  • 代码全部亲自跑过,你懂的!😝

结果展示

在这里插入图片描述

写在最后

十年磨剑,与君共勉!
更多代码:gitee主页:https://gitee.com/GZHzzz
博客主页:CSDN:https://blog.csdn.net/gzhzzaa

  • Fighting!😎

基于pytorch的经典模型:基于pytorch的典型智能体模型
强化学习经典论文:强化学习经典论文
在这里插入图片描述

while True:
	Go life

在这里插入图片描述

谢谢点赞交流!(❁´◡`❁)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【零基础强化学习】 基于Closed-Form Policy Play BipedalWalker-v3 的相关文章

随机推荐

  • GUI付费与免费的选择,看了价格你就知道了

    更多视频 xff0c 可以到我视频号查看 xff1a 点击 阅读原文 查看更多分享
  • 通信协议考虑的几点问题

    关注 43 星标公众号 xff0c 不错过精彩内容 素材来源 网络 来源 嵌入式大杂烩 嵌入式开发在很多场景下都需要进行通讯 xff0c 那么通讯协议就必不可少 xff0c 有代表性的通讯协议是如下三种 xff1a 从上表可以看到 xff0
  • 带你看看“了不起的”芯片!

    今天给大家分享一本新书 了不起的芯片 xff0c 文末再送大家5本 xff01 任何一本书的背后都有一段不为人知的曲折故事 xff0c 在此和大家分享一下本书作者写这本书的心路历程 01 为什么要写这本书 xff1f 这是一个人人都在谈论芯
  • Wireshark几个常用技巧

    关注 43 星标公众号 xff0c 不错过精彩内容 作者 假面生 素材来源 CSDN 经典的开源的网络抓包工具 Wireshark 相信大部分人 xff08 或者搞过网络 xff09 的人都知道它 xff0c 用过的人基本了解它的强大功能
  • 预约直播 | 2023年STM32峰会线上直播开启报名!

    点击上方 关注STM32 点击下方文章了解峰会详情 xff1a 速速报名 xff5c 与创新邂逅 xff0c 与生态交融 xff0c 来STM32峰会激发你的创造力 先睹为快 xff01 STM32 中国峰会精彩DEMO导引 文末有奖 约吗
  • 一视频带你了解Apache开源协议

    更多视频 xff0c 可以到我视频号查看 xff1a 点击 阅读原文 查看更多分享
  • 嵌入式程序上下文切换和解耦的工具

    关注 43 星标公众号 xff0c 不错过精彩内容 作者 NevermindZZT C语言是一种面向过程的语言 xff0c 做嵌入式项目的时候 xff0c 如果不变相面向对象 xff0c 项目到后期很难做好 xff0c 且不容易维护 今天就
  • 嵌入式开发成本太高

    关注 43 星标公众号 xff0c 不错过精彩内容 作者 strongerHuang 微信公众号 strongerHuang 最近一段时间 xff0c 给大家整理了一些嵌入式开发常用软件工具的价格 xff0c 有网友直呼 xff1a 嵌入式
  • 服务交付的项目:建立PM牢固的客户关系

    在竞争激烈的市场中 xff0c 基于服务的企业需要利用任何机会将自己与 xff08 通常非常相似的 xff09 竞争对手区分开来 虽然实施 系统细节和服务管理都很重要 xff0c 但也许区分您的业务的最佳方式是根据您的服务质量建立牢固的客户
  • ST发布新的工具链和软件包、Source Insight难得一更新

    MicroPython 诞生 10 周年 ST发布新的工具链和软件包 Source Insight难得一更新 xff08 点击链接 xff0c 阅读原文 xff09 更多视频 xff0c 可以到我视频号查看 xff1a 点击 阅读原文 查看
  • 蓝牙演进及其发展史

    关注 43 星标公众号 xff0c 不错过精彩内容 来源 ittbank 目前 xff08 2023年5月 xff09 xff0c 最新的蓝牙5 4标准已经出来了 xff0c 那么 xff0c 你知道蓝牙这些年都经历过什么吗 xff1f 下
  • 嵌入式固件升级防变砖的几种方法

    关注 43 星标公众号 xff0c 不错过精彩内容 来源 CSDN 汽车软件Boot程序的主要作用是刷新App程序 在一个具体客户项目中 xff0c Boot也是客户需求的一部分 xff0c 跟随项目也有软件开发计划 xff08 有的为了和
  • 单片机变量不被初始化的实现方法

    关注 43 星标公众号 xff0c 不错过精彩内容 作者 strongerHuang 微信公众号 strongerHuang 最近有读者问了一个这样的问题 xff1a 看门狗复位之后 xff0c 能不能保持复位之前的状态 xff1f 这种问
  • 新手学51还是STM32单片机?

    更多视频 xff0c 可以到我视频号查看 xff1a 点击 阅读原文 查看更多分享
  • SPI可以像I2C挂多个设备吗?

    关注 43 星标公众号 xff0c 不错过精彩内容 作者 strongerHuang 微信公众号 strongerHuang 最近看到有小伙伴在讨论 xff1a SPI可以像I2C挂多个设备吗 xff1f 简单来说 xff0c 就是一主多从
  • Keil(MDK-ARM)介绍、下载、安装与注册

    推荐 分享一个大神的人工智能教程 零基础 xff01 通俗易懂 xff01 风趣幽默 xff01 还带黄段子 xff01 希望你也加入到人工智能的队伍中来 xff01 http www captainbed net strongerhuan
  • STM32CubeMX介绍、下载与安装

    推荐 分享一个大神的人工智能教程 零基础 xff01 通俗易懂 xff01 风趣幽默 xff01 还带黄段子 xff01 希望你也加入到人工智能的队伍中来 xff01 http www captainbed net strongerhuan
  • Keil(C51)介绍、下载、安装与注册

    推荐 分享一个大神的人工智能教程 零基础 xff01 通俗易懂 xff01 风趣幽默 xff01 还带黄段子 xff01 希望你也加入到人工智能的队伍中来 xff01 http www captainbed net strongerhuan
  • 自顶向下,自底向上、三明治集成的方法。软件测试

    实验 四 实验名称 集成测试 实验日期 2018 11 30 实验成绩 实 验 目 的 要 求 及 内 容 xff08 给出本次实验所涉及并要求掌握的知识点及实验内容具体描述 xff09 实验目的 xff1a xff08 1 xff09 掌
  • 【零基础强化学习】 基于Closed-Form Policy Play BipedalWalker-v3

    BipedalWalker v3 x1f914 写在前面机器人行走控制show me code no bb结果展示写在最后谢谢点赞交流 xff01 96 更多代码 gitee主页 xff1a https gitee com GZHzzz 博