Unity3D ML-Agent-0.8.1 学习四(模仿学习)

Unity3D ML-Agent-0.8.1 学习四(模仿学习)Unity3DMl-Agent-0.8.1学习四(模仿学习)写的目的场景设置修改配置并训练总结写的目的本篇介绍模仿学习,即玩家边玩,代理边学习,主要分为在线学习和离线学习,在线就是跟着师傅一起学,离线就是看是师傅录制的资料学习,我们主要讲在线学习,就是玩家边玩,AI边学习,可以实时观察学习的效果,离线学习只是记录玩家信息,产生生成一个文件,命令行学习文件即可,不多做介绍。场景设置可以…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Unity3D ML-Agent-0.8.1 学习四(模仿学习)

写的目的

本篇介绍模仿学习,即玩家边玩,代理边学习,主要分为在线学习和离线学习,在线就是跟着师傅一起学,离线就是看是师傅录制的资料学习,我们主要讲在线学习,就是玩家边玩,AI边学习,可以实时观察学习的效果,离线学习只是记录玩家信息,产生生成一个文件,命令行学习文件即可,不多做介绍。
在这里插入图片描述

场景设置

可以复制前面的多代理学习的场景,预制TrainingArea复制2份,分别命名为StudentTrainingAreaTeacherTrainingArea,因为我们需要有是老师带学生学习,所以需要2个预制,当然其实只需要StudentTrainingArea,因为可以多个学生一起跟一个老师学习。
在这里插入图片描述

创建1个大脑,即学生模仿学习的大脑,命名为StudentRollerBallILBrain,属性还是跟单代理一样。
在这里插入图片描述
然后将StudentTrainingArea里的RollerAgent上的大脑换成StudentRollerBallILBrain
在这里插入图片描述
TeacherTrainingArea里的RollerAgent上的大脑换成RollerBallPlayerBrain,即我们最开始人为操作的大脑,因为需要跟着玩家学,所以得需要人为操作。
在这里插入图片描述
再将Academy里的广播大脑设置成刚才那两个,即他们之间可以通信了,学生可以学习老师的行为了。记得训练前Control打勾。
在这里插入图片描述
设置完成后,如果要多代理训练,可以复制多个学生预制,感觉像做广播操一样
在这里插入图片描述

修改配置并训练

场景设置完了之后,找到online_bc_config.yaml文件:
在这里插入图片描述
然后添加StudentRollerBallILBrain设置,可以参考我这个

StudentRollerBallILBrain: 对应大脑的名字
    trainer: online_bc
    max_steps: 2000  
    summary_freq: 100
    brain_to_imitate: RollerBallPlayerBrain 对应老师的名字,即要模仿的对象
    batch_size: 32
    batches_per_epoch: 5
    num_layers: 4
    hidden_units: 64
    use_recurrent: false
    sequence_length: 16

最后命令行进行训练:

mlagents-learn config/online_bc_config.yaml --run-id=RollerBall-IL --train --slow     --slow 代表正常速度,方便操作

在这里插入图片描述
可以看到效果也不错,当然取决于你的操作啦。训练完之后就是把相应的大脑换上即可看效果。

总结

模仿学习其实也不错,用于比较复杂的情况,可以先带着AI训练训练,不然AI真的摸不着头脑,瞎逛了。

例子主要文件unity3D-ml-agent-0.8.1

好了,今天就到这里了,希望对学习理解有帮助,大神看见勿喷,仅为自己的学习理解,能力有限,请多包涵,部分图片来自网络,侵删。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/192926.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Linux系统下载(超全镜像下载)

    Linux系统下载(超全镜像下载)1、Linux官方镜像Deepin镜像https://www.deepin.org/mirrors/releases/Mint镜像https://www.linuxmint.com/mirrors.phpkernel镜像站:http://mirrors.kernel.org/Fedora官方镜像站:http://mirrors.fedoraproject.org/public…

  • idea2021最新激活码【最新永久激活】

    (idea2021最新激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~Z9…

  • 深入理解MySQL索引设计和优化原则[通俗易懂]

    深入理解MySQL索引设计和优化原则[通俗易懂]索引类型探讨索引设计和优化原则之前,先给大家熟悉一下索引类型:主键索引PRIMARYKEY:它是一种特殊的唯一索引,不允许有空值。一般是在建表的时候同时创建主键索引。唯一索引UNIQUE:唯一索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。创建命令:ALTERTABLEtable_nameADDUNIQUE(column);普通索引INDEX:最基本的索引,它没有任何限制。创建命令:ALTERTABLEtable_nameADDINDEXi..

  • ue4动态加载模型_U3D动态页面

    ue4动态加载模型_U3D动态页面本帖纯属个人原创,如有转载请注明出处需要注意的几点:1.调试环境下进行的资源加载方式到打包出来后不一定能够使用。2.假如遇到调试模式下程序运行正常,但是打包出来后程序crash,可以查看log:Saved/Logs/filename/log3.资源路径的代码书写格式map:”Game/Maps/Main.map”蓝图类:”Game/Blueprint/Skil

  • leetcode题目分类_leetcode组合总和

    leetcode题目分类_leetcode组合总和原题链接编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入:strs = [“flower”,”flow”,”flight”]输出:”fl”示例 2:输入:strs = [“dog”,”racecar”,”car”]输出:””解释:输入不存在公共前缀。 提示:0 <= strs.length <= 2000 <= strs[i].length <= 200strs[i] 仅由小写英文字母组成题解分

  • 设计模式学习03—抽象工厂模式

    设计模式学习03—抽象工厂模式

    2021年11月30日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号