使用PPO算法让我的马里奥小兄弟狂奔丨【我的华为云体验之旅】

举报
香菜聊游戏 发表于 2021/12/16 23:51:28 2021/12/16
【摘要】 强化学习是我一直要写的一部分,一直没有狠下心去啃这块硬骨头,今天发现华为云有体验,特地来玩了一下,算法的具体介绍就不多说了,因为后面会写一个系列,今天主要说华为云的体验。1、先看效果 可以看到马里奥小兄弟玩得很开心,我看的也很开心,哈哈,虽然只是简单的调节参数,可以实现马里奥的强化学习,不得不说,很不错2、步骤1、体验地址体验地址:https://developer.huaweicloud....

强化学习是我一直要写的一部分,一直没有狠下心去啃这块硬骨头,今天发现华为云有体验,特地来玩了一下,算法的具体介绍就不多说了,因为后面会写一个系列,今天主要说华为云的体验。

1、先看效果

可以看到马里奥小兄弟玩得很开心,我看的也很开心,哈哈,虽然只是简单的调节参数,可以实现马里奥的强化学习,不得不说,很不错

GIF 2021-12-16 23-19-54.gif

2、步骤

1、体验地址

体验地址:https://developer.huaweicloud.com/develop/aigallery/home.html

从下面的图中可以看出能做很多事,我选择了我喜欢的强化学习,PPO算法玩超级马里奥。你可以选择一个自己喜欢的分类进行体验,白嫖还不香吗?

image-20211216232352392.png

2、实验说明

我们利用PPO算法来玩“Super Mario Bros”(超级马里奥兄弟)。目前来看,对于绝大部分关卡,智能体都可以在1500个episode内学会过关,您可以在超参数栏输入您想要的游戏关卡和训练算法超参数。

整体流程:创建马里奥环境->构建PPO算法->训练->推理->可视化效果

地址:https://developer.huaweicloud.com/develop/aigallery/usecase/detail?id=3390253c-a00f-4c2a-92b6-08384ec31693

里面有算法的一些数学解释,虽然我没看,过于学术性了,不好理解,等你有点道行了回头再看不迟,不适合入门!!!

因为只是为了体验,所以我直接找到能让我体验的入口

image-20211216234110153.png

进入到下面的界面,然后点击-> run in ModelArts

image-20211216234129313.png

进入到jupyter 的编辑界面

image-20211216234257507.png


搜索找到 # 请在此处实现代码,放入你自己的参数,我这边的参数是:

opt={
    "world": 1,                # 可选大关:1,2,3,4,5,6,7,8
    "stage": 1,                # 可选小关:1,2,3,4 
    "action_type": "simple",   # 动作类别:"simple","right_only", "complex"
    'lr': 1e-4,                # 建议学习率:1e-3,1e-4, 1e-5,7e-5
    'gamma': 0.8,              # 奖励折扣
    'tau': 1.0,                # GAE参数
    'beta': 0.01,              # 熵系数
    'epsilon': 0.2,            # PPO的Clip系数
    'batch_size': 16,          # 经验回放的batch_size
    'max_episode':10,          # 最大训练局数
    'num_epochs': 10,          # 每条经验回放次数
    "num_local_steps": 512,    # 每局的最大步数
    "num_processes": 8,        # 训练进程数,一般等于训练机核心数
    "save_interval": 5,        # 每{}局保存一次模型
    "log_path": "./log",       # 日志保存路径
    "saved_path": "./model",   # 训练模型保存路径
    "pretrain_model": True,    # 是否加载预训练模型,目前只提供1-1关卡的预训练模型,其他需要从零开始训练
    "episode":5
}

如果你只是为了体验,可以直接使用上面的参数,或者简单修改。

3.运行代码

因为第一次使用jupyter,所以不怎么熟悉怎么使用,看了下教程,要选择cell,然后一个一个从头到尾运行就可以了

image-20211216234545169.png

总结:

不用考虑计算资源

不用考虑环境的搭建,主要专注于代码的开发,专注于网络参数的优化

【我的华为云体验之旅】有奖征文火热进行中:https://bbs.huaweicloud.com/blogs/309059

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。