溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

PyTorch1.3和TensorFlow 2.0的示例分析

發(fā)布時(shí)間:2022-01-04 10:43:27 來(lái)源:億速云 閱讀:157 作者:柒染 欄目:大數(shù)據(jù)

本篇文章為大家展示了PyTorch1.3和TensorFlow 2.0的示例分析,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

PyTorch 1.0以上版本加入了很多TensorFlow 2.0以下版本的功能,而TensorFlow 2.0以上版本卻增加了越來(lái)越多的PyTorch功能。這意味著PyTorch將獲得越來(lái)越多的靜態(tài)計(jì)算圖工具,而TensorFlow允許執(zhí)行eager模式。

盡管如此,我還是認(rèn)為PyTorch對(duì)研究者更加友好,更適合快速實(shí)現(xiàn)新方法,并且改進(jìn)了與C++的兼容性。TensorFlow的優(yōu)勢(shì)仍然是Google生態(tài)系統(tǒng)(TFLite,Android的TFLite,TPU等)的集成。但是,無(wú)論我使用哪個(gè),仍然存在很多問(wèn)題,這些問(wèn)題主要與Python相關(guān)。

大多數(shù)從事深度學(xué)習(xí)的人并沒(méi)有意識(shí)到在后臺(tái)發(fā)生了什么。易于使用的Python API出現(xiàn)在前端,而后端則以另一種完全不同的語(yǔ)言編寫(許多Python軟件包都是如此)。直到目前,PyTorch和TensorFlow的主要軟件包都不是用Python編寫的:
PyTorch1.3和TensorFlow 2.0的示例分析  


就其他軟件包/擴(kuò)展而論,例如TensorFlow I/O(或PyTorch的數(shù)據(jù)I/O傳輸途徑),顯而易見(jiàn),C++里構(gòu)建了一個(gè)完整的生態(tài)系統(tǒng),并且克服了Python里出現(xiàn)的許多問(wèn)題,這些是Python內(nèi)存I/O上仍不能解決的。   僅為了避免不必要的性能問(wèn)題,基本上,我們必須盡可能多地避免使用Python(和NumPy)函數(shù),而嘗試使用PyTorch和TensorFlow函數(shù)。  

PyTorch聲稱它不是用于C++框架的API,然而,一旦構(gòu)建它,和Cython以及Numba一起使用,就可以了。如果我們通過(guò)名為TensorFlow.jl的Julia API 使用TensorFlow,那么我們就不再面臨任何懸而未決的問(wèn)題,因?yàn)镴ulia的內(nèi)存管理要好得多。

更一般而言,深度學(xué)習(xí)模型的許多緩慢現(xiàn)象是由內(nèi)存I/O引起的。不管我們是做對(duì)象檢測(cè)還是關(guān)鍵點(diǎn)注釋,以及想要實(shí)時(shí)顯示,這些幾乎都沒(méi)問(wèn)題。只需考慮在視頻流上運(yùn)行的任何內(nèi)容。與加快應(yīng)用于此的深度學(xué)習(xí)模型速度相比,克服內(nèi)存I/O問(wèn)題要付出更多的努力(這是我的部分日常工作)。

那么,深度學(xué)習(xí)框架發(fā)展會(huì)走向何方呢?自動(dòng)區(qū)分仍然是一個(gè)巨大的問(wèn)題,尤其是對(duì)于真正罕見(jiàn)的功能。使用Swift進(jìn)行TensorFlow實(shí)驗(yàn),PyTorch?誰(shuí)知道呢,他們要往哪里前進(jìn)。

我不是C++的忠實(shí)擁護(hù)者(我更喜歡C而不是C++),因?yàn)樗菀壮鲥e(cuò),可能導(dǎo)致安全問(wèn)題。即使人們可能傳輸了所有的編碼采訪而構(gòu)建了有缺陷的C++軟件(是的,我強(qiáng)烈反對(duì)編碼采訪),人們還是應(yīng)該正確地學(xué)習(xí)它,反復(fù)強(qiáng)調(diào)是無(wú)濟(jì)于事的。

在HPC(高性能計(jì)算)中,許多軟件已經(jīng)或者正從FORTRAN遷移到C++,我不明白。因?yàn)閷⒔?jīng)過(guò)良好測(cè)試的FORTRAN代碼遷移到(未經(jīng)測(cè)試的)C++對(duì)我來(lái)說(shuō)沒(méi)有任何意義。改變一種編程語(yǔ)言到另一種極其相似的語(yǔ)言,為什么多此一舉?我仍然認(rèn)為,從長(zhǎng)遠(yuǎn)來(lái)看,Rust(適用于系統(tǒng)級(jí)和GUI的所有產(chǎn)品)和Julia(適用于機(jī)器學(xué)習(xí))的組合將獲得成功。

目前正在使用的是什么?好吧,我已經(jīng)從TensorFlow/Keras切換到以PyTorch為主,因?yàn)槲倚枰嗟淖远x/非標(biāo)準(zhǔn)功能。但這并不意味著我不再使用TensorFlow/Keras。在2020年,我希望朝著僅使用Julia框架邁進(jìn)。

上述內(nèi)容就是PyTorch1.3和TensorFlow 2.0的示例分析,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI