10分鐘入門pytorch(0)

10分鐘入門pytorch(0)

我將我學習pytorch的經驗寫出來,一步一步從0開始讓大家學會pytorch,教程比官網的更加簡單,同時也增加了更多簡單的例子讓大家快速上手pytorch,愉快地開始煉丹。

什麼?你還不知道pytorch是啥,快點去看看專欄裏面的pytorch介紹吧。

1

環境配置

首先當然是需要安裝pytorch了,目前pytorch只支持mac和linux,如果你的電腦是windows,裝虛擬機或者雙系統。如果想要愉快地煉丹,那麼強烈推薦使用linux系統,因爲所有的深度學習框架在linux上都有很好的支持,遠遠好於windows系統,而且linux也沒有大家想象中的那麼難學,目前linux系統的圖形界面讓大家上手的時候更加容易。

裝完了系統之後就需要安裝環境了,首推Anaconda,這是一個科學計算的集成環境,安裝完這之後基本所需要的包都有了,而且還提供交互式的jupyter notebook,可以說爲我們做實驗提供了很好的交互。如果去Anaconda的官網下載速度比較慢,可以去清華鏡像下載。

安裝完Anaconda之後我們就可以安裝pytorch了,進入主頁,一步一步來就行了,如果要裝GPU版的,需要cuda和cudnn,這個網上有很多教程,可以去看看,如果你只是爲了快速上手玩玩pytorch,那麼可以不用廢時間裝GPU版。

2

pytorch基礎

裝好了pytorch之後,正式進入我們的教程,pytorch基礎部分,這個部分主要是介紹一下pytorch處理的對象以及操作。

Tensor

首先介紹裏面最基本的操作對象,tensor
10分鐘入門pytorch(0)

tensor就是張量的英文,表示多維的矩陣,比如一維就是向量,二維就是一般的矩陣等等,pytorch裏面處理的單位就是一個一個的tensor
可以顯示的得到其大小

10分鐘入門pytorch(0)
這個和numpy很相似,同時tensor和numpy.array之間也可以相互轉換

10分鐘入門pytorch(0)

tensor的運算也很簡單,一般的四則運算都是支持的

Variable

pytorch和numpy不一樣的地方就來了,就是其提供了自動求導功能,也就是可以自動給你你要的參數的梯度,這個操作由另外一個基本元素提供Variable
10分鐘入門pytorch(0)

本質上Variable和Tensor沒有區別,不過Variabel會放入一個計算圖,然後進行前向傳播,反向傳播以及自動求導

一個Variable裏面包含着三個屬性,data,grad和creator,其中creator表示得到這個Variabel的操作,比如乘法或者加法等等,grad表示方向傳播的梯度,data表示取出這個Variabel裏面的數據
10分鐘入門pytorch(0)
這就是一個簡單的計算圖的例子

2

神經網絡

前面講了兩個操作對象,最後講一下pytorch裏面的模型建立,模型的建立主要依賴於torch.nn,torch.nn包含這個所有神經網絡的層的結構
10分鐘入門pytorch(0)

這就是構建所有神經網絡的模板,不管你想構建卷積神經網絡還是循環神經網絡或者是生成對抗網絡都依賴於這個結構

本文所有代碼以及後續的教程代碼都在github上,強烈推薦進入github下載全部代碼進行學習,地址爲:https://github.com/SherlockLiao/pytorch-beginner
ok,這次介紹了安裝環境,引入了基本的pytorch處理單元,相信大家對pytorch也有了一個基本瞭解,下節內容預告 線性迴歸和logistic迴歸
本文代碼已經上傳到了github 上
歡迎查看我的知乎專欄,深度煉丹
歡迎訪問我的博客:https://sherlockliao.github.io/
近期文章預告:
《通俗講解爲什麼神經網絡參數初始化不能全0的原因》
《10分鐘快速入門pytorch(1)》
《通俗講解隱馬爾科夫模型(HMM)-後向算法》
《通俗講解隱馬爾科夫模型(HMM)-維特比算法》
推薦閱讀文章:
深入淺出理解決策樹算法(一)-核心思想
隱馬爾科夫模型-前向算法
零基礎掌握極大似然估計
投稿請聯繫微信號qinlibo20133868或者[email protected]













全是通俗易懂的硬貨!只需置頂~歡迎關注交流~

10分鐘入門pytorch(0)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章