美文网首页Unity探路营
Unity OTC参赛全纪录 | 1.搭建环境

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

作者: 洪智 | 来源:发表于2019-02-28 10:07 被阅读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,关注比赛全纪录。

    相关文章

      网友评论

        本文标题:Unity OTC参赛全纪录 | 1.搭建环境

        本文链接:https://www.haomeiwen.com/subject/odqfuqtx.html