發表於2024-11-23
本書包含PyTorch基礎知識+實戰案例兩部分
提供notebook,方便讀者交互性學習
梳理PyTorch基礎知識及重點、難點
翔實的案例,案例包括Kaggle競賽中經典項目、GAN生成動漫頭像、AI濾鏡、RNN寫詩、圖像描述任務
配套源代碼文件供下載、讀者交流QQ群
《深度學習框架PyTorch:入門與實踐》從多維數組Tensor開始,循序漸進地帶領讀者瞭解PyTorch各方麵的基礎知識。結閤基礎知識和前沿研究,帶領讀者從零開始完成幾個經典有趣的深度學習小項目,包括GAN生成動漫頭像、AI濾鏡、AI寫詩等。《深度學習框架PyTorch:入門與實踐》沒有簡單機械地介紹各個函數接口的使用,而是嘗試分門彆類、循序漸進地嚮讀者介紹PyTorch的知識,希望讀者對PyTorch有一個完整的認識。
《深度學習框架PyTorch:入門與實踐》內容由淺入深,無論是深度學習的初學者,還是頭次接觸PyTorch的研究人員,都能在學習本書的過程中快速掌握PyTorch。即使是有一定PyTorch使用經驗的用戶,也能夠從本書中獲得對PyTorch不一樣的理解。
陳雲
Python程序員、Linux愛好者和PyTorch源碼貢獻者。主要研究方嚮包括計算機視覺和機器學習。“2017知乎看山杯機器學習挑戰賽”一等奬,“2017天池醫療AI大賽”第八名。 熱衷於推廣PyTorch,並有豐富的使用經驗,活躍於PyTorch論壇和知乎相關闆塊。
1 PyTorch簡介
1.1 PyTorch的誕生 1
1.2 常見的深度學習框架簡介 2
1.2.1 Theano 3
1.2.2 TensorFlow 3
1.2.3 Keras 5
1.2.4 Caffe/Caffe2 5
1.2.5 MXNet 6
1.2.6 CNTK 7
1.2.7 其他框架 8
1.3 屬於動態圖的未來 8
1.4 為什麼選擇PyTorch 10
1.5 星火燎原 12
1.6 fast.ai 放棄Keras+TensorFlow選擇PyTorch 13
2 快速入門 16
2.1 安裝與配置 16
2.1.1 安裝PyTorch 16
2.1.2 學習環境配置 20
2.2 PyTorch入門第一步 30
2.2.1 Tensor 30
2.2.2 Autograd:自動微分 35
2.2.3 神經網絡 38
2.2.4 小試牛刀:CIFAR-10分類 43
3 Tensor和autograd 51
3.1 Tensor 51
3.1.1 基礎操作 52
3.1.2 Tensor和Numpy 70
3.1.3 內部結構 73
3.1.4 其他有關Tensor的話題 76
3.1.5 小試牛刀:綫性迴歸 78
3.2 autograd 81
3.2.1 Variable 82
3.2.2 計算圖 86
3.2.3 擴展autograd 95
3.2.4 小試牛刀:用Variable實現綫性迴歸 100
4 神經網絡工具箱nn 104
4.1 nn.Module 104
4.2 常用的神經網絡層 108
4.2.1 圖像相關層 108
4.2.2 激活函數 111
4.2.3 循環神經網絡層 115
4.2.4 損失函數 117
4.3 優化器 117
4.4 nn.functional 119
4.5 初始化策略 121
4.6 nn.Module深入分析 123
4.7 nn和autograd的關係 130
4.8 小試牛刀:用50行代碼搭建ResNet 131
5 PyTorch中常用的工具 136
5.1 數據處理 136
5.2 計算機視覺工具包:torchvision 148
5.3 可視化工具 150
5.3.1 Tensorboard 151
5.3.2 visdom 153
5.4 使用GPU加速:cuda 159
5.5 持久化 162
6 PyTorch實戰指南 165
6.1 編程實戰:貓和狗二分類 165
6.1.1 比賽介紹 166
6.1.2 文件組織架構 166
6.1.3 關於__init__.py 168
6.1.4 數據加載 168
6.1.5 模型定義 171
6.1.6 工具函數 172
6.1.7 配置文件 175
6.1.8 main.py 177
6.1.9 使用 185
6.1.10 爭議 186
6.2 PyTorch Debug 指南 188
6.2.1 ipdb 介紹 188
6.2.2 在PyTorch中Debug 192
7 AI插畫師:生成對抗網絡 198
7.1 GAN的原理簡介 199
7.2 用GAN生成動漫頭像 203
7.3 實驗結果分析 212
8 AI藝術傢:神經網絡風格遷移 216
8.1 風格遷移原理介紹 217
8.2 用PyTorch實現風格遷移 223
8.3 實驗結果分析 234
9 AI詩人:用RNN寫詩 238
9.1 自然語言處理的基礎知識 238
9.1.1 詞嚮量 239
9.1.2 RNN 241
9.2 CharRNN 244
9.3 用PyTorch實現CharRNN 247
9.4 實驗結果分析 258
10 Image Caption:讓神經網絡看圖講故事 261
10.1 圖像描述介紹 262
10.2 數據 263
10.2.1 數據介紹 263
10.2.2 圖像數據處理 271
10.2.3 數據加載 273
10.3 模型與訓練 276
10.4 實驗結果分析 281
11 展望與未來 283
11.1 PyTorch的局限與發展 283
11.2 使用建議 287
為什麼寫這本書
2016年是屬於TensorFlow的一年,憑藉榖歌的大力推廣,TensorFlow占據瞭各大媒體的頭條。2017年年初,PyTorch的橫空齣世吸引瞭研究人員極大的關注,PyTorch簡潔優雅的設計、統一易用的接口、追風逐電的速度和變化無方的靈活性給人留下深刻的印象。
作為一門2017年剛剛發布的深度學習框架,研究人員所能獲取的學習資料有限,中文資料更是比較少。筆者長期關注PyTorch發展,經常在論壇上幫助PyTorch新手解決問題,在平時的科研中利用PyTorch進行各個方麵的研究,有著豐富的使用經驗。看到國內的用戶對PyTorch十分感興趣,迫切需要一本能夠全麵講解PyTorch的書籍,於是本書就這麼誕生瞭。
本書的結構
本書分為兩部分:第2~5章主要介紹PyTorch的基礎知識。
√ 第2章介紹PyTorch的安裝和配置學習環境。同時以最概要的方式介紹PyTorch的主要內容,讓讀者對PyTorch有一個大概的整體印象。
√ 第3章介紹PyTorch中多維數組Tensor和動態圖autograd/Variable的使用,並配以例子,讓讀者分彆使用Tensor和autograd實現綫性迴歸,比較二者的不同點。本章還對Tensor的底層設計,以及autograd的原理進行瞭分析,給讀者以更全麵具體的講解。
√ 第4章介紹PyTorch中神經網絡模塊nn的基礎用法,同時講解瞭神經網絡中的“層”、“損失函數”、“優化器”等,最後帶領讀者用不到50行的代碼搭建齣曾奪得ImageNet冠軍的ResNet。
√ 第5章介紹PyTorch中數據加載、GPU加速和可視化等相關工具。
第6~10章主要介紹實戰案例。
√ 第6章是承上啓下的一章,目標不是教會讀者新函數、新知識,而是結閤Kaggle中一個經典的比賽,實現一個深度學習中比較簡單的圖像二分類問題。在實現的過程中,帶領讀者復習前5章的知識,並提齣代碼規範以閤理地組織程序和代碼,使程序更可讀、可維護。第6章還介紹在PyTorch中如何進行debug。
√ 第7章為讀者講解當前最火爆的生成對抗網絡(GAN),帶領讀者從零開始實現一個動漫頭像生成器,能夠利用GAN生成風格多變的動漫頭像。
√ 第8章為讀者講解風格遷移的相關知識,並帶領讀者實現風格遷移網絡,將自己的照片變成“高大上”的名畫。
√ 第9章為讀者講解一些自然語言處理的基礎知識,並講解CharRNN的原理。然後利用其收集幾萬首唐詩,訓練齣一個可以自動寫詩歌的小程序。這個小程序可以控製生成詩歌的格式和意境,還能生成藏頭詩。
√ 第10章為讀者介紹圖像描述任務,並以最新的AI Challenger比賽的數據為例,帶領讀者實現一個可以進行簡單圖像描述的小程序。
第1章和第11章是本書的首章和末章,第1章介紹PyTorch的優勢,以及和市麵上其他幾款框架的對比。第11章是對本書的總結,以及對PyTorch不足之處的思考,同時對讀者未來的學習提齣建議。
關於代碼
本書的所有代碼都開源在GitHub【https://github.com/chenyuntc/pytorch-book】上,其中:
√ 第2~5章的代碼以Jupyter Notebook形式提供,讀者可以在自己的計算機上交互式地修改運行它。
√ 第6~10章的代碼以單獨的程序給齣,每個函數的作用與細節在代碼中有大量的注釋。
本書的代碼,在最新版的PyTorch 0.2上運行,同時支持Python 2 和Python 3,其中:
√ 前5章的代碼同時在Python 2.7和Python 3.5上驗證,並得到最終結果。
√ 第6~10章的代碼,主要在Python 2.7上運行並得到最終結果,同時在Python 3.5上測試未報錯。
適讀人群
學習本書需要讀者具備以下基礎知識:
√ 瞭解Python的基礎語法,掌握基礎的Python使用方法。
√ 有一定深度學習基礎,瞭解反嚮傳播、捲積神經網絡等基礎知識,但並不要求深入瞭解。
√ 具備梯度、導數等高中數學基礎知識。
以下知識不是必需的,但最好瞭解:
√ numpy的使用。
√ 深度學習的基本流程或者其他深度學習框架的使用。
本書不適閤哪些讀者:
√ 沒有任何深度學習基礎的用戶。
√ 沒有Python基礎的用戶。
√ 隻能使用Windows的用戶。
本書約定
在本書中,筆者是本書編著者的自稱,作者指的是軟件、論文等的作者,讀者指閱讀本書的你。
本書前5章的代碼由Jupyter Notebook轉換而來,其中:
√ In後麵跟著的是輸入的代碼。
√ Out是指程序的運行結果,運行結果取決於In的最後一行。
√ Print後麵跟著程序的打印輸齣內容,隻有在In程序中調用瞭 print 函數/語句纔會有Print輸齣。
√ Jupyter會自動輸齣Image對象和matplotlib可視化結果,所以書中以“程序輸齣”命名的圖片都來自Jupyter的程序輸齣。這些圖片的說明在代碼注釋中。
如何使用本書
本書第2章是PyTorch快速入門,第3~5章是對這些內容的詳細深入介紹。第6章是一個簡單而完整的深度學習案例。
如果你是經驗豐富的研究人員,之前對PyTorch十分熟悉,對本書的某些例子比較感興趣,那麼你可以跳過前5章,直接閱讀第6章,瞭解這些例子的程序設計與文件組織安排,然後閱讀相應的例子。
如果你是初學者,想以最快的速度掌握PyTorch並將PyTorch應用到實際項目中,那麼你可以花費2~3小時閱讀2.2節的相關內容。如果你需要深入瞭解某部分的內容,那麼可以閱讀相應章節。
如果你是初學者,想完整全麵地掌握PyTorch,那麼建議你:
√ 先閱讀第1~5章,瞭解PyTorch的各個基礎知識。
√ 再閱讀第6章,瞭解PyTorch實踐中的技巧。
√ 最後從第7~10章挑選齣感興趣的例子,動手實踐。
最後,希望讀者在閱讀本書的時候,盡量結閤本書的配套代碼閱讀、修改、運行之。
緻謝
杜玉姣同學在我編寫本書的時候,給瞭我許多建議,並協助審閱瞭部分章節,在此特嚮她錶示謝意。在編寫本書時,本書編輯鄭柳潔女士給予瞭很大的幫助,在此特嚮她緻謝。感謝我的傢人一直以來對我的支持,感謝我的導師肖波副教授對我的指導。感謝我的同學、師弟師妹們,他們在使用PyTorch中遇到瞭很多問題,給瞭我許多反饋意見。
由於筆者水平所限,書中難免有錯誤和不當之處,歡迎讀者批評指正。具體意見可以發錶在GitHub上的issue(https://github.com/chenyuntc/pytorch-book/issues)中。
深度學習框架PyTorch:入門與實踐 下載 mobi pdf epub txt 電子書 格式 2024
深度學習框架PyTorch:入門與實踐 下載 mobi epub pdf 電子書囤貨中,應該還不錯吧。
評分粗略翻瞭一下 這本書適閤有一定基礎的讀者,
評分希望對找工作有用~哈哈哈
評分很不錯的書,學習到很多東西
評分專業必備,正本圖書,脈絡清晰,幫助很大,實例經典,閱讀方便,很實用,科技前沿書籍,滿意,五星好評。
評分特彆實用的書,物流也很給力,贊
評分很不錯,實踐類書籍,有許多比較新的研究成果的實踐
評分書的可操作性很強,不錯
評分書很好,京東的活動很給力,搶到優惠券,價格相當閤適。謝謝京東提供這麼好的活動,可以買到很多很有用的專業書籍,為國傢科技進步作齣貢獻,哈哈哈。
深度學習框架PyTorch:入門與實踐 mobi epub pdf txt 電子書 格式下載 2024