我们先看看他的效果吧:

ml-agents是Unity推出的机器学习开源库,已经推出两年多了,刚推出的时候,部署环境比较复杂,随便官方人员的努力,更新迭代,目前功能越来越强大,而且部署越来越简单化,今天我们看一下怎么部署这个环境吧:

步骤如下:

第一:下载库,github地址是https://github.com/Unity-Technologies/ml-agents,选择master,选择对应的版本,我下的版本是0.9.0,下载压缩包即可:

第二:下载Anaconda,Anaconda是机器学习很强大的开源库,其中集成了很多算法,地址是https://repo.continuum.io/archive/,需要找到历史版本的,因为ml-agents是基于python3.6的,不支持3.7,目前python以后出到3.7了,我下载的版本是:

下载完之后一路点点点安装即可

安装完成后,在电脑开始菜单找到Anaconda Prompt,以管理员身份运行

输入命令 conda create -n ml-agents_0_9_0 python=3.6

看到有选yes和no的就输入y就行

接着激活ml-agents,命令是activate ml-agents_0_9_0

切换到ml-agents文件夹的路径,我的命令是cd /d D:\20191011_ml-agents\ml-agents-0.9.0\ml-agents,具体路径看自己解压的文件放在哪里了

接下来,输入命令 pip install -e .  ,不要忘记后面那个点哦

一波安装后,报了一个错

说我的pillow版本过高了,如果你也遇到这个问题,怎么办呢,它要求的版本是小于5.4.1大于4.2.1的,那么我们按照下面这样做

通过pip uninstall pillow卸载我们现有版本的pillow库,pillow是干嘛的呢,其实就是python一个图像处理的库,这里不多说了,接着用下面的命令安装我们制定版本的库

通过命令pip install pillow==5.4.0安装5.4.0,符合上面版本的要求了吧

接下来,验证我们的环境是否安装好了,通过命令mlagents-learn --help

出现上面这个图形,基本是安装成功了

接下来,用unity打开我们下载的工程,包含在库文件里面了

准备开始训练,首先切换到上一级目录,在刚才部署环境的命令窗口输入:

接着输入命令,mlagents-learn config\trainer_config.yaml --run-id=test --train,训练:

接着打开unity随便一个demo

点击运行即可

开始训练后,会出现下面的画面

我们接下来要等训练完毕,完毕后会生成一个文件

训练完毕,找到生成的文件,拖拽到unity里面

找到对应的demo,勾选掉control

选中3DBallLearning,替换成我们刚刚训练生成的model

运行unity,就可以看到效果了

其实工程里面已经有训练好的文件的,我只是带大家走一遍这个过程,以后就深入了解会更容易一点,其实这个库还有很多强大的功能,希望大家有兴趣的以后花时间去研究,听说还可以自定义python算法呢,最后我把需要的文件都打包了,关注小弟的公众号,回复关键字“机器学习”即可

Unity机器学习库ml-agents新版本的环境搭建相关推荐

  1. Java机器学习库ML之六关于模型迭代训练的思考

    我遇到的场景是:样本集有5000万条,接近5个G,那么这样的样本集一次导入训练,我放着一天一夜都没跑出结果,机器性能还特别好,是64位linux有128G内存. 针对这样的情况,我想到的是两种思路: ...

  2. Java机器学习库ML之一Dataset和Instance

    Java机器学习库ML官网:http://java-ml.sourceforge.net/ 对于一个机器学习库来说,最基础就是数据处理能力,ml库给了dataset和instance两个类,datas ...

  3. Java机器学习库ML之十一线性SVM

    线性SVM的原理就不多说了,最强大的就是libsvm库(ml库也是用这个),参考:http://blog.csdn.net/fjssharpsword/article/details/53883340 ...

  4. Java机器学习库ML之十模型选择准则AIC和BIC

    学习任务所建立的模型多数是参数估计并采用似然函数作为目标函数,当训练数据足够多时,可以不断提高模型精度,但是以提高模型复杂度为代价的,同时也带来一个机器学习中非常普遍的问题--过拟合.模型选择问题是在 ...

  5. Java机器学习库ML之四模型训练和预测示例

    基于ML库机器学习的步骤: 1)样本数据导入: 2)样本数据特征抽取和特征值处理(结合模型需要归一化或离散化):这里本文没有做处理,特征选择和特征值处理本身就很大: 3)样本集划分训练集和验证集: 4 ...

  6. Java机器学习库ML之二Feature Selection(特征选择)

    机器学习中训练模型的前提必备工作就是特征选择,起到降维和降低计算开销的目的,当然在获取尽可能小的特征子集的同时,应不显著降低分类精度.不影响类分布.保持特征子集的稳定适应性强等. ML库提供了特征选择 ...

  7. Java机器学习库ML之九交叉验证法(Cross Validation)

    交叉验证(Cross Validation,CV)是用来验证分类器的性能一种统计分析方法,基本思想是把在某种意义下将原始数据(dataset)进行分组,一部分做为训练集(train set),另一部分 ...

  8. Java机器学习库ML之八关于模型迭代训练的试验

    前文提到因为数据集过大,只能拆分然后依次迭代训练,实验发现对结果有所偏差,参考代码如下: package com.vip;import java.io.File; import java.util.M ...

  9. Java机器学习库ML之五样本不均衡

    样本不均衡的问题是指训练集中类别之间的样本数据量比例失衡.有研究表明,部分学习任务,在类别出现1∶35比例时就会使某些分类学习方法无效,甚至1∶10比例也会.样本不均衡导致的问题有: 1)少数类所包含 ...

  10. Java机器学习库ML之七分类预测输出概率值

    场景:一般分类预测直接输出类别标记,不过有些情况需要输出对应类别的概率值,比如判定为正例的概率是0.6,而判定为负例的概率是0.3,那自然标记为正例,这里就是看ML用classDistribution ...

最新文章

  1. Pwn_9 作业讲解
  2. 微软一站式示例代码库 8 月新代码示例发布
  3. 代码的世界中,一个逻辑套着另外一个逻辑,如何让每一种逻辑在代码中都有迹可循?...
  4. Angular 路由的一个问题,以及解决方案
  5. #面试!,一定要注意,避免踩这些雷!!
  6. python去掉html标签_python 去除html标签的几种方法
  7. 诺基亚继续打情怀牌:怀旧小屏手机入网!
  8. Linux操作系统中awk语言常见用法
  9. 2020本博客年度信息
  10. 怎样看python源代码-如何查看python源代码
  11. 【计算机组成原理】计算机的发展及应用
  12. QT 弹出pdf 或者网页【软件 help/about按钮】
  13. oracle获取本月天数,Oracle查询日期所属月份的天数
  14. JDK8中Lambda 表达式语法糖脱糖[非原创]
  15. 【有机】镍催化非活化烯烃的不对称氢烷基化构建全烷基取代的饱和三级碳手性中心...
  16. 移动端(一)—— 移动端概念
  17. php算html语言吗,为何说PHP 是一种 HTML 内嵌式的语言
  18. 电视剧《奋斗》和《蜗居》的区别(完整版)
  19. 第七届科技节科技制作须知
  20. php面试题 优信二手车_分布式定时任务对比 - sharedCode的个人空间 - OSCHINA - 中文开源技术交流社区...

热门文章

  1. 【安全牛学习笔记】DNS区域传输、DNS字典爆破、DNS注册信息
  2. OpenCV_连通区域分析(Connected Component Analysis-Labeling)
  3. 在yandex投放广告的话,需要注册俄罗斯常用的域名吗?
  4. 【转载】JPEG2000
  5. 微信公众号无服务器 外部链接,微信公众号文章怎么添加外部链接-给微信公众号文章添加外部链接的方法 - 河东软件园...
  6. Android设备远程控制工具AVDTools使用
  7. 台湾大学林轩田机器学习技法课程学习笔记14 -- Radial Basis Function Network
  8. afc系统线路中心计算机系统,青岛地铁线网AFC系统建设探讨
  9. 用python来做一个APP | python GUI 基础(实战)
  10. android两个app合并