iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 25
7
影片教學

全民瘋AI系列系列 第 25

[Day 25] 使用Python Flask架設API吧!

  • 分享至 

  • xImage
  •  

使用Python Flask架設API吧!

Yes

這系列的 AI 文章快進入尾聲了,因此打算利用剩下來時間講解應用端的部分。同時也趁這幾次連假規劃了一些教學,希望接下來的內容能幫助到大家~

雙十1010連假愉快/images/emoticon/emoticon42.gif

今日學習目標

  • API 觀念講解
    • 什麼是 API? RESTful API? HTTP Request 方法?
  • 手把手實作一個花朵分類器 API
    • 透過 Python Flask 建置一個後端預測模型 API

很多人可能會有疑問模型訓練好然後呢? 昨天已經教各位如何儲存並匯出自己的模型了,今天就來教各位使用 Python Flask 架設一個鳶尾花朵分類器的 API 吧!

所謂的 API 就是屬於客戶端與伺服端的溝通橋樑,它提供一個端口能夠做資料交換。透過網路協定 HTTP Request 不同的方法,可以實現不同的資料交換請求方式。

另外各位可能也有聽過一個名詞叫做 RESTful API。這邊就不細講了,有興趣的朋友可以參考我在2018 iT 邦幫忙鐵人賽的從無到有,打造一個漂亮乾淨俐落的 RESTful API 的系列文章 [Day-7] RESTful API與MVC名詞介紹 同時那個系列是用 Node.js 建置一個後端 API 教學。

測試API的好工具Postman

當你寫好一支 API 時要馬上測試看看你寫的程式邏輯是否正確,就可以使用 Postman 這個軟體來做 API 測試。詳細內容可以參考之前的鐵人賽文章[Day-20] 測試API的好工具

本系列教學簡報 PDF & Code 都可以從我的 GitHub 取得!


上一篇
[Day 24] 儲存訓練好的模型
下一篇
[Day 26] 使用Heroku部署機器學習API
系列文
全民瘋AI系列31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 則留言

1
Ascetic
iT邦新手 5 級 ‧ 2021-06-15 14:22:09

請問?
我跑出這樣的資訊 是權限的問題嗎?
https://ithelp.ithome.com.tw/upload/images/20210615/20134897ygaD63z4ko.png

看更多先前的回應...收起先前的回應...
10程式中 iT邦研究生 4 級 ‧ 2021-06-15 14:28:35 檢舉

資訊量太少有點難幫你除錯,重點在於 405 Error。

  1. 用什麼框架架設API
  2. 是否有套件衝突
  3. POST GET有無正確設定

以下是網路上參考到的文章不知道是不是可以解決你的問題
https://dotblogs.com.tw/cotton/2018/03/01/132336

Ascetic iT邦新手 5 級 ‧ 2021-06-16 10:02:41 檢舉

我程式碼如下
https://ithelp.ithome.com.tw/upload/images/20210616/20134897Os04uTAxnZ.png

index跑出這樣
https://ithelp.ithome.com.tw/upload/images/20210616/20134897FTfj29VSl3.png

/predict 跑出這樣

https://ithelp.ithome.com.tw/upload/images/20210616/20134897wrvowUvym1.png

可以幫忙解惑一下嗎
感恩感恩~~!!

Ascetic iT邦新手 5 級 ‧ 2021-06-16 10:10:47 檢舉

沒事了 我get 沒有換成post ^^|||

10程式中 iT邦研究生 4 級 ‧ 2021-06-16 16:31:46 檢舉

工程師常會犯的毛病XD

0
Angushsu666
iT邦新手 5 級 ‧ 2022-07-02 00:18:38

想請問這個要怎麼解決
https://ithelp.ithome.com.tw/upload/images/20220702/20138090YRnX1SmlbD.png

10程式中 iT邦研究生 4 級 ‧ 2022-07-02 09:07:58 檢舉

Angushsu666 您可以參考這這裡。試著將模型重新輸出取代 model 資料夾中的 xgboost-iris.pgz

謝謝您,很有趣~ 解決問題了。

我要留言

立即登入留言