昨天我们成功将模型部署到 Google AI Platform 上,并且也处理了授权的问题,最後让 App 成功的运作了,今天我们要完成最後一个步骤 — 部署 app 到 App Engine,也就是完成工作流程中剩下的部分:
最後我们就能像下图一样透过网址来存取 App 进行预测了:
今天的内容会进展得比较快,要好好跟上哦:
make gcloud-deploy
,然後等个几分钟。然後 App 就部署成功了,可以到 GCP 的主控台,应该可以看到资源的部分出现了 App Engine:
哈哈,到底发生了什麽事,其实当我们执行 make gcloud-deploy
会触发 Makefile (ironbird/Makefile) 里的 gcloud-deploy
指令,而它实际上会执行:
gcloud app deploy app.yaml
因为前面我们已经安装好了 Google Cloud SDK,所以我们可以使用 gcloud
的功能,而上面的指令的意思是请 Google Cloud 把该做的事情做一做,让我们本机端的 App (ironbird/app.py
) 可以在 App Engine 上执行。
而 gcloud app deploy
实际上会完成以下几件事:
可以把 Docker 容器想像成一个生态瓶,里面包含了支援 App 生存的生态系,而带着这个容器就能让我们的 App 在任何能使用的 Docker 的地方跑起来。
把它想成容器的快照版本,也就是拿到哪都不会改变。
app.yaml
其实只有两行:
runtime: custom # 想要执行我们自订的 Docker 容器
env: flex # 想要 App Engine 有弹性一点,并安装我们需要的函式库 (requirement.txt)
如果今天的步骤都顺利完成的话,我们就能在以下网址使用 App 了:
http://<YOUR_PROJECT_NAME>.ue.r.appspot.com/
在 ironbird 资料夹 中有数个档案,这里将它们的功用整理如下:
.dockerignore
:在创造 Docker 容器时要忽略的档案与资料夹 (跟 .gitignore
在 commit 时的功用类似)。Dockerfile
:一连串关於我们的 Docker 容器该怎麽建立的指示。Makefile
:让我们可以使用像是 make gcloud-deploy
等简单的指令来执行更复杂的指令 (请参考 What is a Makefile and how does it work?)。SessionState.py
:让我们的 Streamlit app 保持状态 (不要按个钮就删掉一切) 的 Python 脚本 (请参考 Streamlit 论坛)。app.py
:我们使用 Streamlit 建立的 Ironbird App。app.yaml
:一连串关於当我们部署 App 时该建立哪种 App Engine 实例的指示。requirement.txt
:所有执行 app.py
所需的函式库。utils.py
:app.py
会使用的帮手函式。(避免 App 变得太大)
<<: [从0到1] C#小乳牛 练成基础程序逻辑 Day 29 - 加速器 中/英打typing games 六大推荐
>>: [DAY 29]用GooseMod轻松改变discord主题
MyBatis设定 ...
各位如果没有关APP通知的时候,有时候我们就会收到来自APP的关怀,譬如说是有优惠活动,或是您的吴...
程序语言的种类成千上万,决定好要学哪个了吗? 在FB程序语言社团里,几乎每天都会有人提问:「我该从...
今天我们就把整个服务完成吧! 不知道大家顺利地收到通知了没? 我已经顺利收到罗~ 咦咦咦?发生什麽事...
cin成员函数 除了使用setw()函数设定输出格式外,还可用cin成员函数更改cin的预设输入格式...