首页 > 编程语言 >在强化学习算法性能测试时使用训练好的模型运行游戏,此时如何控制实时游戏画面的帧数

在强化学习算法性能测试时使用训练好的模型运行游戏,此时如何控制实时游戏画面的帧数

时间:2022-10-02 14:41:55浏览次数:58  
标签:游戏 实时 画面 算法 time reward obs

问题:

在强化学习算法性能测试时使用训练好的模型运行游戏,此时如何控制实时游戏画面的帧数?

 

 

========================================

 

 

看到很多训练好的模型与游戏交互时控制游戏画面帧数的方法,但一直也没有一个让我比较满意的方法,最近看代码发现了一种还不错的方法,这里记录一下。

 

代码:

FPS = 60
total_reward = 0.0
obs = env.reset()

while True:
start_ts = time.time()
if args.vis:
env.render()

action = agent.play(obs)
obs, reward, is_done, info = env.step(action)
total_reward += reward
if done:
break

if args.vis:
delta = 1/FPS - (time.time() - start_ts)
if delta > 0:
time.sleep(delta)

 

 

这种控制游戏实时帧数的方法,其实就是计算预先设定的每帧画面间隔时间与实时运行时每帧画面间隔时间的差距,如果此时的实时游戏交互速度要快于预设的速度,那么就会根据计算出的间隔时间差距进行sleep睡眠操作,从而使实时游戏速度达到预期。但是如果游戏实时速度慢于预设速度,该方法没有任何作用,也就是说上面代码只可以对实时游戏进行减速而不能加速。

 

 

 

================================================

 

标签:游戏,实时,画面,算法,time,reward,obs
From: https://blog.51cto.com/u_15642578/5729296

相关文章

  • 强化学习的REIINFORCE算法和交叉熵RL算法
    注意:本文并不讲REINFORCE算法,而是讲强化学习的交叉熵算法,关于REINFORCE算法可以参看:   ==========================================   强化学习有多种分类方法,其中一......
  • BF(暴力求解算法)
    BF(暴力求解算法)即是暴力(BruteForce)算法,是普通的模式匹配算法,BF算法的思想就是将目标串T的第一个字符和主串的S的第一个字符进行匹配,若相等,则则继续匹配T串和S串的第二......
  • C++实现双向RRT算法
    C++实现双向RRT算法背景介绍RRT(Rapidly-exploringRandomTrees)是StevenM.LaValle和JamesJ.KuffnerJr.提出的一种通过所及构建空间搜索树实现对非凸高维空间快速搜......
  • 字符串匹配基础(上):如何借助哈希算法实现高效字符串匹配?
    链接:https://time.geekbang.org/column/article/71187目录字符串匹配算法BF算法RK算法字符串匹配算法BF算法、RK算法、BM算法、KMP算法BF算法和RK算法:单模......
  • KMP算法
    KMP算法首先kmp算法有两个字符串,一个目标串s[],一个模板串p[]我们需要对模板串进行预处理,创建一个数组ne[i]表示以p[i]为结尾的字符串和前缀相等字符串的最长长度,就是前缀......
  • 对于关键路径算法中最迟发生时间取最小值的理解
    问题产生:错误理解:当前事件的最迟发生时间vl(i)的产生跟与之直接关联的后继事件j和中间活动<i,j>有关,如果要使当前事件发生的时间“最晚”,应当取集合{j}中产生的最大......
  • 基础算法五大板块
    基础动态规划基础的DP题目,模板题等。基础图论基础的最短路,最小生成树,拓扑排序等算法基础数学基础数论基础字符串基础算法骗分必备......
  • python关于算法题的输入
    关于Python算法题的输入处理最近在准备蓝桥杯,打算报Python组,所以开始尝试用Python刷算法题。【python&ACM输入输出的处理:sys.stdin.readline().strip().split())】上......
  • 高级算法/数据结构
    AhoCorasick自动机用于多模式字符串匹配。可持久化线段树利用前缀和思想求区间第k小等不易直接求出的值。后缀数组Manacher求最长回文串。......
  • 【WSN定位】基于改进chan算法和talor算法实现多基站目标定位附matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......