深度学习入门之PyTorch学习笔记:深度学习框架
生活随笔
收集整理的這篇文章主要介紹了
深度学习入门之PyTorch学习笔记:深度学习框架
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
深度學習入門之PyTorch學習筆記
- 緒論
- 1 深度學習介紹
- 2 深度學習框架
- 2.1 深度學習框架介紹
- 2.1.1 TensorFlow
- 2.1.2 Caffe
- 2.1.3 Theano
- 2.1.4 Torch
- 2.1.5 MXNet
- 2.2 PyTorch介紹
- 2.2.1 什么是PyTorch
- 2.2.2 為何要使用PyTorch
- 2.3 配置PyTorch深度學習環(huán)境
- 參考資料
緒論
- 深度學習如今已經(jīng)稱為科技領域最炙手可熱的技術,幫助你入門深度學習。
- 本文從機器學習與深度學習的基礎理論入手,從零開始學習PyTorch以及如何使用PyTorch搭建模型。
- 學習機器學習中的線性回歸、Logistic回歸、深度學習的優(yōu)化方法、多層全連接神經(jīng)網(wǎng)絡、卷積神經(jīng)網(wǎng)絡、循環(huán)神經(jīng)網(wǎng)絡、以及生成對抗網(wǎng)絡,最后通過實戰(zhàn)了解深度學習前沿的研究成果。
- 將理論與代碼結合,幫助更好的入門機器學習。
1 深度學習介紹
https://hulin.blog.csdn.net/article/details/107733777
2 深度學習框架
2.1 深度學習框架介紹
- 在深度學習的初級階段,每個深度學習研究者都需要寫大量的重復代碼。為了提高工作效率,這些研究者就將代碼寫成一個框架,放在網(wǎng)上供所有研究者一起使用,最好用的幾個框架被大量使用而流行起來。
2.1.1 TensorFlow
- Google開源的TensorFlow是一款使用C++語言開發(fā)的數(shù)學計算軟件,使用數(shù)據(jù)流圖(Data Flow Graph)的形式進行計算。圖中的結點代表數(shù)學運算,圖中的數(shù)組表示多維數(shù)組(Tensor)之間的交互。
- TensorFlow靈活的架構可以部署在一個或多個CPU和GPU服務器中,或者使用單一的API應用在移動設備中。
- TensorFlow是目前全世界使用人數(shù)最多、社區(qū)最為龐大的一個框架,維護與更新較頻繁,并且有Python和C++的接口,很多論文的復現(xiàn)都是基于TensorFlow寫的。
- 目前有很多基于TensorFlow的第三方抽象庫,將TensorFlow的函數(shù)進行封裝,使其變得簡潔,比較有名的有:Keras,Tflearn,tfslim,TensorLayer。
2.1.2 Caffe
- Caffe由加州大學伯克利的賈揚清所開發(fā),是一個清晰而高效的開源深度學習框架,目前由伯克利視覺中心維護。
- Caffe對于卷積網(wǎng)絡的支持特別好,也是用C++開發(fā)的,但并沒有提供Python接口,目前只提供了C++的接口
2.1.3 Theano
- Theano于2008年誕生于蒙特利爾理工學院,派生出大量的深度學習的python軟件包,最著名的包括Blocks和Keras。
- Theano的核心是一個數(shù)學表達式的編譯器,是為機器學習中處理大型神經(jīng)網(wǎng)絡算法所需的計算而專門設計的。
2.1.4 Torch
- Torch是一個有大量機器學習算法支持的科學計算框架,其誕生已經(jīng)有十年之久,但是真正起勢得益于FaceBook開源了大量Torch的深度學習模塊和擴展。
- Torch的特點在于特別靈活,但是另外一個特殊之處在于采用了Lua編程語言,增加了學習Torch框架的成本。
- PyTorch的前身是Torch,其底層和Torch框架一樣,但使用Python重寫了很多內(nèi)容,不僅更加靈活,支持動態(tài)圖,也提供了Python接口。
2.1.5 MXNet
- MXNet是亞馬遜的官方框架,作者是李沐,有著非常好的分布式支持,性能特別好,占用顯存低,其開放的語言接口有Python、C++、R、Matlab、JavaScript等。
2.2 PyTorch介紹
2.2.1 什么是PyTorch
- PyTorch與Torch的不同之處在于使用了Python作為開發(fā)語言,不僅能夠實現(xiàn)強大的GPU加速,同時還支持動態(tài)神經(jīng)網(wǎng)絡,現(xiàn)在很多主流框架(如TensorFlow等)都不支持。
- PyTorch既可以看作是加入GPU支持的numpy,同時也可以看成一個擁有自動求導功能的強大的深度神經(jīng)網(wǎng)絡。
2.2.2 為何要使用PyTorch
- 掌握一個框架并不能一勞永逸,現(xiàn)在深度學習并沒有誰擁有絕對的壟斷地位,只學習TensorFlow是不夠的。
- TensorFlow和Caffe都是命令式的編程語言,而且是靜態(tài)的,首先必須構建一個神經(jīng)網(wǎng)絡,然后一次又一次的使用同樣的結構。如果想要改變網(wǎng)絡的結構,就必須從頭開始。但是對于PyThorch,通過一種反向自動求導技術,可以零延遲的改變神經(jīng)網(wǎng)絡結構,獲得最高的速度和最佳的靈活性。
- PyTorch的設計思路是線性、直觀且易于使用的,不會再Debug的時候,因為錯誤的指向或者異步和不透明的引擎浪費太多的時間。PyTorch的代碼相對TensorFlow而言,更加簡潔直觀。同時對于TensorFlow高度工業(yè)化的很難看懂的底層代碼,PyTorch的源代碼較友好。
- PyTorch的特點。
(1)支持GPU。
(2)動態(tài)神經(jīng)網(wǎng)絡。
(3)Python優(yōu)先。
(4)命令式體驗。
(5)輕松擴展。
2.3 配置PyTorch深度學習環(huán)境
https://hulin.blog.csdn.net/article/details/107764754
參考資料
總結
以上是生活随笔為你收集整理的深度学习入门之PyTorch学习笔记:深度学习框架的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深度学习入门之PyTorch学习笔记:深
- 下一篇: 基于Anaconda安装GPU版PyTo