Unity 机器学习 基础
ML-Agents 资产导入
Unity 场景创建
Unity 代码部分
Anaconda 执行
rollerball_config.yaml 机器学习逻辑处理代码
Anaconda 虚拟环境
Unity 官方示例下载
Unity 中国 地址 :
Unity 中国 ML-Agents 示例下载
ML-Agents 部分
ML_Agents:
下载GitHub 项目
下载 机器学习项目 选择想要下载的版本
当然你也可以在主页自主点击文档。
Unity ML-Agents 工具包文档地址
Python 下载地址
Agents Toolkit 的条件:
Python(根据版本不同下载不同的,我这里使用的是
Python 可视化窗口软件
这里点击安装就会跳转 Python 下载界面
选择你想要安装的版本下载。下载完毕之后默认安装就行。
Anaconda 官方网站
打开 Anaconda 官方网站
下载 Anaconda 下载完毕之后看自己的喜好安装,尽量不要有中文路径!!!!
Anaconda 环境变量
下载安装完毕之后 按菜单键 找到Anaconda Prompt 打开
version 查看是否有返回值 如果没有 就是需要添加环境变量
搜索栏 搜索环境变量
找到 系统变量的 Path 点击编辑 当然双击也是可以的
点击新建将这四条添加进去:
UserProfile
\Anaconda3\Scripts
UserProfile
\Anaconda3\Scripts\conda
UserProfile
\Anaconda3
UserProfile
\Anaconda3\python
添加完毕之后一路确认
点击应用 确定 Anaconda环境变量就添加好了
Anaconda 基础环境
加载完毕之后左键点击,再点击 Open Treminal 打开 虚拟环境
Anaconda 虚拟环境构建 ML-Agents
安装 ML-Agents Python 包
Agents 之前单独安装 PyTorch 包
PyTorch 包安装命令:
pip3 install torch
torch_stable
安装 ML-Agents 包
Agents包 命令:
m pip install mlagents
如果到目前为止都没有什么报错,基本上就算可以正常联通了。
ML-Agents 入门指南
ML-Agents 入门指南
Unity Hub 部分
Agents 压缩包
Agents 存储库的文件夹(看你解压在那个位置)复制路径
\Unity\Plug
release_19\ml
release_19
Agents 根目录
虚拟环境 训练运行:
learn config
first3DBallRun05
yaml是我们提供的默认训练配置文件的路径。该config
ppo文件夹包含我们所有示例环境的训练配置文件,包括 3Dball
id 是此培训课程的唯一名称
当屏幕上显示“按 Unity 编辑器中的播放按钮开始训练”消息时,您可以在 Unity 中按“播放”按钮开始在编辑器中进行训练。
Unity 运行效果:
虚拟环境 开始训练:
如果mlagents
learn运行正确并开始训练,您应该会看到如下内容:
虚拟环境 观察训练进度:
tensorboard
logdir results
退出训练: Ctrl
停止训练后 在浏览器 键入 http
最重要的统计数据是Environment
Cumulative Reward 应该在整个训练过程中增加,最终收敛到
代理可以积累的最大奖励附近。
恢复训练,请再次运行相同的命令,并附加
learn config
first3DBallRun05
索引到 存储库的文件夹 results 文件下
打开你的训练文件夹 就是 run
选中最新的训练文件。
也可以 直接选中外部的
ML-Agents 打造新的学习环境
ML-Agents 打造新的学习环境官方地址
ML-Agents 资产导入
打开 Unity Package Manager
Agents 根目录下 找到 com
agents 文件夹 打开
导入成功后 可以Packahes 文件夹 下 找到 MLAgents 文件夹
Unity 场景创建
Target 目标物体创建:参数自己感觉合适就行
地面创建:参数自己感觉合适就行
Unity 代码部分
using System
Collections
using System
Collections
using UnityEngine
using Unity
using Unity
using Unity
RollerAgent_ZH
Transform Target
float _ForceMultiplier
Rigidbody _RigiBody
GetComponent
///
/// 设置新集的环境
/// 场景以随机方式初始化,以使代理能够学习在各种条件下解决任务
///
OnEpisodeBegin
// 如果特工掉下去,动量为零
localPosition
angularVelocity
localPosition
// 将目标移动到新点
localPosition
///
/// 代理收集的信息包括目标的位置、代理本身的位置以及代理的速度
///
///
CollectObservations
VectorSensor sensor
// 目标和代理位置
AddObservation
localPosition
AddObservation
localPosition
AddObservation
AddObservation
///
/// 动作和奖励逻辑
///
///
OnActionReceived
ActionBuffers actionBuffers
// 动作, size = 2
Vector3 controlSignal
controlSignal
actionBuffers
ContinuousActions
controlSignal
actionBuffers
ContinuousActions
controlSignal
_ForceMultiplier
float distanceToTarget
localPosition
localPosition
distanceToTarget
EndEpisode
localPosition
EndEpisode
///
/// 键盘控制代理
///
///
ActionBuffers actionsOut
continuousActionsOut
actionsOut
ContinuousActions
continuousActionsOut
"Horizontal"
continuousActionsOut
"Vertical"
需要新添加组件: DecisionRequester
注意:参数更改!参数更改!参数更改! 重要的事情说三遍。
Anaconda 执行
打开 Anaconda 切换环境 左键打开 虚拟环境
Agents 根目录
rollerball_config.yaml 机器学习逻辑处理代码
RollerBall
trainer_type
hyperparameters
batch_size
buffer_size
learning_rate
learning_rate_schedule
beta_schedule
epsilon_schedule
network_settings
hidden_units
num_layers
reward_signals
time_horizon
summary_freq
在 config 文件夹下 创建
添加文件内容 就是 上面的代码
Anaconda 虚拟环境
如果你也是出现这样的错误,就说明:
要么指定一个新的运行
resume 恢复运行
force 参数覆盖现有的数据。
我这里选择的是覆盖执行
learn config
rollerball_config
RollerBall
learn config
rollerball_config
RollerBall
learn config
rollerball_config
RollerBall
命令执行之后点击 播放按钮 就能看到效果了
第一个框选的是:训练模型输出路径。
第二个框选的是:模型训练详情。Ctrl
清华大学开源软件镜像站
Anaconda 官方网站
ML-Agents GitHub 项目地址
Unity 中国 ML-Agents 示例下载
Python 下载地址
安装 PyTorch 包地址
Unity ML-Agents 工具包文档地址
Unity ML-Agents 安装文档地址
Unity ML-Agents入门指南文档地址
Unity ML-Agents 打造新的学习环境文档地址
Unity ML-Agents 使用-Tensorboard.md文档地址
Agents Toolkit 存储库(可选)
branch release_19 https
Technologies
安装 PyTorch(必选)
pip3 install torch
torch_stable
安装 mlagentsPython 包(必选)
m pip install mlagents
高级:用于开发的本地安装(注意安装顺序)(可选)
pip3 install torch
torch_stable
pip3 install
pip3 install
learn config
rollerball_config
RollerBall
learn config
rollerball_config
RollerBall
learn config
rollerball_config
RollerBall
tensorboard
logdir results
暂时先这样吧,如果有时间的话就会更新,实在看不明白就留言,看到我会回复的。
路漫漫其修远兮,与君共勉。
