本書以人工智能發(fā)展為時代背景,通過20個機器學習模型和算法案例,為讀者提供較為詳細的實戰(zhàn) 方案,以便進行深度學習。 在編排方式上,全書側重對創(chuàng)新項目的過程進行介紹,分別從整體設計、系統(tǒng)流程和實現(xiàn)模塊等角度 論述數(shù)據處理、模型訓練和模型應用等過程,并剖析模塊的功能、使用及程序代碼。為便于讀者高效學習, 快速掌握人工智能程序開發(fā)方法,本書配套提供項目設計工程文檔、程序代碼、實現(xiàn)過程中出現(xiàn)的問題及 解決方法等資料,可供讀者舉一反三,二次開發(fā)。 本書語言簡潔,深入淺出,通俗易懂,不僅適合對Python編程有興趣的愛好者,而且可作為高等院校 相關專業(yè)的參考教材,還可作為從事智能應用創(chuàng)新開發(fā)專業(yè)人員的技術參考書。
融匯科研與教學經驗,案例可二次開發(fā)利用!阿里巴巴|字節(jié)跳動|訊飛智元|騰訊|百度|微軟專家聯(lián)袂推薦!配套程序代碼、工程文件、附贈案例!
Python作為人工智能和大數(shù)據領域的主要開發(fā)語言,具有靈活性強、擴展性好、應用面廣、可移植、可擴展、可嵌入等特點,近年來發(fā)展迅速,熱度不減,相關人才需求量逐年攀升,已經成為高等院校的專業(yè)課程。
為適應當前教學改革的要求,更好地踐行人工智能模型與算法的應用,本書以實踐教學與創(chuàng)新能力培養(yǎng)為目標,采取了創(chuàng)新方式,從不同難度、不同類型、不同算法,融合了同類教材的優(yōu)點,將實際智能應用案例進行總結,希望起到拋磚引玉的作用。
本書的主要內容和素材來自開源網站的人工智能經典模型算法、信息工程專業(yè)創(chuàng)新課程內容、作者所在學校近幾年承擔的科研項目成果及作者指導學生完成的創(chuàng)新項目。通過這些創(chuàng)新項目同學們不僅學到了知識,提高了能力,而且為本書提供了手素材和相關資料。
本書內容由總述到分述、先理論后實踐,采用系統(tǒng)整體架構、系統(tǒng)流程與代碼實現(xiàn)相結合,對于從事人工智能開發(fā)、機器學習和算法實現(xiàn)的專業(yè)技術人員可以作為技術參考書、提高其工程創(chuàng)新能力;也可以作為信息通信工程及相關專業(yè)本科生的參考書,為機器學習模型分析、算法設計和實現(xiàn)提供幫助。
本書的編寫得到了教育部電子信息類專業(yè)教學指導委員會、信息工程專業(yè)國家類特色專業(yè)建設項目、信息工程專業(yè)國家第二類特色專業(yè)建設項目、教育部CDIO工程教育模式研究與實踐項目、教育部本科教學工程項目、信息工程專業(yè)北京市特色專業(yè)建設、北京市教育教學改革項目以及北京郵電大學教育教學改革項目(2020JC03)的大力支持,在此表示感謝!
由于作者經驗與水平有限,書中疏漏之處在所難免,衷心地希望各位讀者多提寶貴意見及具體整改措施,以便作者進一步修改和完善。
編者2021年7月
李永華:北京郵電大學,教授,擁有超過10年的軟硬件開發(fā)經驗,長期致力于物聯(lián)網、云計算與人工智能的研究工作。在教學中以興趣為導向,激發(fā)學生的創(chuàng)造性;以素質為基礎,提高自身教學水平;以科研為手段,促進教學理念的轉變,在教學與科研實踐中指導學生實現(xiàn)300余個創(chuàng)新案例。主持30余項國j級與企事業(yè)單位課題的研究工作,在國內外學術期刊及會議發(fā)表論文100余篇,申請專利50余項,出版圖書20余部。
項目1電影推薦小程序
1.1總體設計
1.1.1系統(tǒng)整體結構
1.1.2系統(tǒng)流程
1.2運行環(huán)境
1.2.1Python環(huán)境
1.2.2TensorFlow環(huán)境
1.3模塊實現(xiàn)
1.3.1數(shù)據預處理
1.3.2模型設計
1.3.3模型訓練及測試
1.3.4特征矩陣提取
1.3.5推薦電影
1.3.6客戶端
1.4系統(tǒng)測試
1.4.1訓練準確率
1.4.2運行結果
項目2服裝分類助手
2.1總體設計
2.1.1系統(tǒng)整體結構
2.1.2系統(tǒng)流程
2.2運行環(huán)境
2.2.1Python環(huán)境
2.2.2PyTorch環(huán)境
2.2.3Django環(huán)境
2.3模塊實現(xiàn)
2.3.1數(shù)據預處理
2.3.2模型創(chuàng)建與編譯
2.3.3模型訓練及保存
2.3.4模型生成
2.4系統(tǒng)測試
2.4.1訓練準確率
2.4.2測試效果
2.4.3模型應用
項目3檢索式模型聊天機器人
3.1總體設計
3.1.1系統(tǒng)整體結構
3.1.2系統(tǒng)流程
3.2運行環(huán)境
3.2.1Python環(huán)境
3.2.2TensorFlow環(huán)境
3.3模塊實現(xiàn)
3.3.1數(shù)據預處理
3.3.2模型創(chuàng)建與編譯
3.3.3模型訓練及保存
3.3.4模型生成
3.4系統(tǒng)測試
3.4.1訓練準確率
3.4.2測試效果
3.4.3模型應用
項目4方言種類識別
4.1總體設計
4.1.1系統(tǒng)整體結構
4.1.2系統(tǒng)流程
4.2運行環(huán)境
4.2.1Python環(huán)境
4.2.2TensorFlow環(huán)境
4.2.3Jupyter Notebook環(huán)境
4.2.4PyCharm環(huán)境
4.3模塊實現(xiàn)
4.3.1數(shù)據預處理
4.3.2模型構建
4.3.3模型訓練及保存
4.3.4模型生成
4.4系統(tǒng)測試
4.4.1訓練準確率
4.4.2測試效果
項目5行人檢測與追蹤計數(shù)
5.1總體設計
5.1.1系統(tǒng)整體結構
5.1.2系統(tǒng)流程
5.2運行環(huán)境
5.2.1Python環(huán)境
5.2.2TensorFlow環(huán)境
5.2.3安裝所需的軟件包
5.2.4硬件環(huán)境
5.3模塊實現(xiàn)
5.3.1準備數(shù)據
5.3.2數(shù)據預處理
5.3.3目標檢測
5.3.4目標追蹤
5.3.5主函數(shù)
5.4系統(tǒng)測試
項目6智能果實采摘指導系統(tǒng)
6.1總體設計
6.1.1系統(tǒng)整體結構
6.1.2系統(tǒng)流程
6.2運行環(huán)境
6.2.1Python環(huán)境
6.2.2TensorFlow環(huán)境
6.2.3Jupyter Notebook環(huán)境
6.2.4PyCharm環(huán)境
6.2.5微信開發(fā)者工具
6.2.6OneNET云平臺
6.3模塊實現(xiàn)
6.3.1數(shù)據預處理
6.3.2創(chuàng)建模型與編譯
6.3.3模型訓練及保存
6.3.4上傳結果
6.3.5小程序開發(fā)
6.4系統(tǒng)測試
6.4.1訓練準確率
6.4.2測試效果
6.4.3外部訪問效果
項目7基于CNN的貓種類識別
7.1總體設計
7.1.1系統(tǒng)整體結構
7.1.2系統(tǒng)流程
7.2運行環(huán)境
7.2.1計算型云服務器
7.2.2Python環(huán)境
7.2.3TensorFlow環(huán)境
7.2.4MySQL環(huán)境
7.2.5Django環(huán)境
7.3模塊實現(xiàn)
7.3.1數(shù)據預處理
7.3.2數(shù)據增強
7.3.3普通CNN模型
7.3.4殘差網絡模型
7.3.5模型生成
7.4系統(tǒng)測試
7.4.1訓練準確率
7.4.2測試效果
7.4.3模型應用
項目8基于VGG16的駕駛行為分析
8.1總體設計
8.1.1系統(tǒng)整體結構
8.1.2系統(tǒng)流程
8.2運行環(huán)境
8.2.1Python環(huán)境
8.2.2TensorFlow環(huán)境
8.2.3Android環(huán)境
8.3模塊實現(xiàn)
8.3.1數(shù)據預處理
8.3.2模型構建
8.3.3模型訓練及保存
8.3.4模型生成
8.4系統(tǒng)測試
8.4.1訓練準確率
8.4.2測試效果
8.4.3模型應用
項目9基于Mask RCNN的娛樂視頻生成器
9.1總體設計
9.1.1系統(tǒng)整體結構
9.1.2系統(tǒng)流程
9.2運行環(huán)境
9.2.1Python環(huán)境
9.2.2PyTorch環(huán)境
9.2.3Detectron2平臺
9.2.4MoviePy的安裝
9.2.5PyQt的安裝
9.3模塊實現(xiàn)
9.3.1數(shù)據處理
9.3.2視頻處理
9.3.3PyQt界面
9.4系統(tǒng)測試
9.4.1訓練準確率
9.4.2運行效率
9.4.3應用使用說明
項目10基于CycleGAN的圖像轉換
10.1總體設計
10.1.1系統(tǒng)整體結構
10.1.2系統(tǒng)流程
10.2運行環(huán)境
10.2.1Python環(huán)境
10.2.2TensorFlow GPU環(huán)境
10.2.3Android環(huán)境
10.3模塊實現(xiàn)
10.3.1數(shù)據集預處理
10.3.2模型構建
10.3.3模塊分析
10.3.4模型訓練及保存
10.3.5模型生成
10.4系統(tǒng)測試
項目11交通警察車輛監(jiān)控系統(tǒng)
11.1總體設計
11.1.1系統(tǒng)整體結構
11.1.2系統(tǒng)流程
11.2運行環(huán)境
11.2.1Python環(huán)境
11.2.2TensorFlow環(huán)境
11.2.3PyCharm IDE配置
11.2.4Protoc配置
11.3模塊實現(xiàn)
11.3.1API下載及載入
11.3.2識別訓練
11.3.3導入模型與編譯
11.3.4模型生成
11.4系統(tǒng)測試
項目12驗證碼的生成與識別
12.1總體設計
12.1.1系統(tǒng)整體結構
12.1.2系統(tǒng)流程
12.2運行環(huán)境
12.2.1Python環(huán)境
12.2.2TensorFlow環(huán)境
12.2.3VsCode環(huán)境
12.3模塊實現(xiàn)
12.3.1數(shù)據預處理
12.3.2模型搭建
12.3.3模型訓練及保存
12.3.4模型測試
12.4系統(tǒng)測試
12.4.1訓練準確率
12.4.2測試效果
項目13基于CNN的交通標志識別
13.1總體設計
13.1.1系統(tǒng)整體結構
13.1.2系統(tǒng)流程
13.2運行環(huán)境
13.3模塊實現(xiàn)
13.3.1數(shù)據預處理
13.3.2模型構建
13.3.3模型訓練及保存
13.4系統(tǒng)測試
13.4.1訓練準確率
13.4.2測試效果
項目14圖像風格轉移
14.1總體設計
14.1.1系統(tǒng)整體結構
14.1.2系統(tǒng)流程
14.2運行環(huán)境
14.2.1Python環(huán)境
14.2.2TensorFlow環(huán)境
14.2.3庫安裝
14.2.4VGG19網絡下載
14.3模塊實現(xiàn)
14.3.1實時風格轉移
14.3.2非實時風格轉移
14.3.3交互界面設計
14.4系統(tǒng)測試
14.4.1非實時風格轉移測試
14.4.2實時風格轉移測試
項目15口罩識別系統(tǒng)
15.1總體設計
15.1.1系統(tǒng)整體結構
15.1.2系統(tǒng)流程
15.2運行環(huán)境
15.3模塊實現(xiàn)
15.3.1數(shù)據預處理
15.3.2模型訓練及保存
15.3.3頁面顯示和視頻流輸入
15.3.4模型生成
15.4系統(tǒng)測試
15.4.1訓練準確率
15.4.2測試效果
項目16垃圾分類微信小程序
16.1總體設計
16.1.1系統(tǒng)整體結構
16.1.2系統(tǒng)流程
16.2運行環(huán)境
16.2.1Python環(huán)境
16.2.2TensorFlow環(huán)境
16.2.3微信小程序及后臺服務器環(huán)境
16.3模塊實現(xiàn)
16.3.1數(shù)據預處理
16.3.2創(chuàng)建模型與編譯
16.3.3模型訓練及保存
16.3.4模型生成
16.4系統(tǒng)測試
16.4.1訓練準確率
16.4.2測試效果
16.4.3模型應用
項目17基于OpenCV的人臉識別程序
17.1總體設計
17.1.1系統(tǒng)整體結構
17.1.2系統(tǒng)流程
17.2運行環(huán)境
17.2.1Python環(huán)境
17.2.2TensorFlow環(huán)境
17.3模塊實現(xiàn)
17.3.1數(shù)據預處理
17.3.2模型構建
17.3.3模型訓練
17.4系統(tǒng)測試
項目18基于CGAN的線稿自動上色
18.1總體設計
18.1.1系統(tǒng)整體結構
18.1.2系統(tǒng)流程
18.2運行環(huán)境
18.2.1Python環(huán)境
18.2.2TensorFlow環(huán)境
18.3模塊實現(xiàn)
18.3.1數(shù)據預處理
18.3.2模型構建
18.3.3模型訓練及保存
18.3.4模型應用
18.4系統(tǒng)測試
18.4.1訓練效果
18.4.2測試效果
18.4.3模型使用說明
項目19基于ACGAN的動漫頭像生成
19.1總體設計
19.1.1系統(tǒng)整體結構
19.1.2系統(tǒng)流程
19.2運行環(huán)境
19.2.1Python環(huán)境
19.2.2TensorFlow環(huán)境
19.2.3OpenCV環(huán)境
19.2.4Illustration2Vec
19.3模塊實現(xiàn)
19.3.1數(shù)據獲取
19.3.2數(shù)據處理
19.3.3模型構建
19.3.4模型訓練及保存
19.4系統(tǒng)測試
19.4.1模型導入及調用
19.4.2生成指定標簽
項目20手勢語言識別
20.1總體設計
20.1.1系統(tǒng)整體結構
20.1.2系統(tǒng)流程
20.2運行環(huán)境
20.2.1Python環(huán)境
20.2.2TensorFlow環(huán)境
20.2.3OpenCVPython環(huán)境
20.3模塊實現(xiàn)
20.3.1設置直方圖
20.3.2載入手勢圖片
20.3.3模型訓練及保存
20.4系統(tǒng)測試
20.4.1測試準確率
20.4.2測試效果