15
2017
10

Win10下Unity人工智能代理ml_agent环境安装

简介

        AI人工智能,更准确地说机器学习(machine learning)最近一年非常火热。在最近一段时间,Unity也发布了一个机器学习的工具,叫做ml-agent。

        英文介绍如下:

https://blogs.unity3d.com/cn/2017/09/19/introducing-unity-machine-learning-agents/

        中文介绍如下:

http://forum.china.unity3d.com/thread-27837-1-1.html

        工程在Github上的地址如下

https://github.com/Unity-Technologies/ml-agents

        从代码结构上看,ml-agent实现了前端用unity做表现,后端用Phython进行人工智能演算的系统。

搭建环境

主要环境

官方推荐环境如下

  • Phython2/3 64位

  • ljupyter notebook

  • TensorFlow (1.0+) (Training)

  • Visual Studio 2017

  • Unity3d 2017

隆ml-agent代码库

        从Github网站上克隆(下载)ml-agent,代码,放在任意位置下。

安装Unity2017.2

        从Unity官网下载Unity2017.2,安装。

        下载地址https://store.unity.com/cn/download?ref=personal

安装VS2017

        从微软官网https://www.visualstudio.com/zh-hans/downloads/下载,运行后选择需要的模块。这边虽然有提供python的相关插件,但是我们选择后面单独安装。

安装Anaconda

        从Anaconda官网安装Anaconda5.0.0

2017101501

        下载地址https://www.anaconda.com/download/#windows

        安装后从开始菜单打开Anaconda Navigator,在左侧选择Environments。在下方菜单中点击Create创建一个环境,取名为tensorflow,python版本选择为3.6。等待环境创建完成。

2017101502

安装Tensorflow及其依赖库

        从开始菜单中,打开Anacoda Prompt。

        首先激活刚刚创建的环境,输入命令

activate tensorflow

2017101503

        输入命令安装Tensorflow

pip install –U tensorflow

        等待一段时间直到安装完成。至此完成了Tensorflow最新版本的安装。(目前是1.3.0版本)

        后面还要输入命令,所以暂时不要关闭窗口

安装ml-agent依赖库

        完成Tensorflow安装后,继续在Anacoda Prompt中输入命令切换到ml-agent所在的目录中python目录的位置。比如ml-agent安装目录为D:\Git\ml-agent,则输入

cd D:\Git\ml-agent\python

        如果你的Anaconda不是安装在ml-agent目录相同的磁盘,那么需要切换到ml-agen所在的磁盘。比如这里Anaconda的安装目录为C盘,ml-agent安装目录为D:\ml-agent,则需要切换到D盘,输入

D:

        然后开始安装Demo所需的环境,输入命令

pip install .

        注意,注意不要遗漏最后的点号。等待安装完成即可。此时依然不用关闭这个窗口

运行

编译Unity程序

        Unity的ml-agent提供了多干的demo。这里尝试运行3dball这个demo。

        使用Unity2017打开ml-agent下unity-environment文件夹。

        打开Assets\ML-Agents\Examples\3DBall目录下的scene文件。在场景中选择Ball3DAcademy下的Ball3DBrain物体,将TypeOfBrain修改为External,表示从Tensorflow中获取数据。

2017101504

        菜单中选择File->Build Setting,添加当前所在场景。(可以勾选Development Build以便查看输出)

        点击PlayerSeting,检查设置

        Resolution and Presentation -> 勾选Run in Background

        Resolution and Presentation -> Display Resolution Dialog设置为disable

        回到Build Setting面板,点击Build,编译到ml-agent的python目录中。名为3dball.exe

2017101505

运行Jupyter Notebook

        回到Anacoda Prompt命令窗口。注意一定要切换到ml-agent中python所在的目录。输入

jupyter notebook

        运行之后,一方面会出现一个命令行窗口,另一方面会同时打开一个网页

2017101506

2017101507

        点击网页中的PPO.ipynb。修改其中env_name的值为刚刚编译出来的exe名字。注意不要加exe。然后在菜单上选择Cell->RunAll

2017101508

        运行后,可以看到刚刚编译出来的exe被运行起来

2017101509

总结

        注意几个点

  • 虽然很多文章表明tensorflow用python3.5比较好,但是没有深入研究到底有什么影响。

  • 由于Anaconda使用的5.0.0版本,所以默认使用的是python3.6的版本。在这样的情况下,如果创建python3.5的环境,安装tensorflow1.2,会出现运行的时候找不到tensorflow的问题。而如果使用python3.6的环境,但是安装tensorflow1.2,会出现tensorflow. TensorLayer找不到的问题。这些问题花了好多时间排查,需要注意所以最终这里使用的是Anaconda5.0.0,python3.6以及tensorflow1.3

  • 安装依赖库的时候需要注意,一定要切换好环境。否则很可能安装到不同的环境下。这里安装前一定会输入activate tensorflow命令(tensorflow是我创建的环境名)

« 上一篇下一篇 »