Unity3D ML-agents 入坑指导
Unity3D && ML-agents 入坑指导
- @[toc]( Unity3D && ML-agents 入坑指导)
- 一、安装之类的基本操作
- 1.1 无非是安装unity、下载ml-agent工具包之类的
- 1.2 导入ML-agents工具包
- 1.3 导入**TensorFlowSharp**插件
- 二、Ball3D入门操作
- 三、训练、查看训练效果
- 3.1 在Unity中训练
- 3.2 利用Jupyter Notebook训练
- 3.3 利用TensorBoard查看训练效果
- 3.4 导出TensorFlow模型
这只是一篇官方文档的搬运工,嫌文档翻来翻去麻烦,自己总结一下,也方便后来人少走弯路。
- 操作环境:
Windows 10
Anaconda
TensorFlow 1.7.1 (注意:必须是该版本)
CUDA 9.0
Unity 2018.3.9f1 (64-bit)
Unity ML-Agents Toolkit (Beta)
一、安装之类的基本操作
1.1 无非是安装unity、下载ml-agent工具包之类的
ML-agents的Github仓库
安装Anaconda、TensorFlow等的详细过程
1.2 导入ML-agents工具包
- 打开Unity
File
–>Open Project
- 打开
ml-agents-master
(就是从Github上下载的ml-agents文件夹)中的unity-environment
文件夹,点击Open
打开 Edit
–>Project Settings
–>Player
- 对于所有的目标平台(PC,Mac,Linux Standalone,IOS或Android):
i.点开Other Settings
一栏
ii.将Scripting Runtime Verision
选至Experimental(.NET 4.6 Equivalent or .NET 4.x Equivalent)
iii. 在Scripting Defined Symbols
一栏中,添加flag:ENABLE_TENSORFLOW
,输入完成后敲一下回车 File
–>Save Project
1.3 导入TensorFlowSharp插件
- 下载TensorFlowSharp插件
- 打开Unity后,双击下载的
TFSharpPlugin.unitypackage
文件打开,点击Import
导入插件 - 查看
Assets
–>ML-Agents
–>Plugins
–>Computer
目录下该插件是否安装成功
二、Ball3D入门操作
- 在Project窗口中,点开
Assets/ML-Agents/Examples/3DBall
路径,打开3DBall
场景 - 在Hierarchy窗口中,选中Ball3DAcademy对象的子对象Ball3DBrain,在Inspector窗口中检视其属性
- 在Ball3DBrain的Brain组件中,将Brain Type改成Internal
- 在Project窗口中,点开
Assets/ML-Agents/Examples/3DBall/TFModels
路径 - 将模型文件
3DBall
从TFModels
文件夹中拖给Ball3DBrain的Brain组件下的Graph Model - 点击Play按钮,就能看到平台在用训练好的模型来试图平衡小球
三、训练、查看训练效果
3.1 在Unity中训练
选中Ball3DBrain,将Brain Type改成External
打开
ml-agents-master
中的python
文件夹,所有训练相关的python代码都在这个文件夹中如果要修改训练参数,打开
python
文件夹中的trainer_config.yaml
文件修改相应参数在
python
文件夹中打开命令行终端(如果在其他地方打开了终端,则将路径切换至python下)如果TensorFlow等安装在了Anaconda的环境中,则激活该环境,如:
activate ml-agents
在终端输入:
python learn.py --run-id=<run-identifier> --train
run-identifier
是给每次训练起的名字,方便管理多次训练结果--train
告诉 learn.py 运行训练session(而不是inference会话)
当Start training by pressing the Play button in the Unity Editor 的提示出现后,在Unity中按下Play按钮,开始训练
训练完成后,模型文件将保存在
python/models/<run-identifier>
目录下。将该目录下的editor_<academy_name>_<run-identifier>.bytes
文件复制到unity-environment/Assets/ML-Agents/Examples/3DBall/TFModels
在Unity中,选中Ball3DBrain,将Brain Type改成Internal,将
editor_<academy_name>_<run-identifier>.bytes
拖给Graph Model点击Play按钮,就能看到平台在用你自己训练的模型来试图平衡小球!!!
3.2 利用Jupyter Notebook训练
暂时不用,懒得先写了
3.3 利用TensorBoard查看训练效果
- 在
python
文件夹中打开命令行终端 - 激活安装了TensorBoard的Anaconda环境
- 在终端输入:
tensorboard --logdir=summaries
- 打开浏览器,打开端口localhost:6006,就能看到训练信息了
3.4 导出TensorFlow模型
ML-agents利用TensorFlow进行训练,训练完成的模型保存在python/models/<run-identifier>
目录下的raw_graph_def.pb
中,并自动将其转变成.bytes文件以供Unity导入和使用,因此如果想导出训练完的模型做他用,直接读取.pb文件即可
- 在
python/models/<run-identifier>
目录下运行以下python代码:import tensorflow as tf from tensorflow.python.platform import gfilemodel = 'raw_graph_def.pb' graph = tf.get_default_graph()graph_def = graph.as_graph_def() graph_def.ParseFromString(gfile.FastGFile(model, 'rb').read()) tf.import_graph_def(graph_def, name='graph') summaryWriter = tf.summary.FileWriter('log/',graph)
- 在
python
文件夹中打开命令行终端 - 激活安装了TensorBoard的Anaconda环境
- 在终端输入:
tensorboard --logdir=log
- 打开浏览器,打开本地端口localhost:6006,就能看到模型信息了
Unity3D ML-agents 入坑指导相关推荐
- 一块GPU搞定ChatGPT;ML系统入坑指南;理解GPU底层架构
1. 跑ChatGPT体量模型,从此只需一块GPU 在发展技术,让大模型掌握更多能力的同时,也有人在尝试降低AI所需的算力资源.最近,一种名为FlexGen的技术因为「一块RTX 3090跑ChatG ...
- 资源 |“从蒙圈到入坑”,推荐新一波ML、DL、RL以及数学基础等干货资源
向AI转型的程序员都关注了这个号☝☝☝ 编译 | AI科技大本营(rgznai100) 参与 | suiling 此前营长曾发过一篇高阅读量.高转发率,高收藏量的文章<爆款 | Medium上6 ...
- 小白深度学习入坑指南
小白深度学习入坑指南 小白深度学习入坑指南 写博客的初衷适合的人群 理论篇 说明 数学 CV ML DL 优化 实践篇 linux python 深度学习框架 框架学习 硬件配置 软件环境配置 常见的 ...
- 一份详细的“入坑Phd指南”---教你如何做笔记、整理参考书目、管理时间、如何写作、对自己和导师合理预期...
点击上方,选择星标或置顶,每天给你送干货! 阅读大概需要5分钟 pick小博主,每天进步一丢丢 [导读]今天给大家强烈推荐一份详细的读博指南,本指南教你如何做笔记.整理参考书目.管理时间.如何写作.对 ...
- PyTorch入坑(一)~(三): Tensor的概念,基本操作和线性回归
PyTorch 一文入门 PyTorch 入坑一:数据类型与Tensor的概念 PyTorch数据类型 Tensor的概念 Tensor与Variable Variable Tensor Tensor ...
- 博士入坑必读-A-Z博士(PhD)顺利毕业必读指南
本书主要讲解读博过程中一些关键要点.能力.核心要素,以及如何学会或达到这些能力.这本书主要面向理科和工科的博士生.特别是,本书讨论的主题是:定义读者的研究问题,发散文献综述,准备和执行实验,时间管理 ...
- FPV入坑前传(20211227)(未完)
前置:从啥也不懂开始大概做个记录. 目的:完成一套组装室内穿越机或直接飞成品 20201112 最近掉在别的坑里太久了,都爬不出来. 陀螺仪的资料也还没有整理. 这半年离FPV越来越远了,如果说近的话 ...
- notion 科研_科研新手全面入坑指南
简介 写论文既是当代大学生的必修课,也是科研工作者的必备技能.尽管大部分少数派读者的人生中都要经历一两次写论文的过程,但那些藏在这个过程里的诸多方法和细节,连你的导师都未必会系统地告诉你. 在这份&l ...
- 2022年入坑图像分割,我该从哪入手?
作为一枚CVer,怎样才能出成绩? 计算机视觉算是人工智能的几个分支中,竞争最激烈的方向之一了,内卷也最为严重. 对于已然入坑的研究生宝宝,想要一路打怪升级,论文必定是最大的那个task. 说到打怪升 ...
- 树莓派PICO -oled详细避坑指导
树莓派PICO-oled避坑指导 一.前文 注意:本教程使用的编辑器为Thonny,语言为micropython 案例将使用096英寸128x64的iicoled屏,库为ssd1306py 二 ...
最新文章
- halcon入门_visionpro和halcon这两款机器视觉软件区别
- 使用iso升级_华佗品牌战略升级 彰显百年品质-产经要闻
- 使用 Java 配置进行 Spring bean 管理--转
- 数组和链表的区别以及应用场景
- NLP中数据增强的综述,快速的生成大量的训练数据
- C# winform WebBrowser怎么获取js中的变量的值?怎么触发js的事件?
- 1036 跟奥巴马一起编程 (15分)——16行代码AC
- 锅巴H264播放器地址和说明
- Ros学习——roslaunch
- java编程——【Mybatis】之${}和#{}的区别
- php json转义字符函数,PHP转义Json里的特殊字符的函数
- 文字投影_DLP投影仪指标含义汇总(文字稿)
- 本周Asp.net源码更新(6.25-6.29)
- 最简单的《域中隔离用户的FTP站点》详解
- 世界第一个聊天机器人源代码_这是世界上第一个“活着”的机器人
- 「How The Economic Machine Works」《经济机器是如何运转的》中文字幕
- FireFox精彩电视广告欣赏
- Mac如何卸载系统自带软件?macbook系统软件怎么删除?
- IDEA使用手记——IDEA主菜单被隐藏了!!
- IT:成为服务经纪人的未来
热门文章
- 中国开源走向第二梯队!
- python excel 微信_Python读写Excel文件第三方库汇总,你想要的都在这儿!,微信文件第三方打开...
- C# + HotKey
- IO多路复用和epoll反应堆
- 记录在训练深度学习算法过程中遇到的问题及解决办法。持续更新中....
- 高小英和张东健1998年合作出演过爱情片《恋风恋歌
- windows权限维持的方法
- cf_Gym 101572 K.Kayaking Trip
- c4d如何把文字贴在物体表面_C4D立体贴地面字基础知识点
- correl函数相关系数大小意义_教你利用Correl函数返回相关系数并确定属性关系