ml-agent:Win10下环境安装

时间:2021-08-16 04:09:52

这是我看到的最全面最详细的ml-agent讲解。(只用于学习与知识分享,如有侵权,联系删除。谢谢!)

来自CodeGize的个人博客 。源链接:https://www.cnblogs.com/CodeGize/p/7674281.html#undefined

个人知识补充:(安装时如有提示pip版本低请按照以下步骤解决,没有报错可忽略)

  在 “输入命令安装Tensorflow 输入  pip install –U tensorflow”  步骤时,如果你的pip版本不是最新,就会报错,没办法必须是最新版本。

  去pip官网下载最新版解压到自定义目录即可,从开始菜单中,打开Anacoda Prompt,进入到解压后的  pip-10.0.1(我用到的版本)目录下

  (同磁盘目录直接 cd 所在目录 即可;非同磁盘,C:或D:(所在磁盘)进入磁盘之后cd)。

  进入目录之后, 输入 python setup.py install 命令进行安装。安装之后继续安装Tensorflow即可。

进入正文:

简介

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位
  • jupyter 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

ml-agent:Win10下环境安装

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

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

ml-agent:Win10下环境安装

安装Tensorflow及其依赖库

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

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

  activate tensorflow

ml-agent:Win10下环境安装

输入命令安装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中获取数据。

ml-agent:Win10下环境安装

菜单中选择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

ml-agent:Win10下环境安装

运行Jupyter Notebook

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

jupyter notebook

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

ml-agent:Win10下环境安装

ml-agent:Win10下环境安装

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

ml-agent:Win10下环境安装

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

ml-agent:Win10下环境安装

总结

注意几个点

  • 虽然很多文章表明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是我创建的环境名)