unity learn—— ML_Agent:Hummingbirds中文教程 自译(六——准备训练)

由于官方教程是全英版,本文为根据个人理解做的中文版,并对出现的相关问题进行了解答
(能力有限,有问题的地方还望指出,同时欢迎志同道合的朋友参与讨论,谢谢!)
官方教程:https://learn.unity.com/course/ml-agents-hummingbirds?uv=2019.3

系列文章:unity learn—— ML_Agent:Hummingbirds中文教程 自译(一 ——配置Unity)
unity learn—— ML_Agent:Hummingbirds中文教程 自译(二——代码Flowers.cs、FlowerArea.cs)
unity learn—— ML_Agent:Hummingbirds中文教程 自译(三——代码HummingbirdAgent.cs)
unity learn—— ML_Agent:Hummingbirds中文教程 自译(四——Ray Perception Sensor)

unity learn—— ML_Agent:Hummingbirds中文教程 自译(五 ——安装Anaconda)
unity learn—— ML_Agent:Hummingbirds中文教程 自译(六——准备训练)
unity learn—— ML_Agent:Hummingbirds中文教程 自译(七——测试模型)

Note:
自ML-Agent测试版发布,到现在正式的1.0版已经三年有余。
1.0版本使用的深度学习架构由之前的TensorFlow改为了Pytorch,训练出的模型也由.nn文件变为了.onnx文件。

1、conda环境配置

打开Anaconda Prompt
在这里插入图片描述
键入 conda env list,可以看到目前已经创建的conda环境
在这里插入图片描述
再键入conda create -n ml-agents-1.0 python=3.8,意为创建一个名为ml-agents-1.0,python版本为3.8的conda环境
在这里插入图片描述
它会告诉你将要安装的东西。键入y回车继续
在这里插入图片描述
下载完成后,键入conda activate ml-agents-1.0进入ml-agents-1.0的环境
在这里插入图片描述

然后pip install mlagents 下载mlagents库
在这里插入图片描述
下载完成后,
去:https://learn.unity.com/tutorial/initial-setup-asset-import-default-contact-offset?uv=2019.3&courseId=5e470160edbc2a15578b13d7&projectId=5ec82fa7edbc2a0d36845ae2#
下载HummingbirdSourceCode.zip
在这里插入图片描述
解压压缩包,找到config中的trainer_config.yaml(它包含了神经网络和训练代码用来训练ml-agents的信息),打开(我用的是VS Code,你也可以用别的编辑器,甚至记事本也可以)
在这里插入图片描述
在这里插入图片描述
如果你对上面的这些变量具体代表什么感兴趣,可以去
https://github.com/Unity-Technologies/ml-agents/blob/release_1_branch/docs/Training-Configuration-File.md寻找答案(不过我觉得看我的博客而不看官方教程的童鞋多半也是不会点开的hhh[狗头])

关于参数设置的demo:https://github.com/Unity-Technologies/ml-agents/blob/release_1_branch/config/trainer_config.yaml

关于该脚本的官方教程:
https://learn.unity.com/tutorial/trainer-config-yaml?uv=2019.3&courseId=5e470160edbc2a15578b13d7&projectId=5ec83171edbc2a44309bf22e

2、训练前的准备

现在回到unity,为了提高训练效率,可以多复制几个Island同时训练(我这里跟官方一样复制了8个,具体复制几个应该看你的电脑性能来定)
在这里插入图片描述打开anaconda prompt切换路径到trainer_config.yaml所在位置
我的是E:\unity\For unity Projects\ML_Agent\HummingbirdSourceCode\config

这里关系到一个切盘的问题,即从C盘切到E盘
不能直接 cd E:\unity\For unity Projects\ML_Agent\HummingbirdSourceCode\config而需要先cd c:\切到C盘根目录,再切E盘(这里我几乎试了所有错,大家引以为戒!(发现新坑的小伙伴欢迎补充哈!))

在这里插入图片描述
注:trainer_config.yaml中的命名空间Hummingbird,即
在这里插入图片描述
必须与unity中Hummingbird挂载的Behavior Parameters脚本的Name一致
在这里插入图片描述
然后切回Anaconda Prompt,键入mlagents-learn -h
如果顺利的话就会出现如下界面:(之前那个路径太远了,切着麻烦,我换了个路径)
在这里插入图片描述
在开始训练之前,还有一个重要且比较头疼的事情,就是在这个虚拟环境下装上pytorch,这方面网上教程很多,我只提一点建议:
对于我们ml-agent的训练,用CPU比GPU快(官方说的,如果你没有用visual sensor,CPU更好),所以大家不必费大力气装GPU版本的。
若你还有GPU的需求,我的建议是:不要用国内源!!!(只是CPU版本的话可以用国内源)

训练

因为之前我们为了测试把场景中的Hummingbird的Behavior Type设置成了Heuristic Only,所以需要设置回Default。(Tip:可以还从Prefab中设置,这样就不用在场景中点八次啦)

在这里插入图片描述

现在再来确认一下Hummingbird的所有脚本
在这里插入图片描述
下面回到Anaconda Prompt,键入(其中hb_01是为本次训练的命名,你也可以自由发挥)

mlagents-learn ./trainer_config.yaml --run-id hb_01

这里不出意外的话,你会报错:

TrainerConfigError( mlagents.trainers.exception.TrainerConfigError:The option default was specified in your YAML file, but is invalid.)

原因是官方的ML_Agent更新了,所以你的trainer_config.yaml 也需要更新,在改路径下键入

python -m mlagents.trainers.upgrade_config [old yaml file name] [new file name]

也可以通过以下命令得到更多的帮助

python -m mlagents.trainers.upgrade_config -h

一般我们不要改名称,所以就是键入

python -m mlagents.trainers.upgrade_config trainer_config.yaml trainer_config.yaml

下面我们再输入一次:

mlagents-learn ./trainer_config.yaml --run-id hb_01

这样如果没问题的话就会出现下面这样:
在这里插入图片描述
划红线的句子是让我们回到unity点击开始运行按钮
在这里插入图片描述

下面就等待训练结果吧
在这里插入图片描述
训练结果会和 trainer_config.yaml存在一起,hb_01就在results里面啦
在这里插入图片描述

Plus:

1、训练过程中,你可能觉得鸟移动的太快了,你可以去Project Settings的Time更改TimeScale来使你看得更清楚

Time Scale: 时间进展的速度。更改此值可模拟子弹时间效果。值 1 意味着实时。值 0.5 意味着半速;值 2 表示速度翻倍。

在这里插入图片描述
2、使用TensorBoard可视化训练结果
打开一个新的Anaconda Prompt,切换conda环境并将路径切到你的 trainer_config.yaml所在的位置,然后键入

tensorboard --logdir results

在这里插入图片描述
复制红色方框的网址到浏览器打开即可
在这里插入图片描述
3、 trainer_config.yaml中默认的训练步数是500万
在这里插入图片描述
如果你想中途停止的话,可以在Anaconda Prompt中按“CTRL+C”
在这里插入图片描述
或者在unity界面在点一次这个开始按钮
在这里插入图片描述
另外如果你中途退出了,之后还想继续之前的训练,只需要在执行命令的最后加上’–resume‘
就好啦。比如

mlagents-learn ./trainer_config.yaml --run-id hb_01 --resume

训练完成。红色方框就是最终训练结果所在的路径啦。
在这里插入图片描述

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

昼行plus

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值