环境配置

  1. Pycharm 2020.1.5
  2. Python3.8
  3. CUDA(10.1)和cudnn(7.6.0)
  4. 需要安装的库有gym(0.18.3)、pygame(2.0.1)、tensorflow(2.2.0)、tensorflow-gpu(2.2.0)、Keras(2.4.3)上面的库可以通过在Pycharm终端运行”pip install gym 0.18.3”类似此方法即可

开始训练

  1. 运行main.py可以看到小鸟进行永无止境的训练,训练完一轮后就将其经验存入经验包,下图中是刚开始训练7轮后的经验包:

训练前6小时小鸟还无法经过第一根柱子,6小时后才开始经过第一条柱子,在main.py代码中下面一条语句修改成第一次的经验包:01即第一次的结果:

运行后可以看到小鸟会往上飞,然后撞上柱子而失败。

  1. 训练一共14小时左右之后,已经有训练了342轮了,所产生的如下的经验包:

然后修改测试用的main.py代码进行测试:

测试结果如下:

 

               

从上图中可以看到在训练多次后,AI能够达到人类几乎达不到的成绩,而且训练越久其成绩会越好。

  1. 文件解释:

game/control.py 控制小鸟的运动可以按键盘向上键进行控制,其优先级高于智能体(AI)。

game/element.py 构建FlappyBird 游戏配置GUI界面,使其可视化观看,主要是将其各类元素图片结合到一个画面中显示。

game/engine.py 应用pygame游戏引擎后端,运行游戏所需要的架构支持。

play.py 主要是游戏运行的,将游戏界面与游戏引擎结合起来,运行游戏,并能够通过键盘来控制小鸟,直接运行是人工玩游戏,而不是智能体。

Net.py 构建神经网络,对数据进行卷积、池化、卷积、卷积、全连接,输出out1、out2.

agent.py 产生训练时所需要的数据经验包,用于存储AI在游戏训练过程中的动作和激励状态等,将其读取或写入给智能体,然后智能体就能够应用这些经验来进行游戏了。

main.py 主要是训练游戏AI,将训练时的数据传给agent.py包,进行存储工作,可以中途停止,但是其训练的结果依然存储好的,下次运行修改刚开始读取的经验包即可。

test.py 主要用来查看训练的结果的,修改读取经验包的代码即可看到最新的训练结果。

常见的错误或警告

  • 安装tensorflow遇到ImportError: Could not find 'cudart64_101dll'错误解决方法之一:需要安装CUDA(v10.1)版本。如果在下列目录

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1下搜索cudart64,看是否有cudart64_101.dll,如果是其他名字就改为此名字。如果成功后会返回:

  • 解决Could not load dynamic library ‘cudnn64_7.dll‘; dlerror cudnn64_7.dll not found。在NVDIA官网下载cudnn(7.6.0)版本,需要注册登录NVDIA才能下载,下载后需要将cuda文件夹下的对应文件拷贝到下面对应三个的文件夹中即可。

运行成功后会出现如下结果:

FlappyBird项目:

项目文档目录:

视频演示:

人工智能(FlappyBird)+作业

资源下载链接:

人工智能大报告+作业练习.zip-机器学习文档类资源-CSDN下载

人工智能大报告(FlappyBird游戏AI训练)作业练习相关推荐

  1. 基于强化学习与深度强化学习的游戏AI训练

    github地址 一.摘要 在本次大作业中由两个项目组成. 第一个小项目即为简单AI走迷宫游戏,通过强化学习的Q-learning算法,对AI进行训练来让其能以大概率找打一条通关路径并基本按照该路径进 ...

  2. 高盛:人工智能生态报告 最全AI产业盘点

    高盛:人工智能(AI)生态报告 近日,高盛最新推出了一份讲解人工智能生态的重磅报告<2016高盛人工智能(AI)生态报告>(AI, Machine Learning and Data Fu ...

  3. 【百面机器学习之算法工程师读书笔记】——第十四章:人工智能的热门应用-游戏AI

    目录 游戏AI发展史 从AlphaGo到AlphaGo Zero 德州扑克中的"唬人"AI AI电子竞技 星际争霸:走向通用AI 为什么AI需要游戏? 游戏AI发展史 (1)195 ...

  4. 神码ai人工智能写作机器人_游戏AI:机器人反击!

    神码ai人工智能写作机器人 以下是摘自Earle Castledine撰写的新书HTML5 Games:Ninja的新手 . 这本书的访问权限包含在SitePoint Premium会员资格中,或者您 ...

  5. 触手可及的人工智能,大师级游戏AI正在进化

    目前是人工智能技术发展最为蓬勃的时代,各行各业无数人都想给自己添上"AI加持"的标签.但说起当下人工智能真正肉眼可见的应用,很多时候又会进入到某些非常专业领域的圈子里. 不过,我们 ...

  6. 重磅 | 华为发布绝杀计算战略!投15亿美元打造开放生态,全球最快AI训练集群Atlas 900,绝了!...

          戳蓝字"CSDN云计算"关注我们哦! 文 | 阿晶.丹丹.王银发于上海华为HC大会现场 出品 | CSDN云计算(ID:CSDNcloud) 科技的不断发展正逐步加速智 ...

  7. 华为推出全球最快AI训练集群Atlas 900,算力超群

    9月18日,华为全联接2019(HUAWEI CONNECT)大会上,华为副董事长胡厚崑发布了Atlas 900 AI训练集群,以超强算力带给企业人工智能业务的极致体验.世界正从数字化向智能化转型,人 ...

  8. 游戏AI三大难:样本大、成本高、灵活性差

    DeepMind"入侵"安卓游戏了 继攻克围棋.<星际争霸>后,DeepMind开始瞄准手游了. 5月初,DeepMind推出 AndroidEnv后,开始密集测试诸多 ...

  9. 清华人工智能发展报告:过去十年中国AI专利申请量全球第一

    澎湃新闻记者 张唯 最新报告显示:过去十年中国的人工智能专利申请量位列全球第一,深度神经网络.特征抽取和图像分类等是热点研究领域. 1月20日,清华大学人工智能研究院.清华-中国工程院知识智能联合研究 ...

最新文章

  1. cin、cout的重载
  2. 2019中国独角兽新增数锐减62%,仅有22家;美国新增78家,占全球大半
  3. java的格式化时间工具类
  4. 最长回文子串和回文链表
  5. Android之jni调用java函数总结
  6. 前端开发——移动端及响应式布局解决办法总结(适配)
  7. Python开发中收集的一些常用功能Demo
  8. Unity3D打包后日志文件输出目录
  9. Linux下Redis的安装、配置操作说明
  10. pku773_Happy 2006
  11. 将您的SQL Server工作负载迁移到PostgreSQL –第1部分
  12. 这样保养让你皮肤变水嫩 - 生活至上,美容至尚!
  13. OpenCV-图像处理(04、图像操作)
  14. SDL2 + OPENGL GLSL 实践
  15. 【解析】.NET中代理服务器WebProxy的各种用法
  16. linux怎么卸载home文件系统,Linux系统无法卸载文件系统该怎么办
  17. 五分钟学会做一个在线抽奖系统,手把手教你抽奖还学不会嘛?
  18. 【SQL】小CASE
  19. 我为什么放弃Go语言
  20. 【小资生活】话剧——无人生还

热门文章

  1. Ubuntu 20.04 服务器的R中安装 Rtools / devtools
  2. C语言宏定义#define
  3. 性能优化之 线程优化
  4. Axure RP9——【唱片旋转播放暂停效果】
  5. A2Billing源码分析笔记(一)
  6. jupyternotebook无法使用anaconda环境 无法使用已安装的包 解决办法
  7. 如何渲染带有LightMix(灯光混合)信息的vrimg文件?
  8. Element-ui中关闭dialog时隐藏组件并销毁
  9. 微型计算机原理与接口技术孙力娟课后答案,微型计算机原理与接口技术s答案...
  10. 二进制除法移位相减_二进制转化、、、移位运算