從如何建立一個Web應用程式到API與部署,獻給工程師與資料科學家的Flask入門書
本書說明如何使用Python的框架Flask進行Web應用程式的開發。從最簡單的迷你應用程式開始,逐步建立起諮詢表單,整合資料庫的應用,加入認證功能,逐步發展成一支功能完整的應用程式。你可以從這個過程當中學到如何使用Flask進行開發。
第二篇將會開發一個可以從識別照片中有哪些東西的物件偵測程式,並說明如何將其轉換為Web API。此外,還會將圖像識別的主題延伸到識別手寫字,並說明如何在程式開發中應用機器學習的技術。
【本書主要內容】
● Flask的基礎知識和開發
○ 建立查詢表格和資料庫應用程式
○ 建立認證功能
○ 建立物件偵測程式
● 建立和部署API
○ 將物體檢測應用程式轉換為網路API
○ 作為Web API對外發佈
● 機器學習API開發
○ 從分析程式碼開發機器學習API的過程和方法。
【誰適合閱讀本書】
.想要用Python開Web應用程式的工程師
.對機器學習感興趣的web開發人員
.只用過Python進行分析的人。
.希望能夠自行開發Web應用程式與API的資料科學家
【第0篇 緒論】
第0章 Flask 的概要與環境架設
0.1 Flask 的設計思維
0.2 為何要使用 Flask
0.3 Python 網路框架的比較
0.4 環境架設
【第1篇 Flask 入門】
第1章 建立最基礎的應用程式 - Flask 的基礎知識
1.1 MVT(Model、View、Template)模型
1.2 建立最基礎的應用程式
1.3 建立諮詢表單
1.4 Cookie
1.5 Session
1.6 Response
第2章 建立資料庫應用程式
2.1 目錄架構
2.2 啟動應用程式 - 使用 Blueprint
2.3 設置 SQLAlchemy
2,4 操作資料庫
2.5 建立使用資料庫的 CRUD 應用程式
2.6 模板的通用化與繼承
2.7 設定組態
第3章 建立驗證功能
3.1 準備建立的驗證功能與目錄架構
3.2 應用程式登錄驗證功能
3.3 建立註冊功能
3.4 建立登入功能
3.5 建立登出功能
【第2篇 Flask 實踐 1 - 開發物件偵測應用程式】
第4章 應用程式的規格與準備
4.1 物件偵測應用程式的規格
4.2 目錄架構
4.3 登錄物件偵測應用程式
第5章 建立圖片列表頁面
5.1 建立 UserImage 模型
5.2 建立圖片列表頁面的端點
5.3 建立圖片列表頁面的模板
5.4 SQLAlchemy 的表格連結與關聯性建立
第6章 建立註冊與登入頁面
6.1 修改註冊頁面的端點
6.2 建立通用標頭
6.3 修改註冊頁面的模板
6.4 修改登入頁面的端點
6.5 修改登入頁面的模板
6.6 確認註冊/登入頁面的運作情況
第7章 建立圖片上傳頁面
7.1 指定圖片上傳目的地
7.2 建立顯示圖片的端點
7.3 圖片列表頁面增加圖片上傳頁面的連結與圖片列表
7.4 建立圖片上傳頁面的表單類別
7.5 建立圖片上傳頁面的端點
7.6 建立圖片上傳頁面的模板
7.7 確認圖片上傳頁面的運作情況
第8章 建立物件偵測功能
8.1 建立 UserImageTags 模型
8.2 建立物件偵測功能的表單類別
8.3 設置物件偵測功能的程式庫
8.4 建立物件偵測功能的端點
8.5 在圖片列表頁面顯示標記訊息
8.6 在圖片列表頁面顯示【檢測】按鈕與標記訊息
8.7 確認物件偵測功能的運作情況
8.8 建立圖片刪除功能
第9章 建立搜尋功能
9.1 建立圖片搜尋功能的端點
9.2 建立圖片搜尋功能的模板
9.3 確認圖片搜尋功能的運作情況
第10章 建立自訂錯誤頁面
10.1 建立自訂錯誤頁面的端點
10.2 建立自訂錯誤頁面的模板
10.3 確認自訂錯誤頁面的顯示內容
第11章 建立單元測試
11.1 嘗試使用pytest
11.2 pytest 的 fixture 夾具
11.3 建立物件偵測應用程式的測試
【第3篇 Flask 實踐 2 - 建立/部署物件偵測功能的 API】
第12章 網路 API 的概要
12.1 World Wide Web(WWW)與 API 的意義
12.2 表示資源位置的網址功用
12.3 HTTP 方法的 CRUD 資源操作
第13章 物件偵測 API 的規格
13.1 物件偵測 API 的處理流程
13.2 安裝 PyTorch 與儲存已學習模型
第14章 實作物件偵測 API
14.1 物件偵測 API 的目錄架構與模組
14.2 準備實作
14.3 實作 1|編寫 API 的啟動程式碼
14.4 實作 2|編寫資料準備/前處理/後處理的程式碼
14.5 實作 3|編寫已學習模型的執行程式碼
14.6 實作 4|實作路由建置
第15章 部署物件偵測應用程式
15.1 Docker 的概要
15.2 Cloud Run 的概要
15.3 Dock 的使用準備
15.4 Cloud Run 的使用準備
15.5 步驟1|Google Cloud 的 configuration 初始設定
15.6 步驟2|製作 Dockerfile
15.7 步驟3|建置 Docker 映像檔
15.8 步驟4|將 Docker 映像檔加入 GCR
15.9 步驟5|部署至 Cloud Run
【第4篇 開發機器學習 API】
第16章 機器學習的概要
16.1 機器學習的相關概念
16.2 機器學習處理的資料
16.3 機器學習處理的任務
16.4 演算法的數學式和程式碼表達
16.5 機器學習利用的 Python 程式庫
16.6 以 Python 程式庫實踐邏輯迴歸
第17章 機器學習 API 的開發程序與實踐
17.1 選定最佳的機器學習演算法/模型
17.2 實作機器學習演算法/模型
17.3 機器學習 API 的規格
17.4 準備開發
17.5 實作程序 1|編寫分析腳本的產品程式碼
17.6 實作程序 2|建立產品程式碼的 API
17.7 確認正常運作的情況
17.8 機器學習 API 到機器學習的基礎設施、MLOps
索引
作者/監修者簡介