首页 > 其他分享 >关于GYM的render mode = ‘human’渲染问题

关于GYM的render mode = ‘human’渲染问题

时间:2024-04-08 13:33:26浏览次数:19  
标签:env render 渲染 GYM state mode human

关于GYM的render mode = 'human’渲染问题
在使用render_mode = 'human’时,会出现无论何时都会自动渲染动画的问题,比如下述算法

此时就算是在训练过程中也会调用进行动画的渲染,极大地降低了效率,毕竟我的目的只是想通过渲染检测一下最终的效果而已

import Q_learning as ql
import gym

env = gym.make("CliffWalking-v0", render_mode='human')
Q = ql.train(env, 1000)
state = env.reset()[0]

env.render()
while True:
action = Q[state].argmax()
next_state, reward, done, _, _ = env.step(action)
state = next_state
if done:
break
env.close()

为了解决上述问题,可以采用如下的方法

在开始将mode设置为none,当想要渲染时再设置为human

import Q_learning as ql
import gym

# 在训练期间关闭渲染
env = gym.make("CliffWalking-v0", render_mode=None)
Q = ql.train(env, 1000)

# 训练结束后开启渲染
env = gym.make("CliffWalking-v0", render_mode='human')
state = env.reset()[0]

env.render()
while True:
action = Q[state].argmax()
next_state, reward, done, _, _ = env.step(action)
state = next_state
if done:
break
env.close()

 

标签:env,render,渲染,GYM,state,mode,human
From: https://www.cnblogs.com/ai-ldj/p/18120938

相关文章

  • render函数和ref属性
    render函数关于不同版本的vue一.vue.js与vue.runtime.xxx.js的区别1.vue.js是完整版本的vue,包含:核心功能+模板解析器。2.vue.runtime.xxx.js是运行版本的vue。只包括核心功能:没有模板解析器。二.因为vue.runtime.xxx.js没有模板解析器.所以不能使用template配置项,需要......
  • Ubuntu22.04下Issac Gym/宇树机器人RL&gcc/g++,CUDA,CUDA ToolKit,Pytorch配置环境配
    前置条件本随笔写作Condition:在本人3050Ti笔记本上配好环境后,再在室友4060笔记本上边配边记录整理所得。室友的系统已经配好了相应驱动,因此,本随笔内容基于已经安装了NVIDIA显卡驱动的系统。下次搞到没装驱动的系统我再补一个随笔。宇树机器人宇树科技的文档中心有一个简单的安......
  • 深入理解 React 中的 children props 和 render props
    深入理解React中的childrenprops和renderprops在React中,childrenprops和renderprops是两种常见的组件复用模式,它们都可以帮助我们更好地组织和复用组件代码。虽然它们的实现方式有所不同,但都能够有效地实现组件之间的数据传递和功能共享。childrenpropsch......
  • 空战博弈实现——3 gym自定义环境
    gym1——自定义Gym环境并注册目录gym1——自定义Gym环境并注册感谢开始Step0新建文件夹Step1:新建环境文件xxEnv.pyStep2:在env下的__init__.py下注册**Step3**添加新建环境文件夹的引用Step4:在算法中进行调用感谢强化学习实战第一讲gym学习及二次开发-知乎(zhih......
  • 空战博弈编程实现——gym+jsbsim
    笔记1珠玉在前论文1RichterDJ,CalixRA.QPlane:AnOpen-SourceReinforcementLearningToolkitforAutonomousFixedWingAircraftSimulation[C]//Proceedingsofthe12thACMMultimediaSystemsConference.2021:261-266.QPlane|Proceedingsofthe12th......
  • SurfaceViewRenderer 绘制流程
    SurfaceViewRendererSurfaceEglRenderer/EglRendererapp-1->SurfaceViewRenderer-1-2->SurfaceEglRenderer(EglRenderer)-1-2-3->VideoFrameDrawer-1->SurfaceViewRenderer.init-1-2->GlRectDrawer(GlGenericDrawer,-1-2->SurfaceEglRenderer.in......
  • CanvasRenderingContext2D: setLineDash() method格式说明
    定义setLineDash(segments)segments一个数组,用于指定交替绘制直线和间隙的距离(以坐标空间单位表示)。如果数组中元素的个数是奇数,数组中的元素会被复制并连接起来。例如,[5,15,25]将变成[5,15,25,5,15,25]。如果数组为空,破折号列表将被清除,行描边将恢复为实线。例子......
  • 全地形人形机器人(humanoid)是否只能进行短距视野感知呢 —— 实时地形感知
    相关:https://capital.lenovo.com/news/detail/id/924/s/1.html常见的人形机器人都是测试其手臂灵活度为主,但是近日看到一款以全地形步态行走为主的机器人(逐际动力,CL-1)。虽然很少有用双足机器人测试全地形行走能力的,但是全地形行走的能力测试在四足机器人中极为常见的,感觉测试......
  • 【React 】如何提高组件的渲染效率?在React中如何避免不必要的render?
    1.是什么react基于虚拟DOM和高效Diff算法的完美配合,实现了对DOM最小粒度的更新,大多数情况下,React对DOM的渲染效率足以我们的业务日常复杂业务场景下,性能问题依然会困扰我们。此时需要采取一些措施来提升运行性能,避免不必要的渲染则是业务中常见的优化手段之一2.如何做......
  • ant design vue的expandedRowRender点击加载数据
    在AntDesignVue中,Table组件提供了一个expandedRowRender属性,可以用来自定义展开行后显示的内容。如果你想在点击展开行时加载数据,可以在expandedRowRender函数中实现异步数据加载。以下是一个简单的例子,展示了如何在点击展开行时加载数据:<template><a-table:columns="......