自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

特斯拉嫌棄 Python,追捧 C++

新聞 前端
近年來(lái),發(fā)展勢(shì)頭之迅猛唯一能與AI相匹敵的現(xiàn)象就是Python編程語(yǔ)言。對(duì)于許多在紛紛設(shè)立數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)部門的企業(yè)組織來(lái)說(shuō),Python已成為了首選語(yǔ)言。

 近年來(lái),發(fā)展勢(shì)頭之迅猛唯一能與AI相匹敵的現(xiàn)象就是Python編程語(yǔ)言。對(duì)于許多在紛紛設(shè)立數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)部門的企業(yè)組織來(lái)說(shuō),Python已成為了首選語(yǔ)言。改用Python的步伐太快了,以至于許多編程語(yǔ)言被認(rèn)為已過(guò)時(shí)了。

特斯拉嫌弃 Python,追捧 C++

然而,特斯拉首席執(zhí)行官Elon Musk在一連串推文中宣布,特斯拉有多么重視召集一流人才來(lái)開(kāi)發(fā)與AI有關(guān)的項(xiàng)目。他還宣布準(zhǔn)備在家中辦一場(chǎng)招待會(huì),邀請(qǐng)AI愛(ài)好者參加黑客馬拉松(hackathon)。
他補(bǔ)充道,雖然用于計(jì)算機(jī)視覺(jué)模型的神經(jīng)網(wǎng)絡(luò)是用Python編寫(xiě)的,但特斯拉團(tuán)隊(duì)需要編程技能出眾的人員,尤其是C和C++方面。

特斯拉嫌弃 Python,追捧 C++

用C/C++編程以制造自動(dòng)駕駛汽車聽(tīng)起來(lái)很奇怪,但Musk的推文確實(shí)讓人們對(duì)Python方面的炒作產(chǎn)生了一些懷疑。

指出了基礎(chǔ)設(shè)施復(fù)雜性種種陷阱的開(kāi)發(fā)人員對(duì)此并不茍同。

特斯拉嫌弃 Python,追捧 C++

馬斯克稱:我們(顯然)也在尋找世界一流的芯片設(shè)計(jì)師加入我們?cè)谂谅灏柾泻蛫W斯汀的團(tuán)隊(duì)。我們的神經(jīng)網(wǎng)絡(luò)最初使用Python以便快速迭代,然后轉(zhuǎn)換成C++/C/裸機(jī)驅(qū)動(dòng)程序代碼以提高速度(這很重要?。?。另外,車輛控制和自動(dòng)駕駛汽車其余全部都需要大批的C++/C工程師。學(xué)歷不重要,但都必須通過(guò)實(shí)打?qū)嵉木幊虦y(cè)試。

然而,不可對(duì)推文信以為真。信息量常常被壓縮,PyTorch的共同開(kāi)發(fā)者Soumith Chintala點(diǎn)明了Musk真正的含意。他解釋道,轉(zhuǎn)換成C++并不意味著要使用C++手動(dòng)重寫(xiě),而是自動(dòng)轉(zhuǎn)換成低級(jí)運(yùn)行時(shí)代碼。

他還補(bǔ)充道,特斯拉團(tuán)隊(duì)有自己的ASIC和傳感器等,這些可能有其自己的工具、驅(qū)動(dòng)程序、多階段中間表示(staged IR)和編譯器等。

C ++語(yǔ)言還為硬件功能的直接映射以及基于那些映射的零開(kāi)銷抽象提供了便利。

工具盲目崇拜的詛咒

特斯拉嫌弃 Python,追捧 C++

圖片來(lái)源:英偉達(dá)

大多數(shù)流行的機(jī)器學(xué)習(xí)框架都依賴C++,比如TensorFlow、Pytorch甚至CUDA。

如上所示,CUDA不僅僅是一種編程語(yǔ)言,更是一種工具包,為使用C/C++的開(kāi)發(fā)人員提供了擴(kuò)展,以便表達(dá)大量的并行處理,并引導(dǎo)編譯器處理應(yīng)用程序中映射到GPU的那部分。

同樣,Python也是一種接口,它讓用戶可以進(jìn)行交互并利用機(jī)器學(xué)習(xí)功能,無(wú)需學(xué)習(xí)C++的基本細(xì)節(jié)。

Python主要用作一種接口。作出這樣的安排是為了讓更多非編程出身的開(kāi)發(fā)人員可以盡快上手、構(gòu)建機(jī)器學(xué)習(xí)應(yīng)用程序。

Python易學(xué)易用,它之所以大受歡迎就是緣于這一點(diǎn)。然而,如果人們從頭開(kāi)始學(xué)起,會(huì)發(fā)現(xiàn)C ++這種傳統(tǒng)語(yǔ)言之類的語(yǔ)言支持的API和接口用起來(lái)很容易。

只需借助經(jīng)過(guò)優(yōu)化的GPU庫(kù)(比如BLAS)和計(jì)算機(jī)視覺(jué)庫(kù)(比如OpenCV)。需要速度的一切應(yīng)用都可以用C++以及Python綁定加以編寫(xiě)。

與C++不同,Python用戶可以從零開(kāi)始編寫(xiě)一個(gè)卷積神經(jīng)網(wǎng)絡(luò),用不了50行代碼。C++需要了解一些較復(fù)雜的知識(shí),這對(duì)新手來(lái)說(shuō)是一大弊端。在這里時(shí)間很關(guān)鍵。比如說(shuō),正整合機(jī)器學(xué)習(xí)工具的物理學(xué)家更喜歡像Python這種輕巧而簡(jiǎn)單的編程語(yǔ)言。然而,C++在庫(kù)和框架的后臺(tái)處理所有繁重任務(wù)(讀取矩陣乘法)。

特斯拉嫌弃 Python,追捧 C++

據(jù)PyTorch團(tuán)隊(duì)聲稱,前端的C++讓用戶可以在無(wú)法使用Python或Python工具不適合任務(wù)的環(huán)境中進(jìn)行研究。優(yōu)點(diǎn)總結(jié)如下:

如果用戶想在每秒幀數(shù)高、延遲低的要求下在純粹的C++游戲引擎中進(jìn)行強(qiáng)化學(xué)習(xí)研究,對(duì)于這種環(huán)境而言,使用純粹的C ++庫(kù)比Python庫(kù)要適合得多。

由于全局解釋器鎖(GIL),Python一次無(wú)法運(yùn)行多個(gè)系統(tǒng)線程。多重處理是一種替代方法,但擴(kuò)展性欠佳,并存在諸多缺點(diǎn)。C++沒(méi)有這樣的約束或限制,而且它的線種易于使用和創(chuàng)建。

前端的C++將允許用戶繼續(xù)使用C++,無(wú)需在訓(xùn)練期間在Python和C++之間來(lái)回切換。

然而,由于Python解釋器速度慢,因此對(duì)于增強(qiáng)學(xué)習(xí)項(xiàng)目之類的研究工作而言,Python可能仍難以處理。因此,C++庫(kù)將是正確的選擇。

就TensorFlow而言,總體上來(lái)說(shuō)結(jié)合了經(jīng)過(guò)高度優(yōu)化的C++和CUDA。反過(guò)來(lái),它們又使用Eigen(高性能C++和CUDA數(shù)值庫(kù))和英偉達(dá)的cuDNN優(yōu)化深度神經(jīng)網(wǎng)絡(luò)庫(kù)用于卷積之類的功能。

選擇任何語(yǔ)言或工具歸結(jié)為在執(zhí)行簡(jiǎn)易性和延遲之間作一個(gè)取舍。對(duì)于機(jī)器學(xué)習(xí)方面的主題專家來(lái)說(shuō),擁有C++方面的知識(shí)這個(gè)要求未免太高了。他們可以使用Python,而C++開(kāi)發(fā)人員編寫(xiě)與機(jī)器進(jìn)行交互的代碼。這種安排對(duì)許多企業(yè)組織來(lái)說(shuō)很好。這就是為什么特斯拉的AI團(tuán)隊(duì)需要Python開(kāi)發(fā)人員和C++開(kāi)發(fā)人員組成的隊(duì)伍來(lái)構(gòu)建下一代自主產(chǎn)品實(shí)乃明智之舉。
 


 

 

責(zé)任編輯:張燕妮 來(lái)源: 云頭條
相關(guān)推薦

2010-03-12 18:01:42

Python編程語(yǔ)言

2020-09-18 06:48:21

Python編程語(yǔ)言

2020-09-21 06:10:47

Python lambda匿名函數(shù)

2011-07-14 17:45:06

CC++

2010-01-21 14:07:14

CC++聲明

2010-01-21 09:34:57

C++語(yǔ)法

2010-01-27 16:05:06

C++堆棧

2010-01-26 15:51:06

C++變量

2011-07-15 00:47:13

C++多態(tài)

2010-01-28 13:45:06

C++數(shù)組

2010-02-01 13:25:32

Python腳本

2010-01-20 10:19:55

C++數(shù)組

2010-01-21 13:33:44

C++基類

2010-01-25 10:25:19

C++變量

2010-01-28 16:31:54

C++類型

2010-01-27 17:16:52

C++構(gòu)造函數(shù)

2020-08-21 13:20:36

C++If ElseLinux

2011-07-10 15:26:54

C++

2010-03-26 09:48:43

Python嵌入C++

2010-01-15 18:57:58

C++CLI
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)