Super-mario-bros-A3C-pytorch

超级马里奥的 A3C 算法
授权协议 MIT
开发语言 Python
所属分类 神经网络/人工智能、 机器学习/深度学习
软件类型 开源软件
地区 不详
投 递 者 马权
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Asynchronous Advantage Actor-Critic (A3C) for playing Super Mario Bros 是超级马里奥兄弟的 A3C 算法,用于训练代理玩超级马里奥兄弟。

它可以:

  • 通过运行 python train.py 来训练模型
  • 通过运行 python test.py 来测试已经过训练的模型

样本示例:

要求:

  • python 3.6
  • gym
  • cv2
  • pytorch
  • numpy
  • 基本思想 存在一个共享的网络,有多个线程是这个共享网络的拷贝,每个线程用这个网络进行与环境交互、训练。这样可以达到提高训练样本多样性的目的。 实现CartPole-v0 (1)一个网络的类,ACnet,包含了动作网络、分值网络 (2)class Worker(object) ,每个用来独立训练共享网络的线程,只要执行这个worker.work(),就会开始训练共享网络。 然后就是一个for循环,执

 相关资料
  • A3C的算法实际上就是将Actor-Critic放在了多个线程中进行同步训练. 可以想象成几个人同时在玩一样的游戏, 而他们玩游戏的经验都会同步上传到一个中央大脑. 然后他们又从中央大脑中获取最新的玩游戏方法. **这样, 对于这几个人, 他们的好处是:**中央大脑汇集了所有人的经验, 是最会玩游戏的一个, 他们能时不时获取到中央大脑的必杀招, 用在自己的场景中. **对于中央大脑的好处是:**中

  • Super Mario War 是一款多人联机的Super Mario游戏游戏使用任天堂的资源改编,请不要用作商业用途。本游戏为开源软件

  • 我正在用C /SFML制作一个类似超级马里奥的游戏,在试图为马里奥碰撞编写一些代码时,我遇到了一些问题:当角色在沿着水平轴移动的同时与一堆垂直的积木碰撞时,他会卡在积木的一边,就像是在一个看不见的积木上行走一样。我试图修改碰撞功能,就像让马里奥只有在他与块相关的位置包含在块坐标中时,才能与块水平碰撞。 我包含了一些运动代码(keyPree是一个返回按下的键的函数): 以及碰撞函数,其中块类在块精灵

  • 前面那些值函数的方法,当值函数最优时,可以获得最优策略。最优策略是状态 s 下,最大行为值函数对应的动作。当动作空间很大的时候,或者是动作为连续集的时候,基于值函数的方法便无法有效求解了。因为基于值函数的方法在策略改进时,需要针对每个状态行为对求取行为值函数,以便求解 arg\,\underset{a\in A}{max}\,Q(s,a)。这种情况下,把每一个状态行为对严格独立出来,求取某个状态下应该执行的行为是不切实际的。

  • 我是java游戏编程的初学者,对于游戏我有一个小小的实际上很大的问题。我试着在敌人和街区之间制造碰撞,但是不起作用,我不知道为什么。它应该工作,但它只是缓慢的游戏每秒一帧,不做任何事情。 我有一个名为Game的主类,带有这个主Init()函数 而不是LoadImageLevel函数,其中我读取级别。png逐像素和不同颜色设置每个对象的位置。 在类中,Player是两个重要的函数,其中在刻度中称为勾

  • Mario 是一个让编写从同步到异步的类库,它的线程安全较大,易于使用。Mario 的最基本的想法就是为了减少人员的安排,降低成本和时间投入。但是有了这个类库,操作人员就可以抽出精力做别的事情了。所以 Mario 类库能够很轻易的解决你的问题,你只需要你自己的消息功能。 引擎类型: memory,这种类型就是将数据缓冲存储器留在内存里。 file,这种类型就是能够在本地日志路径里创建做出一个 wr