这篇文章介绍如何训练官方的一个例子3dball。

确保在此之前已经安装好训练环境可以参考下面的文章。

https://www.cnblogs.com/pojdd/p/9804322.html

游戏打包的官方说明文档

https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Learning-Environment-Executable.md

https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Basic-Guide.md#play-an-example-environment-using-pretrained-model

打开官方的实例工程ml-agents\UnitySDK

这个工程是和插件项目在一起的

下载链接https://github.com/Unity-Technologies/ml-agents/

双击打开3dball路径是Assets/ML-Agents/Examples/3DBall/

1.打包游戏前的配置

  1. 打开Player Settings (菜单: Edit > Project Settings > Player).
  2. 在Resolution and Presentation下:
    • 确保 Run in Background 是勾选上的.
    • 确保  Display Resolution Dialog 设置成 Disabled.
  3. 打开 Build Settings 窗口(菜单:File > Build Settings).
  4. 选择 target platform.
  5. If any scenes are shown in the Scenes in Build list, make sure that the 3DBall Scene is the only one checked. (If the list is empty, than only the current scene is included in the build).
  6. Click Build:
    • In the File dialog, navigate to your ML-Agents directory.
    • Assign a file name and click Save.
    • (For Windows)With Unity 2018.1, it will ask you to select a folder instead of a file name. Create a subfolder within the ML-Agents folder and select that folder to build. In the following steps you will refer to this subfolder's name as env_name.

2.开启外部训练

打开Anaconda Prompt

输入

activate ml-agents
激活之前搭建好的环境

转到ml-agents目录下

输入

mlagents-learn ../config/trainer_config.yaml --env=3DBall --run-id=firstRun --train
--env=指的是你的游戏文件的路径,游戏程序不加后缀名
--run-id=是每次训练后打印的分割,可以自定义
--train告诉 learn.py 运行训练session(而不是inference会话)

图中已经开始训练了。博主的GPU是GTX950M的,支持GPU加速。如何是n卡是不能加速的,这时候只能用cpu跑了,这样会慢不少。

训练好之后就可以在当前目录找到models文件夹

图中的bytes就是训练好的模型

要想在unity中使用内部模式加载这个模型需要加上一个宏

ENABLE_TENSORFLOW

在playsetting中


使用ML-Agents Toolkit(0.5)训练游戏ai之游戏打包的更多相关文章

  1. 使用ML-Agents Toolkit(0.5)训练游戏ai之环境搭建

    ML-Agents toolkit目前已经更新到0.5版本了. 要想使用这个Unity插件训练人工智能需要如下软件 1.Anaconda指的是一个开源的Python发行版本,主要是让你的训练环境与其它 ...

  2. 游戏AI之初步介绍(0)

    目录 游戏AI是什么? 游戏AI和理论AI 智能的假象 (更新)游戏AI和机器学习 介绍一些游戏AI 4X游戏AI <求生之路>系列 角色扮演/沙盒游戏中的NPC 游戏AI 需要学些什么? ...

  3. 如何建立一个完整的游戏AI

    http://blog.friskit.me/2012/04/how-to-build-a-perfect-game-ai/ 人工智能(Artificial Intelligence)在游戏中使用已经 ...

  4. 王亮:游戏AI探索之旅——从alphago到moba游戏

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由云加社区技术沙龙 发表于云+社区专栏 演讲嘉宾:王亮,腾讯AI高级研究员.2013年加入腾讯,从事大数据预测以及游戏AI研发工作.目前 ...

  5. 微软发布ML.NET 1.0

    原文地址:https://devblogs.microsoft.com/dotnet/announcing-ml-net-1-0/ 我们很高兴地宣布今天发布ML.NET 1.0.  ML.NET是一个 ...

  6. 关于ML.NET v1.0 的发布说明

    今天,我们很高兴宣布发布 ML.NET 1.0.ML.NET 是一个免费的.跨平台的开源机器学习框架,旨在将机器学习(ML)的强大功能引入.NET 应用程序. ML.NET GitHub:https: ...

  7. 4、Cocos2dx 3.0三,找一个小游戏开发Hello World 分析

    尊重开发人员的劳动成果.转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/27186557 Hello World 分析 打开新 ...

  8. 关于ML.NET v1.0 RC的发布说明

    ML.NET是面向.NET开发人员的开源和跨平台机器学习框架(Windows,Linux,macOS).使用ML.NET,开发人员可以利用他们现有的工具和技能组,通过为情感分析,推荐,图像分类等常见场 ...

  9. 【Unity】1.0 第1章 Unity—3D游戏开发和虚拟现实应用开发的首选

    分类:Unity.C#.VS2015 创建日期:2016-03-23 一.简介 Unity是跨平台2D.3D游戏和虚拟现实高级应用程序的专业开发引擎,是由Unity Technologies公司研制的 ...

随机推荐

  1. C# System.Windows.Forms.WebBrowser中判断浏览器内核和版本

    参考 [完美]原生JS获取浏览器版本判断--支持Edge,IE,Chrome,Firefox,Opera,Safari,以及各种使用Chrome和IE混合内核的浏览器 利用js来判断 namespac ...

  2. 【码云周刊第 23 期】Web 高效开发必备的 PHP 框架(从这里学起)good

    码云项目推荐 1.项目名称:多功能 THinkPHP 开源框架 项目简介:使用 THinkPHP 开发项目的过程中把一些常用的功能或者第三方 sdk 整合好,开源供亲们参考,如 Auth 权限管理.支 ...

  3. WCF研究-前篇

    前篇 1.从SOA说起 2.什么是WCF 3.WCF通信模型 4.Endpoint与ABC以及元数据    1.SOA (Service Oriented  Architecture) Ø 一种组件架 ...

  4. 所有W版本的函数都在wchar.h文件(_wfopen),和stdlib.h文件(wcstombs),和stdio.h文件(vwprintf)

    C:\Qt\Qt5.6.2\Tools\mingw492_32\i686-w64-mingw32\include\wchar.h C:\Qt\Qt5.6.2\Tools\mingw492_32\i68 ...

  5. 发现 TSplitter 在嵌套时不好用, 索性写了个替代品(处理MouseDown,MouseMove,MouseUp,然后设定控件的Left值就可以了)

    代替 TSplitter 的 TDirPanel 类: unit DirPanel; interface uses   Classes, Controls, Forms, ExtCtrls; type ...

  6. 深入V8引擎-AST(2)

    先声明一下,这种长系列的大块头博客只能保证尽可能的深入到每一行源码,有些代码我不乐意深究就写个注释说明一下作用.另外,由于本地整理的比较好,博客就随心写了. 整个Compile过程目前只看到asmjs ...

  7. spring源码深度解析— IOC 之 容器的基本实现

    概述 上一篇我们搭建完Spring源码阅读环境,spring源码深度解析—Spring的整体架构和环境搭建 这篇我们开始真正的阅读Spring的源码,分析spring的源码之前我们先来简单回顾下spr ...

  8. Spark学习之路(十二)—— Spark SQL JOIN操作

    一. 数据准备 本文主要介绍Spark SQL的多表连接,需要预先准备测试数据.分别创建员工和部门的Datafame,并注册为临时视图,代码如下: val spark = SparkSession.b ...

  9. HBase 学习之路(四)—— HBase集群环境配置

    一.集群规划 这里搭建一个3节点的HBase集群,其中三台主机上均为Regin Server.同时为了保证高可用,除了在hadoop001上部署主Master服务外,还在hadoop002上部署备用的 ...

  10. ASP.NET Core[源码分析篇] - 认证

    追本溯源,从使用开始 首先看一下我们的通常是如何使用微软自带的认证,一般在Startup里面配置我们所需的依赖认证服务,这里通过JWT的认证方式讲解 public void ConfigureServ ...