PyTorch開(kāi)發(fā)入門(mén):深度學(xué)習(xí)模型的構(gòu)建與程序?qū)崿F(xiàn)
定 價(jià):¥79
中 教 價(jià):¥48.98 (6.20折)
庫(kù) 存 數(shù): 0
《PyTorch開(kāi)發(fā)入門(mén):深度學(xué)習(xí)模型的構(gòu)建與程序?qū)崿F(xiàn)》以PyTorch為主要內(nèi)容,介紹了其安裝和實(shí)際應(yīng)用,共7章。其中,第1章介紹了PyTorch的包結(jié)構(gòu);第2章介紹了線性模型,并通過(guò)PyTorch的實(shí)際使用來(lái)實(shí)現(xiàn)線性回歸模型和邏輯回歸模型;第3章介紹了神經(jīng)網(wǎng)絡(luò),實(shí)際使用PyTorch創(chuàng)建一個(gè)多層感知器(Perceptron);第4章介紹了通過(guò)卷積神經(jīng)網(wǎng)絡(luò)(CNN)進(jìn)行的圖像處理,通過(guò)PyTorch實(shí)際進(jìn)行CNN的圖像分類,低分辨率圖像到高分辨率的轉(zhuǎn)換,使用深度卷積生成對(duì)抗網(wǎng)絡(luò)(DCGAN)進(jìn)行新的圖像生成以及遷移學(xué)習(xí);第5章介紹了通過(guò)循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)進(jìn)行的自然語(yǔ)言處理,通過(guò)PyTorch實(shí)際進(jìn)行文本的分類和文本的生成以及基于編碼器-解碼器模型的機(jī)器翻譯;第6章介紹了矩陣分解以及推薦系統(tǒng)的神經(jīng)網(wǎng)絡(luò)構(gòu)建;第7章介紹了PyTorch模型的應(yīng)用程序嵌入,WebAPI的實(shí)際創(chuàng)建,Docker的打包發(fā)布,以及基于*新開(kāi)放神經(jīng)網(wǎng)絡(luò)交換(ONNX)標(biāo)準(zhǔn)的模型移植。
人工智能無(wú)疑是近年來(lái)熱門(mén)詞匯,而深度學(xué)習(xí)又是熱門(mén)中的熱門(mén),對(duì)于想要進(jìn)入人工智能行業(yè)的您來(lái)說(shuō),節(jié)省時(shí)間、快速入門(mén)首要問(wèn)題。再多的知識(shí)也要實(shí)踐,現(xiàn)場(chǎng)實(shí)操,才是快速學(xué)習(xí)、消化的通路。《PyTorch開(kāi)發(fā)入門(mén):深度學(xué)習(xí)模型的構(gòu)建與程序?qū)崿F(xiàn)》正是這樣一本,從基礎(chǔ)理論講起,以實(shí)操驅(qū)動(dòng)的方式全面展示技巧和方法,為您提供了快速入門(mén)機(jī)器學(xué)習(xí)的途徑,找到了學(xué)習(xí)的方法。
原書(shū)前言深度學(xué)習(xí)(Deep Learning)和神經(jīng)網(wǎng)絡(luò)是機(jī)器學(xué)習(xí),特別是計(jì)算機(jī)視覺(jué)(Computer Vision,CV)和自然語(yǔ)言處理(Natural Language Processing,NLP)、語(yǔ)音識(shí)別等應(yīng)用領(lǐng)域熱門(mén)的話題。我敢肯定,即使不在IT 領(lǐng)域,也有許多讀者都聽(tīng)說(shuō)過(guò)這些術(shù)語(yǔ)。特別是近年來(lái),它已與AI(人工智能)等關(guān)鍵詞關(guān)聯(lián)在一起,盡管有點(diǎn)夸張,但它的熱度似乎正在迅速增加。當(dāng)我對(duì)深度學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)感興趣并想親自嘗試時(shí),感到自己與那些夸張的圖像和充滿實(shí)際數(shù)學(xué)公式的世界之間存在著巨大的鴻溝,一時(shí)不知道該從哪里下手。這樣的情形,我認(rèn)為有很多人也不知道該怎么辦。本書(shū)從作為神經(jīng)網(wǎng)絡(luò)基礎(chǔ)的線性模型開(kāi)始,介紹和學(xué)習(xí)包括神經(jīng)網(wǎng)絡(luò)在內(nèi)的隨機(jī)模型的基本原理。其次使用PyTorch,自己動(dòng)手進(jìn)行了一個(gè)實(shí)際程序的創(chuàng)建,以加深對(duì)基本原理的理解。除了線性模型這個(gè)非常重要的基礎(chǔ)部分以外,全書(shū)力圖不使用過(guò)多的數(shù)學(xué)公式,而是嘗試使用直觀的示例進(jìn)行解釋。以簡(jiǎn)單的數(shù)字識(shí)別、圖像分類、文本分類與生成、翻譯和推薦為例,通過(guò)各種應(yīng)用程序來(lái)了解數(shù)據(jù)的使用及其發(fā)生的實(shí)際變化。關(guān)于這一點(diǎn),我正是通過(guò)各種具體的設(shè)計(jì),來(lái)使你感受到。本書(shū)使用PyTorch這一Python框架。Python是一種編程語(yǔ)言,長(zhǎng)期以來(lái)一直是數(shù)據(jù)科學(xué)領(lǐng)域中使用多的語(yǔ)言,深度學(xué)習(xí)也是如此。作為深度學(xué)習(xí)的Python程序庫(kù),TensorFlow是主要由Google公司開(kāi)發(fā)的框架,是著名的深度學(xué)習(xí)Python庫(kù)。但也有一種觀點(diǎn)認(rèn)為,初學(xué)者很難適應(yīng)其大量使用符號(hào)的編程風(fēng)格。另一方面,PyTorch是一個(gè)主要由Facebook公司開(kāi)發(fā)的開(kāi)源項(xiàng)目,它采用一種稱為動(dòng)態(tài)網(wǎng)絡(luò)的機(jī)制,可以像普通的Python程序一樣輕松地進(jìn)行神經(jīng)網(wǎng)絡(luò)的構(gòu)建,因此也得到了廣泛的支持和迅速的推廣。特別是由于廣大研究人員的強(qiáng)力支持,使得的研究成果立即在PyTorch中實(shí)施并在GitHub上發(fā)布已變得司空見(jiàn)慣。盡管日語(yǔ)信息的應(yīng)用很少,但是PyTorch簡(jiǎn)單易用,的研究成果可以立即使用,因此對(duì)于那些想要學(xué)習(xí)深度學(xué)習(xí)并將其作為職業(yè)技能的人來(lái)說(shuō),這是一個(gè)的框架。我希望讀者通過(guò)本書(shū)的學(xué)習(xí),能夠?qū)ι窠?jīng)網(wǎng)絡(luò)、深度學(xué)習(xí)或機(jī)器學(xué)習(xí)產(chǎn)生興趣,并可以在自己的工作中真正使用這些技術(shù)。杜世橋2018 年9月閱讀本書(shū)需要的知識(shí)基礎(chǔ):本書(shū)面向?qū)ι窠?jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)了解不多,但感興趣并想知道自己可以使用的東西和想真正地自己動(dòng)手的讀者。在閱讀本書(shū)時(shí),假定讀者具有以下的知識(shí)基礎(chǔ)。● 基本的Linux的操作● 基本的Python程序設(shè)計(jì)經(jīng)驗(yàn)● 函數(shù)和微分、向量和矩陣乘法等初等數(shù)學(xué)知識(shí)●(好具有)NumPy的使用經(jīng)驗(yàn)●(好具有)在云上創(chuàng)建虛擬機(jī)的經(jīng)驗(yàn)可以在以下網(wǎng)站上找到PyTorch(參見(jiàn)要點(diǎn)提示)的官方網(wǎng)站、教程和文檔。通過(guò)網(wǎng)站提供的文檔能夠獲取和確認(rèn)本書(shū)中出現(xiàn)的PyTorch 功能的詳細(xì)參數(shù)和配置。另外,通過(guò)閱讀網(wǎng)站提供的教程能夠更好地加深對(duì)本書(shū)的理解,因此無(wú)論如何也請(qǐng)通覽一下。● PyTorch 官方網(wǎng)站 網(wǎng)址http://pytorch.org/● PyTorch 教程 網(wǎng)址http://pytorch.org/tutorials/● PyTorch 文檔 網(wǎng)址http://pytorch.org/docs/要點(diǎn)提示:PyTorch在深度學(xué)習(xí)開(kāi)始普及的早期,有一個(gè)名為T(mén)orch的框架可以通過(guò)Lua(一種腳本語(yǔ)言)來(lái)使用。PyTorch所使用的后端(back-end)代碼與該Torch框架的代碼完全相同,但是如果你實(shí)際上沒(méi)有接觸過(guò)Torch,那也完全沒(méi)有問(wèn)題。INTRODUCTION本書(shū)的構(gòu)成本書(shū)可以分為上半部分(第1~3章)和下半部分(第4~7章)。在第1 章中,我們將概述PyTorch 的包結(jié)構(gòu),大致了解其組成內(nèi)容,并實(shí)際接觸PyTorch基本的數(shù)據(jù)結(jié)構(gòu)Tensor。第2章介紹線性模型。學(xué)習(xí)線性模型的結(jié)構(gòu)非常重要,因?yàn)樗梢砸酝耆嗤姆绞接糜谏窠?jīng)網(wǎng)絡(luò)。這是本書(shū)中含有使用數(shù)學(xué)公式解釋該理論的內(nèi)容。在下半部分中,我們通過(guò)PyTorch的實(shí)際使用來(lái)實(shí)現(xiàn)線性回歸模型和邏輯回歸模型,并根據(jù)實(shí)際數(shù)據(jù)來(lái)進(jìn)行模型的訓(xùn)練和參數(shù)的學(xué)習(xí)。在第3章中,將進(jìn)行神經(jīng)網(wǎng)絡(luò)的介紹。在這里,我們將實(shí)際使用PyTorch創(chuàng)建一個(gè)多層感知器(Perceptron),這也是一個(gè)基本的神經(jīng)網(wǎng)絡(luò)。在第2 章和第3 章中學(xué)到的知識(shí)將成為接下來(lái)的第4 章、第5 章和第6 章的學(xué)習(xí)基礎(chǔ)。第4章介紹使用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)進(jìn)行的圖像處理。在此我們將創(chuàng)建一個(gè)程序,該程序不僅可以使用CNN對(duì)簡(jiǎn)單圖像進(jìn)行分類,還可以將低分辨率圖像轉(zhuǎn)換為高分辨率圖像,或者使用深度卷積生成對(duì)抗網(wǎng)絡(luò)(Deep Convolutional Generative Adversarial Network,DCGAN)來(lái)進(jìn)行新的圖像的生成。除此之外,我們還將展示如何將預(yù)先在不同數(shù)據(jù)集(data set)中訓(xùn)練過(guò)的模型很好地轉(zhuǎn)移到自己的數(shù)據(jù)集上,也就是我們所說(shuō)的遷移學(xué)習(xí)。第5章介紹使用循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)進(jìn)行的自然語(yǔ)言處理。除了使用RNN進(jìn)行文本的分類和文本的生成之外,我們還將使用結(jié)合了兩個(gè)RNN的編碼器- 解碼器模型挑戰(zhàn)英語(yǔ)和西班牙語(yǔ)的翻譯。第6章介紹使用神經(jīng)網(wǎng)絡(luò)構(gòu)建推薦系統(tǒng)(Recommendati
目 錄譯者序原書(shū)前言閱讀本書(shū)需要的知識(shí)基礎(chǔ)本書(shū)的構(gòu)成關(guān)于本書(shū)樣例和樣例程序的運(yùn)行環(huán)境第0 章 開(kāi)發(fā)環(huán)境的準(zhǔn)備 0010.1 本書(shū)的驗(yàn)證環(huán)境 0020.1.1 OS 環(huán)境:Ubuntu 16.04 0020.1.2 NVIDIA 公司的GPU 0020.1.3 在云端啟動(dòng)GPU 配置的實(shí)例 0030.2 開(kāi)發(fā)環(huán)境的構(gòu)建 0040.2.1 Miniconda 的安裝 0040.2.2 虛擬環(huán)境的構(gòu)建 007第1 章 PyTorch 基礎(chǔ) 0111.1 PyTorch 的構(gòu)成 0121.1.1 PyTorch 整體情況 0121.2 Tensor 0131.2.1 Tensor 的生成和轉(zhuǎn)換 0131.2.2 Tensor 的索引操作 0141.2.3 Tensor 的運(yùn)算 0151.3 Tensor 和自動(dòng)微分 0201.4 本章小結(jié) 022第2 章 極大似然估計(jì)與線性模型 0232.1 隨機(jī)模型和極大似然估計(jì) 0242.2 隨機(jī)梯度下降法 0262.3 線性回歸模型 0272.3.1 線性回歸模型的極大似然估計(jì) 0272.3.2 PyTorch中的線性回歸模型(from scratch) 0282.3.3 PyTorch中的線性回歸模型(nn、optim 模塊的應(yīng)用) 0302.4 logistic回歸 0332.4.1 logistic回歸的極大似然估計(jì) 0332.4.2 PyTorch中的logistic 回歸 0342.4.3 多元logistic回歸 0362.5 本章小結(jié) 039第3 章 多層感知器 0413.1 MLP 的構(gòu)建與學(xué)習(xí) 0423.2 Dataset 與DataLoader 0463.3 高效學(xué)習(xí)的提示 0483.3.1 基于Dropout 的正則化 0483.3.2 通過(guò)Batch Normalization 進(jìn)行學(xué)習(xí)的加速 0513.4 網(wǎng)絡(luò)模塊化 0533.4.1 自有網(wǎng)絡(luò)層(自定義層)的創(chuàng)建 0533.5 本章小結(jié) 055第4 章 圖像處理和卷積神經(jīng)網(wǎng)絡(luò) 0574.1 圖像的卷積計(jì)算 0584.2 基于CNN 的圖像分類 0594.2.1 Fashion-MNIST 0594.2.2 CNN 的構(gòu)建與學(xué)習(xí)訓(xùn)練 0614.3 遷移學(xué)習(xí) 0664.3.1 數(shù)據(jù)準(zhǔn)備 0684.3.2 通過(guò)PyTorch 進(jìn)行遷移學(xué)習(xí) 0704.4 通過(guò)CNN 回歸模型提高圖像分辨率 0764.4.1 數(shù)據(jù)準(zhǔn)備 0764.4.2 模型的創(chuàng)建 0784.5 基于DCGAN 的圖像生成 0844.5.1 什么是GAN 0844.5.2 數(shù)據(jù)準(zhǔn)備 0844.5.3 基于PyTorch 的DCGAN 0864.6 本章小結(jié) 094第5 章 自然語(yǔ)言處理與循環(huán)神經(jīng)網(wǎng)絡(luò) 0955.1 RNN 0965.2 文本數(shù)據(jù)的數(shù)值化 0975.3 RNN 與文本的分類 0995.3.1 IMDb 評(píng)論數(shù)據(jù)集 0995.3.2 網(wǎng)絡(luò)的定義和訓(xùn)練 1035.3.3 可變長(zhǎng)度序列的處理 1085.4 RNN 的文本生成 1115.4.1 數(shù)據(jù)準(zhǔn)備 1115.4.2 模型的定義和學(xué)習(xí) 1145.5 基于編碼器 - 解碼器模型的機(jī)器翻譯 1195.5.1 編碼器- 解碼器模型 1195.5.2 數(shù)據(jù)準(zhǔn)備 1205.5.3 基于PyTorch 的編碼器- 解碼器模型 1245.6 本章小結(jié) 131第6 章 推薦系統(tǒng)和矩陣分解 1336.1 矩陣分解 1346.1.1 理論背景 1346.1.2 MovieLens 數(shù)據(jù)集 1356.1.3 PyTorch 中的矩陣分解 1366.2 基于神經(jīng)網(wǎng)絡(luò)的矩陣分解 1416.2.1 非線性矩陣分解 1416.2.2 附加信息的使用 1426.3 本章小結(jié) 149第7 章 應(yīng)用程序中的嵌入 1517.1 模型的保存和讀取 1527.2 使用Flask 的WebAPI 1547.3 利用Docker 進(jìn)行調(diào)試 1627.3.1 nvidia-docker 的安裝 1627.3.2 PyTorch Docker 映像的創(chuàng)建 1637.3.3 WebAPI 的部署 1657.4 與使用ONNX 的其他框架的協(xié)作 1687.4.1 什么是ONNX 1687.4.2 PyTorch 模型的導(dǎo)出 1697.4.3 Caffe2 中ONNX 模型的使用 1707.4.4 將ONNX 模型另存為Caffe2 模型 1727.5 本章小結(jié) 174附錄附錄A 訓(xùn)練過(guò)程的可視化 175A.1 通過(guò)TensorBoard 進(jìn)行的可視化 176附錄B Colaboratory 下PyTorch 開(kāi)發(fā)環(huán)境的構(gòu)建 181B.1 Colaboratory 下PyTorch 開(kāi)發(fā)環(huán)境的構(gòu)建方法 182B.1.1 什么是Colaboratory 182B.1.2 機(jī)器的配置 182B.1.3 PyTorch 環(huán)境的構(gòu)建 182B.1.4 PyTorch 的安裝 189B.1.5 數(shù)據(jù)的獲取 190