Unity探路营

Unity OTC参赛全纪录 | 1.搭建环境

2019-02-28  本文已影响9人  洪智

你好,我是郑洪智,你的技术探路者。

洪流学堂公众号回复OTC,关注比赛全纪录。

一直对AI很感兴趣,去年就参加了Unity的ML-Agents Challenge,今年Unity的AI比赛再次升级,手痒痒,就召集了一个小伙伴和我一起参加。

这个比赛很简单,就是用AI训练一个模型,来玩一个Unity出的爬塔的游戏,爬的越高得分越高。

今天先来熟悉下整个比赛,将环境搭建好。

比赛主页链接:
https://www.aicrowd.com/challenges/unity-obstacle-tower-challenge

整个环境的搭建都在这个Git库中:
https://github.com/Unity-Technologies/obstacle-tower-challenge

下面我们开始一步一步搭建这个环境。

1.clone版本库

使用git clone这个版本库:
https://github.com/Unity-Technologies/obstacle-tower-challenge

2. 安装python依赖包

在版本库的目录中,执行:

pip install -r requirements.txt

这台机子之前换了硬盘,python竟然没了,重装python。

python安装

开始安装了3.7.2,鄙人喜欢用最新的,安装前就隐隐的不安,感觉要出事,果然安装requirements的时候提示:

mlagents-envs requires Python '>=3.5,<=3.7' but the running Python is 3.7.2

再回去下载3.6的版本,再执行:

pip install -r requirements.txt

一定要安装3.5或3.6的python

3. 下载游戏程序

https://github.com/Unity-Technologies/obstacle-tower-env#download-the-environment

将游戏程序放在目录里,目录结构是这样的(windows):

│  .gitignore
│  aicrowd.json
│  apt.txt
│  banner.png
│  build.sh
│  env.sh
│  LICENSE
│  README.md
│  requirements.txt
│  run.py
│  run.sh
│              
└─ObstacleTower
    │  obstacletower.exe
    │  UnityCrashHandler64.exe
    │  UnityPlayer.dll
    │  
    ├─MonoBleedingEdge           
    └─ObstacleTower_Data

4.直接运行

python run.py

运行没啥效果,因为还没写任何训练的代码:

还需要读读论文,看看整个系统应该使用什么样的模型比较好。

5.注册GCP(略过,明天再搞)

Unity在这里给Google Cloud Platform打了个广告,可以在谷歌云平台上训练模型,初始有$300免费的额度,注册的过程中遇到了一些小问题,先略过,后面再回来看问题是什么。

6.如何提交成绩

具体文档在这
https://github.com/Unity-Technologies/obstacle-tower-challenge#submission
,我把过程再记录一下。

1)创建版本库

需要在https://gitlab.aicrowd.com上面创建一个私有版本库。

如果你是使用HTTP访问,需要创建一个Token来访问,不能直接用账号密码。创建Token的时候需要注意一定要选择api这一项,否则后面会出现无法上传代码的问题(别问我怎么知道,我也是刚从坑里爬出来):

创建的Token一定要记下来,因为忘记了只能重新创建,无法找回来了。

2)版本库结构

上传的版本库至少要包含两个文件,一个是:

aicrowd.json

{
    "challenge_id" : "unity-obstacle-tower-challenge-2019",
    "grader_id": "unity-obstacle-tower-challenge-2019",
    "authors" : ["aicrowd-user"],
    "description" : "Random Obstacle Tower agent",
    "gpu": false
}

其中authors表示作者,也就是参赛者;
gpu表示是否需要gpu参与模型的评估。

还有一个是

代码入口

评估的时候会使用根目录的run.sh文件来执行代码,所以根目录一定要有一个run.sh文件。

3)上传代码

正常commit,push代码即可

但是如果需要参与模型评估的话,需要push tag来触发评估。

git tag -am "v0.1" v0.1
git push origin master
git push origin v0.1

push tag后你可以在这个地址看到评估的结果:
gitlab.aicrowd.com/<YOUR_AICROWD_USER_NAME>/obstacle-tower-challenge/issues

总结

今天将整个环境搭建好了,流程大概梳理清楚了,下一步就得看论文了。

洪流学堂公众号回复OTC,关注比赛全纪录。

上一篇下一篇

猜你喜欢

热点阅读