Unity OTC参赛全纪录 | 2.GCP搭建

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

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

Unity官方推荐了GCP(Google Cloud Platform,谷歌云平台)来训练模型,新注册会有$300的免费额度。昨天搞的过程中遇到了点问题,就先跳过了,今天终于把所有的坑给填平了。

GCP的部署过程主要按照文档一步一步来:
https://github.com/Unity-Technologies/obstacle-tower-env/blob/master/examples/gcp_training.md

下面主要把主要的坑记录一下。

0. 注册GCP账号

注册自行注册,没什么好说的。如果已经有google账号了就可以直接用。

需要用到支持外币的信用卡。

不过我中间遇到一个问题,google让我验证身份。多了一步验证的环节,选地区里面没有中国大陆,选了香港,传了身份证和信用卡的图片,大概过了一个小时审核通过。

1. 打开市场

2. 搜索Deep Learning VM

点击启动:

3. 配置VM

有两个需要注意的地方:

  1. GPU按照Unity文档的推荐,选择T4/P4就够用,关键是费用低。
  2. 下面要勾选上Install NVIDIA GPU driver automatically on first startup?

其他看图中保持默认即可。

接下来我这就没那么顺利了,部署的时候报错,创建了几次都是:
“tensorflow”存在资源警告 tensorflow-1-vm: {"ResourceType":"compute.v1.instance","ResourceErrorCode":"403","ResourceErrorMessage":{"code":403,"errors":[{"domain":"usageLimits","message":"Quota 'GPUS_ALL_REGIONS' exceeded. Limit: 0.0 globally.","reason":"quotaExceeded"}],"message":"Quota 'GPUS_ALL_REGIONS' exceeded. Limit: 0.0 globally.","statusMessage":"Forbidden","requestPath":"https://www.googleapis.com/compute/v1/projects/zhzytb5/zones/us-west1-b/instances","httpMethod":"POST"}}

看了GCP的很多文档,才发现免费试用版(free-tier)不支持使用GPU,可以在GCP console首页右上角点击upgrade进行升级。

文档如下:
https://cloud.google.com/free/docs/gcp-free-tier#how-to-upgrade

看完文档后发现我早就手贱升级过了:

  • 不升级之前,额度用超了也不会自动收费,但是有些资源不能使用
  • 升级之后,资源用超了会自动从信用卡扣费

然后才发现是配额的问题,我的账户上没有全局GPU配额,也就是说创建虚拟机不能有GPU。按文档来说升级完账户默认会有一个GPU配额,但是不知道为什么我的账户没有。

打开配额的页面,按如下图所示申请配额,申请完需要等待人工审核:

接下来就是等待google的邮件通知。

大概过了一个多小时,收到邮件说配额已经给了,咱们接着搞。

还是按之前的老方法创建VM,这次没啥大问题了,有个警告,我们先忽略它,看看后面会不会有啥问题。

4. SSH它!

点击下图中SSH,就可以通过web ssh连接到这台服务器。

看见这个界面了,不容易:

接下来继续按照Unity的文档进行操作:

5. 安装XServer

链接是:
https://github.com/Unity-Technologies/obstacle-tower-env/blob/master/examples/gcp_training.md#set-up-xserver

按照文档一路通畅,但好事不长久,执行下面两行代码时出错了:

sudo /usr/bin/X :0 &
export DISPLAY=:0

报错主要是:

Fatal server error:
(EE) no screens found(EE) 

如下图:


查阅github issues,确实有一个同样的issue,但是没有答案。
https://github.com/Unity-Technologies/obstacle-tower-env/issues/51

只能回头重新梳理一下所有执行过的命令。果然!还是不好使!

开始查看所有的log,搜索aicroud和github issues都没有找到答案,只能根据报错google。报错最核心的一句是:NVIDIA(GPU-0): UseDisplayDevice "None" is not supported with GRID

果不其然,找到了类似的问题,经过试验后,这也正是答案:
链接:https://github.com/agisoft-llc/cloud-scripts/blob/master/fix_xorg_conf.py

解决办法:删除或者使用#注释掉/etc/X11/xorg.conf文件的ServerLayout 和 Screen 两个部分。

然后再执行命令就可以了,包括后续的测试命令,如下图所示:

然后接着按文档来,一路顺利,又遇到一个报错:
ImportError: No module named 'atari_py'

这个一看报错是python少了一个包,按理说不应该啊,往上翻了翻文档,原来是我选择性忽略了中间一步。。。

sudo apt update && sudo apt install cmake zlib1g-dev
pip3 install absl-py atari-py gin-config gym opencv-python

如果你也遇到了问题,你需要首先回去看看是不是选择性忽略了哪一步。如果确定没有再去寻找其他答案。

经过我们坚持不懈地努力,终于跑起来了:

记住按下Ctrl + A, Ctrl +D可以从Screen里面出来,就可以退出terminal,并且程序还在后台运行。

6. 访问tensorboard

下面是如何访问tensorboard,为了一劳永逸,直接在GCP中修改了防火墙,添加了一条防火墙规则,是这个样子。

添加防火墙规则的时候注意那个目标标记deeplearning-vm,这个是咋来的呢?

image.png

点开你的虚拟机就能看到:

image.png

添加过后,在terminal里面执行:

tensorboard --logdir=/tmp/dopamine

就可以通过虚拟机的公网ip访问tensorboard了。

记录的间隔有些久,我这个大概训练了2个小时才这样,好像是2个小时才记录一次数据。

总结

今天将整个GCP环境搭建好了,不过网络的原因,在GCP上迭代太慢了,还是需要在本地把模型测试个7788,昨天说今天要看论文也还没有看完,要继续加油了。

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,843评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,538评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,187评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,264评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,289评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,231评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,116评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,945评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,367评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,581评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,754评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,458评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,068评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,692评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,842评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,797评论 2 369
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,654评论 2 354

推荐阅读更多精彩内容