python torch是什么
PyTorch 是Torch7 團隊開發(fā)的,從它的名字就可以看出,其與Torch 的不同之處在于PyTorch 使用了Python 作為開發(fā)語言。
所謂“Python first”,同樣說明它是一個以Python 優(yōu)先的深度學(xué)習(xí)框架,不僅能夠?qū)崿F(xiàn)強大的GPU 加速,同時還支持動態(tài)神經(jīng)網(wǎng)絡(luò),這是現(xiàn)在很多主流框架比如Tensorflow 等都不支持的。
PyTorch 既可以看做加入了GPU 支持的numpy,同時也可以看成一個擁有自動求導(dǎo)功能的強大的深度神經(jīng)網(wǎng)絡(luò),除了Facebook 之外,它還已經(jīng)被Twitter、CMU 和Salesforce 等機構(gòu)采用。
為何要使用PyTorch
面對如此多的深度學(xué)習(xí)框架,我們?yōu)楹我x擇PyTorch 呢?Tensorflow 不是深度學(xué)習(xí)框架默認的老大嗎,為什么不直接選擇Tensorflow 而是要選擇PyTorch 呢?下面分4個方面來介紹為何要使用PyTorch。
(1)掌握一個框架并不能一勞永逸,現(xiàn)在深度學(xué)習(xí)并沒有誰擁有絕對的壟斷地位,就算是Google 也沒有,所以只學(xué)習(xí)Tensorflow 并不夠。同時現(xiàn)在的研究者使用各個框架的都有,如果你要去看他們實現(xiàn)的代碼,至少也需要了解他們使用的框架,所以多學(xué)一個框架,以備不時之需。
(2)Tensorflow 與Caffe 都是命令式的編程語言,而且是靜態(tài)的,首先必須構(gòu)建一個神經(jīng)網(wǎng)絡(luò),然后一次又一次使用同樣的結(jié)構(gòu),如果想要改變網(wǎng)絡(luò)的結(jié)構(gòu),就必須從頭開始。但是對于PyTorch,通過一種反向自動求導(dǎo)的技術(shù),可以讓你零延遲地任意改變神經(jīng)網(wǎng)絡(luò)的行為,盡管這項技術(shù)不是PyTorch 獨有,但目前為止它實現(xiàn)是最快的,能夠為你任何瘋狂想法的實現(xiàn)獲得最高的速度和最佳的靈活性,這也是PyTorch 對比Tensorflow 最大的優(yōu)勢。
(3)PyTorch 的設(shè)計思路是線性、直觀且易于使用的,當(dāng)你執(zhí)行一行代碼時,它會忠實地執(zhí)行,并沒有異步的世界觀,所以當(dāng)你的代碼出現(xiàn)Bug 的時候,可以通過這些信息輕松快捷地找到出錯的代碼,不會讓你在Debug 的時候因為錯誤的指向或者異步和不透明的引擎浪費太多的時間。
(4)PyTorch 的代碼相對于Tensorflow 而言,更加簡潔直觀,同時對于Tensorflow高度工業(yè)化的很難看懂的底層代碼,PyTorch 的源代碼就要友好得多,更容易看懂。深入API,理解PyTorch 底層肯定是一件令人高興的事。一個底層架構(gòu)能夠看懂的框架,你對其的理解會更深。
最后,我們簡要總結(jié)一下PyTorch 的特點:
支持GPU;
動態(tài)神經(jīng)網(wǎng)絡(luò);
Python 優(yōu)先;
命令式體驗;
輕松擴展。
擁有著如此多優(yōu)點的.PyTorch 也有著它的缺點,因為這款框架比較新,所以使用的人也就比較少,這也就使得它的社區(qū)沒有那么強大,但是PyTorch 提供了一個官方的論壇,大多數(shù)碰到的問題都可以去里面搜索,里面的答案一般都是由作者或者其他PyTorch 使用者提供的,論壇的更新也特別頻繁,同時也可以去Github 上面提Issue,一般很快就會得到開發(fā)者的回應(yīng),也算是一定程度上解決了社區(qū)的問題。
以上就是python torch是什么的詳細內(nèi)容,更多請關(guān)注風(fēng)君子博客其它相關(guān)文章!
總結(jié)
以上是生活随笔為你收集整理的python torch是什么的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [深度学习] 自然语言处理---Tran
- 下一篇: php用什么部署