[Day 27] 使用GCP部署机器学习API

使用GCP部署机器学习API

此范例使用鸢尾花朵资料集进行 XGBoost 分类器模型训练。将模型储存起来,并使用 Flask 建置 API 介面提供输入值预测。最後并部署到 Google Cloud Platform。

今日学习目标

  • 动手部署自己的机器学习 API
    • 使用 GCP 免费云端平台部署应用程序

GCP 设定

建立一个虚拟机器

每个Google帐号都有免费一年300美金额度的试用,启用後首先一开始点选 Compute Enging 并新增建立 VM 执行个体。

点我进入 GCP 控制台。

新建一个虚拟机需要注意以下几个事情:

  1. 主机区域 (通常主机离你越远相对的费用就会比较便宜,相对的速度会比较慢)
  2. 机器规格设定 (各位可以依据需求配置你的虚拟机)
  3. 系统 (今天的范例使用 Ubuntu18.04 LTS)
  4. 防火墙 (开启 HTTP 流量,也就是 80 PORT 被允许存取)


SSH 进入虚拟主机

边教学使用 Google 浏览器开启 SSH 进入虚拟机的方式,一方面也比较简单,若你是长期使用的资深的玩家可以考虑利用金钥的方式直接从本机电脑的终端机进行连线存取云端服务器的方式。


安装 Python

要在 Linux 环境中安装 Python 3,请安装相对应的套件。python3python3-devpython3-venv

sudo apt update
sudo apt install python3 python3-dev python3-venv build-essential

输入以下指令安装 Python 以及 PIP 管理工具。

wget https://bootstrap.pypa.io/get-pip.py
sudo python3 get-pip.py

执行 API

你可以直接 Fork 此专案到你自己的 GitHub 帐号中,或是直接 clone 专案到你的 GCP 中。

git clone https://github.com/1010code/Flask-API-example-with-ML-model-GCP.git
cd Flask-API-example-with-ML-model-GCP

安装必要套件

使用 pip3 指令安装必要的套件。

pip3 install -r requirements.txt

执行

使用 python3 指令且在 sudo 环境下执行程序,即可监听 80 PORT。

sudo python3 run.py

补充

大家在本机开发时执行 Python 程序应该都是使用 python xxx.py 的方式执行,但我们部署到云端服务器时如果使用此方法应该会发现当你关闭终端机时你的程序就会结束服务。因此在部署时候建议各位要使用 Gunicorn 将 API 背景执行。

下面是我之前拍摄的 GCP 系列影片,可以给各位参考哦!

本系列教学简报 PDF & Code 都可以从我的 GitHub 取得!


<<:  输入群组组件 - 金鱼都能懂的Bootstrap5网页框架开发入门

>>:  Burp Suite 已经提供给你了最便利的 C2 Server

[Day:30] 钥匙好多不知道选哪把(IOS凭证该如何管理?)

当年不懂事,看网路的教学就乱作一通,看看这可怕的凭证数量 以下解释关键的凭证申请与用途 01 登入 ...

Day 20 - OR、AND 的活用方式与短路取值

前言 今天来介绍我个人很常用的小撇步,关於 OR (||) 与 AND (&&),除...

范围和裁缝(Scoping and Tailoring)

**范围界定(Scoping)**是指检查基准安全控制并仅选择适用於您要保护的IT系统的那些控制。例...

实战练习 - 使用 RxJS 实作 Flux Pattern

使用 React 作为前端架构的朋友对於 Flux 应该都不陌生,React 也内建了 Flux 让...

Day 22 透过程序快速布署云上资源

过往在进行云端部署时,有时候需要复制出多套一样的基础架构,例如包含VPC、VM、LoadBalan...