注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計Python FastAPI構(gòu)建數(shù)據(jù)科學(xué)應(yīng)用Building Data Science Appl

Python FastAPI構(gòu)建數(shù)據(jù)科學(xué)應(yīng)用Building Data Science Appl

Python FastAPI構(gòu)建數(shù)據(jù)科學(xué)應(yīng)用Building Data Science Appl

定 價:¥89.00

作 者: [法] Francois Voron 著,張晨曦 譯
出版社: 北京航空航天大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787512437814 出版時間: 2022-05-01 包裝: 平裝
開本: 16開 頁數(shù): 304 字?jǐn)?shù):  

內(nèi)容簡介

  本書從FastAPI框架的基礎(chǔ)知識和相關(guān)的Python編程概念開始講解。然后,您將了解該框架的所有方面知識,包括其強(qiáng)大的依賴注入系統(tǒng),以及如何使用它與數(shù)據(jù)庫通信、實(shí)現(xiàn)身份驗(yàn)證和集成機(jī)器學(xué)習(xí)模型等。之后,您將學(xué)習(xí)與測試和部署相關(guān)的最佳實(shí)踐,以運(yùn)行高質(zhì)量和健壯的應(yīng)用程序。最后,您還將學(xué)習(xí)Python數(shù)據(jù)科學(xué)軟件包的應(yīng)用生態(tài)系統(tǒng)。隨著學(xué)習(xí)的深入,您將學(xué)習(xí)如何使用FastAPI在Python中構(gòu)建數(shù)據(jù)科學(xué)應(yīng)用程序。本書還演示了如何開發(fā)快速高效的機(jī)器學(xué)習(xí)預(yù)測后端,并對其進(jìn)行測試,以獲得最佳性能。最后,您將看到如何使用WebSocket和Web瀏覽器作為客戶端實(shí)現(xiàn)人臉實(shí)時檢測。在本書的最后,您不僅學(xué)習(xí)如何在數(shù)據(jù)科學(xué)項(xiàng)目中實(shí)現(xiàn)Python,還學(xué)習(xí)如何在FastAPI的幫助下維護(hù)和設(shè)計它們,以滿足高編程標(biāo)準(zhǔn)。 本書面向?qū)astAPI及其生態(tài)系統(tǒng)感興趣的數(shù)據(jù)科學(xué)家和軟件開發(fā)人員,并以此構(gòu)建數(shù)據(jù)科學(xué)應(yīng)用程序。讀者需要具備數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)概念的基本知識,以及了解如何在Python中應(yīng)用它們。

作者簡介

  Francois Voro畢業(yè)于法國圣埃蒂安大學(xué)和西班牙阿利坎特大學(xué),獲得機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘碩士學(xué)位。François是一名全棧web開發(fā)人員和數(shù)據(jù)科學(xué)家,在SaaS行業(yè)有卓越的成績,特別實(shí)在Python后端和REST API領(lǐng)域。他還是FastAPI Users(FastAPI身份驗(yàn)證庫)的創(chuàng)建者和維護(hù)者,也是FastAPI社區(qū)的頂級專家之一。

圖書目錄

第1章 快速入門:基礎(chǔ)知識 / 1
第一部分Python和FastAPI 概述
第1章Python開發(fā)環(huán)境設(shè)置3
1.1技術(shù)要求3
1.2使用pyenv安裝Python發(fā)行版3
1.3創(chuàng)建Python虛擬環(huán)境5
1.4使用pip安裝Python包7
1.5安裝HTTPie命令行實(shí)用程序7
1.6總結(jié)9
第2章Python 編程特性10
2.1技術(shù)要求10
2.2Python編程基礎(chǔ)10
2.2.1運(yùn)行Python腳本11
2.2.2縮進(jìn)問題12
2.2.3使用內(nèi)置的類型13
2.2.4使用數(shù)據(jù)結(jié)構(gòu):列表、元組、字典和集合13
2.2.5執(zhí)行布爾邏輯并檢查是否存在17
2.2.6程序控制流19
2.2.7定義函數(shù)21
2.2.8編寫及使用包和模塊23
2.3列表解析和生成器25
2.3.1列表解析25
2.3.2生成器27
2.4編寫面向?qū)ο蟮某绦?8
2.4.1定義類29
2.4.2實(shí)現(xiàn)魔法函數(shù)30
2.4.3重用邏輯并使用繼承避免重復(fù)33
2.5使用mypy進(jìn)行類型提示和類型檢查36
2.5.1開始36
2.5.2typing模塊37
2.5.3可調(diào)用的類型函數(shù)簽名39
2.5.4Ang和cast40
2.6異步I/O41
2.7總結(jié)44
第3章使用FastAPI開發(fā)RESTful API45
3.1技術(shù)要求45
3.2創(chuàng)建第一個端點(diǎn)并在本地運(yùn)行45
3.3處理請求參數(shù)48
3.3.1路徑參數(shù)48
3.3.2查詢參數(shù)53
3.3.3主體數(shù)據(jù)54
3.3.4表單數(shù)據(jù)和文件上傳58
3.3.5Header和Cookie62
3.3.6請求對象64
3.4自定義響應(yīng)65
3.4.1路徑操作參數(shù)65
3.4.2響應(yīng)參數(shù)69
3.4.3引發(fā)HTTP錯誤73
3.4.4構(gòu)建自定義響應(yīng)75
3.5使用多個路由器構(gòu)建一個更大的項(xiàng)目78
3.6總結(jié)81
目錄Python FastAPI構(gòu)建數(shù)據(jù)科學(xué)應(yīng)用第4章在FastAPI中管理Pydantic數(shù)據(jù)模型82
4.1技術(shù)要求82
4.2使用Pydantic定義模型及字段類型82
4.2.1標(biāo)準(zhǔn)字段類型83
4.2.2可選字段和默認(rèn)值87
4.2.3字段驗(yàn)證88
4.2.4動態(tài)默認(rèn)值89
4.2.5使用Pydantic類型驗(yàn)證郵件地址和URL90
4.3使用類繼承創(chuàng)建模型變量92
4.4使用Pydantic添加自定義數(shù)據(jù)驗(yàn)證94
4.4.1在字段級別上應(yīng)用驗(yàn)證94
4.4.2在對象級別上應(yīng)用驗(yàn)證95
4.4.3在Pydantic解析之前應(yīng)用驗(yàn)證96
4.5使用Pydantic對象96
4.5.1將對象轉(zhuǎn)換為字典97
4.5.2從子類對象創(chuàng)建實(shí)例98
4.5.3使用部分實(shí)例更新一個實(shí)例100
4.6總結(jié)101
第5章FastAPI中的依賴注入102
5.1技術(shù)要求102
5.2什么是依賴注入102
5.3創(chuàng)建和使用函數(shù)依賴項(xiàng)103
5.4創(chuàng)建和使用具有類的參數(shù)化依賴項(xiàng)107
5.5在路徑、路由器和全局級別使用依賴項(xiàng)110
5.5.1在路徑裝飾器上使用依賴項(xiàng)110
5.5.2在整個路由器上使用依賴項(xiàng)111
5.5.3對整個應(yīng)用程序使用依賴項(xiàng)112
5.6總結(jié)114
第二部分使用FastAPI構(gòu)建和部署完整的Web后端
第6章數(shù)據(jù)庫和異步ORM117
6.1技術(shù)要求117
6.2關(guān)系數(shù)據(jù)庫和NoSQL數(shù)據(jù)庫118
6.2.1關(guān)系數(shù)據(jù)庫118
6.2.2NoSQL數(shù)據(jù)庫119
6.2.3選擇最佳數(shù)據(jù)庫120
6.3使用SQLAlchemy與SQL數(shù)據(jù)庫通信121
6.3.1創(chuàng)建表架構(gòu)122
6.3.2連接到數(shù)據(jù)庫123
6.3.3進(jìn)行插入查詢124
6.3.4進(jìn)行選擇查詢125
6.3.5進(jìn)行更新和刪除查詢127
6.3.6添加關(guān)系128
6.3.7用Alembic建立數(shù)據(jù)庫遷移系統(tǒng)131
6.4使用Tortoise ORM與SQL數(shù)據(jù)庫通信135
6.4.1創(chuàng)建數(shù)據(jù)庫模型135
6.4.2設(shè)置Tortoise引擎137
6.4.3創(chuàng)建對象138
6.4.4獲取和過濾對象139
6.4.5更新和刪除對象140
6.4.6添加關(guān)系141
6.4.7用Aerich建立數(shù)據(jù)庫遷移系統(tǒng)144
6.5使用Motor與MongoDB數(shù)據(jù)庫通信146
6.5.1創(chuàng)建與MongoDB ID兼容的模型146
6.5.2連接到數(shù)據(jù)庫147
6.5.3插入文檔148
6.5.4獲取文件149
6.5.5更新和刪除文檔151
6.5.6嵌套文檔152
6.6總結(jié)153
第7章FastAPI中的管理認(rèn)證與安全性154
7.1技術(shù)要求154
7.2FastAPI中的安全依賴關(guān)系154
7.3在數(shù)據(jù)庫中安全地存儲用戶及其密碼157
7.3.1創(chuàng)建模型和表158
7.3.2哈希密碼159
7.3.3實(shí)施注冊路線159
7.4檢索用戶并生成訪問令牌160
7.4.1實(shí)現(xiàn)數(shù)據(jù)庫訪問令牌(access token)160
7.4.2實(shí)現(xiàn)登錄端點(diǎn)161
7.5使用訪問令牌保護(hù)端點(diǎn)164
7.6配置CORS并防止CSRF攻擊165
7.6.1在FastAPI中進(jìn)行配置CORS166
7.6.2實(shí)現(xiàn)doublesubmit Cookie以防止CSRF攻擊171
7.7總結(jié)175
第8章在FastAPI中為雙向交互通信定義WebSocket176
8.1技術(shù)要求176
8.2了解使用WebSocket進(jìn)行雙向通信的原理177
8.3使用FastAPI創(chuàng)建WebSocket177
8.3.1處理并發(fā)性180
8.3.2使用依賴項(xiàng)182
8.4處理多個WebSocket連接和廣播消息184
8.5總結(jié)190
第9章使用pytest和HTTPX異步測試API191
9.1技術(shù)要求191
9.2使用pytest進(jìn)行單元測試192
9.2.1使用參數(shù)生成測試194
9.2.2通過創(chuàng)建fixture重用測試邏輯195
9.3使用HTTPX為FastAPI設(shè)置測試工具198
9.4為REST API端點(diǎn)編寫測試201
9.4.1為POST端點(diǎn)編寫測試202
9.4.2使用數(shù)據(jù)庫進(jìn)行測試203
9.5為WebSocket端點(diǎn)編寫測試209
9.6總結(jié)211
第10章部署FastAPI項(xiàng)目213
10.1技術(shù)要求213
10.2設(shè)置和使用環(huán)境變量213
10.3管理Python依賴項(xiàng)217
10.4在無服務(wù)器平臺上部署FastAPI應(yīng)用程序220
10.5使用Docker部署FastAPI應(yīng)用程序223
10.5.1編寫Dockerfile223
10.5.2構(gòu)建Docker映像225
10.5.3在本地運(yùn)行Docker映像225
10.5.4部署Docker映像226
10.6在傳統(tǒng)服務(wù)器上部署FastAPI應(yīng)用程序227
10.7總結(jié)228
第三部分使用Python和FastAPI構(gòu)建數(shù)據(jù)科學(xué)API
第11章NumPy和pandas簡介231
11.1技術(shù)要求231
11.2NumPy入門231
11.2.1創(chuàng)建數(shù)組232
11.2.2訪問元素和子數(shù)組234
11.3使用NumPy操作數(shù)組:計算、聚合、比較236
11.3.1數(shù)組的加法和乘法238
11.3.2聚合數(shù)組:總和、最小值、最大值、平均值等239
11.3.3數(shù)組比較239
11.4pandas入門240
11.4.1使用pandas Series獲取一維數(shù)據(jù)240
11.4.2使用pandas DataFrame獲取多維數(shù)據(jù)242
11.4.3導(dǎo)入和導(dǎo)出CSV數(shù)據(jù)244
11.5總結(jié)245
第12章使用scikitlearn訓(xùn)練機(jī)器學(xué)習(xí)模型246
12.1技術(shù)要求246
12.2什么是機(jī)器學(xué)習(xí)246
12.2.1監(jiān)督學(xué)習(xí)與無監(jiān)督學(xué)習(xí)247
12.2.2模型驗(yàn)證247
12.3scikitlearn的基礎(chǔ)知識249
12.3.1訓(xùn)練模型和預(yù)測249
12.3.2使用pipeline鏈接預(yù)處理器和估計器251
12.3.3通過交叉驗(yàn)證驗(yàn)證模型255
12.4使用樸素貝葉斯模型對數(shù)據(jù)進(jìn)行分類255
12.4.1原理256
12.4.2使用高斯樸素貝葉斯對數(shù)據(jù)進(jìn)行分類256
12.4.3使用多項(xiàng)式樸素貝葉斯對數(shù)據(jù)進(jìn)行分類259
12.5使用支持向量機(jī)對數(shù)據(jù)進(jìn)行分類260
12.5.1原理260
12.5.2支持向量機(jī)在scikitlearn中的應(yīng)用262
12.5.3查找最佳參數(shù)263
12.6總結(jié)265
第13章使用FastAPI創(chuàng)建高效的預(yù)測API端點(diǎn)266
13.1技術(shù)要求266
13.2使用Joblib持久化經(jīng)過訓(xùn)練的模型266
13.2.1拋棄已訓(xùn)練的模型267
13.2.2加載轉(zhuǎn)儲模型268
13.3實(shí)現(xiàn)高效的預(yù)測端點(diǎn)269
13.4使用Joblib緩存結(jié)果271
13.5總結(jié)275
第14章使用帶FastAPI和OpenCV的WebSockets實(shí)現(xiàn)人臉實(shí)時檢測系統(tǒng)277
14.1技術(shù)要求277
14.2OpenCV入門277
14.3實(shí)現(xiàn)HTTP端點(diǎn)以對單個圖像執(zhí)行人臉檢測280
14.4實(shí)現(xiàn)WebSocket以對圖像流執(zhí)行人臉檢測282
14.5在WebSocket中從瀏覽器發(fā)送圖像流284
14.6在瀏覽器中顯示人臉檢測結(jié)果287
14.7總結(jié)290

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號