- 安装anaconda,并且选择Python3.6版本的。目前ml-agent只支持Python3.6版本的。
- 安装过程中勾选配置环境变量。如果最终没有配置好,可以手动配置如下:
C:\ProgramData\Anaconda3\Scripts C:\ProgramData\Anaconda3\Scripts\conda.exe C:\ProgramData\Anaconda3 C:\ProgramData\Anaconda3\python.exe
- 安装后,需要打开一次Anaconda Navigator,以完成安装。
- 通过在命令行输入:anaconda -V 可以查看到anaconda版本,就是安装成功。
- 打开Anaconda Prompt。创建一个新的工作环境。
conda create -n ml-agents python=3.6
- 通过如下命令,进入到刚刚新建的ml-agents环境。
activate ml-agents
- 安装机器学习工具Tensorflow
pip install tensorflow==1.7.1
- 克隆Unity的机器学习工程。
git clone https://github.com/Unity-Technologies/ml-agents.git
- 安装运行ML-Agents工具包需要的python包。
pip install mlagents pip install mlagents --no-cache--dir //忽略缓存,重新下载安装
- 如果要修改训练环境,还需要安装环境依赖。
//通过Anaconda Prompt,进入克隆下来文件的ml-agents文件夹 cd ml-agents-envs pip install -e . cd .. cd ml-agents pip install -e .
- 用Unity打开克隆文件中的UnitySDK文件夹。其中都是Unity提供好的工程。
- 设置发布平台为(PC, Mac and Linux Standalone)
- 选择Other Settings->Scription Runtime Version 为 .NET 4.6 Equivalent or .NET 4.x Equivalent
- 修改Jupyter notebook的启动目录。
- 打开cmd,运行
jupyter notebook --generate-config
生成.jupyter文件夹,其中包含jupyter的配置文件。 - 打开用户目录下.jupter,其中有个jupyter_notebook_config.py文件,打开文件,找到
c.NotebookApp.notebook_dir = ''
,去掉前面的注释符号’#’,修改为c.NotebookApp.notebook_dir = 'E:\\UnitySpace\\ml-agents'
,也就是我们克隆下来的工程文件夹。 - 但是有可能启动的文件夹仍然没有变化。找到Jupyter Notebook快捷方式,右键属性,删除“目标”中的“%USERPROFILE%”。
- 打开cmd,运行
- 例如,打开UnitySDK中的3DBall场景。找到Prefabs中的3DBall,直接对该预制体的修改可以应用到场景中所有它的实例身上。修改3DBall中的Agent的Behavior Name(例如:3DBall_001)。这将表示我们将要训练的一个新模型的名字。很重要!!!
- 与该名字对应的,还要通过Jupyter打开ml-agents/notebooks/getting-started.ipynb,修改
env_name = "../envs/3DBall_001"
- 还可以通过Jupyter打开ml-agents/config/trainer_config.yaml文件,修改其中的训练配置。包括训练方式,训练的步数等。
- 打开anaconda prompt;输入
activate ml-agents
进入到unity机器学习工作空间。 - 然后cd到克隆工程的文件夹中,
cd E:\UnitySpace\ml-agents
。 - 然后输入开始训练的命令,
mlagents-learn config/trainer_config.yaml --run-id=3DBall_001 --train
注意修改id后的名字。 - 等待出现下面一句话。就可以开始运行Unity了。
- 点击运行按钮后,就可以看到训练正在进行。
- 通过TensorBoard以图表的方式观察训练的过程。
- 另外启动一个anaconda prompt窗口
activate ml-agents
cd E:\UnitySpace\ml-agents
tensorboard --logdir=summaries --port=6006
- 得到如下信息:
- 打开浏览器,输入上图红线标记的链接,就能观察到图表。
- 等待训练完全结束,自动退出后。就能在ml-agents/models文件夹中找到一个3DBall_001-0的文件夹,其中保存着训练好的模型.nn文件。
- 将训练好的.nn文件,移动到3DBall项目下的TFModels文件夹中。
- 然后,再将TFModels文件夹中的该文件,拖动到Prefabs/3DBall/Agent中的Model属性中。
- 保存,运行。
最新版Unity ML-Agent使用方法
最新推荐文章于 2024-02-13 22:18:32 发布