• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      Golang或?qū)⒔y(tǒng)治人工智能下一個10年

      2020-04-01 20:25:02王雄
      關(guān)鍵詞:解釋性編程語言開發(fā)人員

      王雄

      過去幾年,Python成為人工智能和數(shù)據(jù)科學(xué)領(lǐng)域最受歡迎的編程語言。但是隨著5G時代的來臨,生產(chǎn)環(huán)境對AI應(yīng)用的性能要求越來越高,Python有點(diǎn)“力不從心”。天生支持并發(fā)的Golang應(yīng)運(yùn)而生,有專家稱,Go語言將統(tǒng)治人工智能的下一個10年。

      30年前,Python首次出現(xiàn),但是Python花了20年的時間才得到公眾的認(rèn)可,根據(jù)2019年Stack Overflow的調(diào)查,Python成為開發(fā)人員第二喜愛的語言。過去的5年里,Python的成長無疑是巨大的,已經(jīng)成為機(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)開發(fā)人員的首選語言。

      短時間來看,Python的主導(dǎo)地位大概率不會變,但是與一些新興的語言相比,它有嚴(yán)重的缺點(diǎn),將成為生產(chǎn)環(huán)境部署的障礙。

      與其他語言相比,它的語法很簡單,任何人都可以在幾個小時或幾天內(nèi)學(xué)會Python的基礎(chǔ)知識。即使在學(xué)習(xí)了C++或Java等其他語言之后,開發(fā)人員還是更愿意使用Python。因?yàn)闊o論想做什么,總有一個Python庫能滿足你的需求,這些庫讓開發(fā)數(shù)據(jù)科學(xué)和AI類的應(yīng)用變的簡單高效。

      但Python在大規(guī)模生產(chǎn)環(huán)境下的性能問題,直接影響了AI應(yīng)用的開發(fā)效率?,F(xiàn)在很多人工智能初創(chuàng)企業(yè),正處于底層架構(gòu)的構(gòu)建階段,檢查Python的問題很有必要。

      Python是一個解釋性語言,這導(dǎo)致它執(zhí)行起來比較慢,與其他編程語言如C++和Go相比,Python的執(zhí)行速度就像烏龜一樣,所以很多AI模型雖然是用Python開發(fā)的原型,部署時還得轉(zhuǎn)成其他語言。

      Python是一種動態(tài)類型語言,變量的數(shù)據(jù)類型在運(yùn)行時自動判斷,也使得執(zhí)行速度變慢。為了克服Python的速度,很多Python庫選擇更快的語言來重寫,例如TensorFlow、Numpy和Pandas部分是用C或C++編寫的,它們有助于顯著提高執(zhí)行速度。這就有點(diǎn)像拄著拐走路,一直需要外界的幫助。

      隨著5G時代的來臨,多任務(wù)并行處理和實(shí)時性的需求猛增,Python是可以構(gòu)建小而美的應(yīng)用,但是大規(guī)模、高吞吐的場景下,表現(xiàn)不盡如人意。雖然有很多方法來提高Python的并行計(jì)算的能力,但都是“曲線救國”,并沒有實(shí)現(xiàn)真正意義的并行,因?yàn)镻ython中存在一個GIL鎖,每次只允許程序執(zhí)行一個線程。

      GIL的全稱是Global Interpreter Lock,意思是全局解釋器鎖,是Python之父為了數(shù)據(jù)安全而設(shè)計(jì)的,那時計(jì)算機(jī)主頻還沒有達(dá)到1 GByte,程序全部都是運(yùn)行在單核計(jì)算機(jī)上面。

      某個線程想要執(zhí)行,必須先拿到GIL,可以把GIL看作是CPU的“通行證”,拿不到通行證就不允許進(jìn)入CPU執(zhí)行,Python的多線程實(shí)際上并沒有利用到多核計(jì)算的優(yōu)勢,它不管你有幾個核,100個核也只能一次跑一個線程。

      所以,原生的Python在性能上是有諸多限制的。人工智能和數(shù)據(jù)科學(xué)領(lǐng)域,對性能需求又很高,那有沒有一種語言既有Python簡單易用的優(yōu)點(diǎn),又能滿足生產(chǎn)需求呢?

      這時,Golang應(yīng)運(yùn)而生。

      Golang(Go)是一種靜態(tài)和編譯型語言,這意味著它的執(zhí)行速度將比Python快好幾倍。

      與Python不同,Go不需要其他語言的幫助來提高速度。Go執(zhí)行幾乎和C++,Java一樣快,而且Go編譯代碼比C++和Java也快得多,有些游戲中Go所需時間只有Python的百分之一。

      Go的語法也很簡單,程序?qū)懲旰罂梢灾苯泳幾g成二進(jìn)制文件執(zhí)行,25個關(guān)鍵字就能表達(dá)你能想到的所有招式,想干啥事就Go一下。

      Go最大的特色就是天生支持并發(fā),不需要像其他編程語言那樣需要開發(fā)者自行實(shí)現(xiàn),或借助第三方庫實(shí)現(xiàn),邏輯簡單通俗易懂。

      Go使用Goroutine來實(shí)現(xiàn)并發(fā),Goroutine是可以同時獨(dú)立運(yùn)行的函數(shù),只占用2 KByte的內(nèi)存,所以單機(jī)同時運(yùn)行成千上萬個Goroutine,也沒問題。

      不同于其他腳本或解釋性高級編程語言,Go編寫的代碼可直接了當(dāng)編譯成機(jī)器碼高效執(zhí)行。x86,AMD64(x86_64),ARM,Linux,Windows,Darwin(OSX),F(xiàn)reeBSD,Android幾乎全平臺支持,真正做到了一碼在手,隨處復(fù)用。

      人工智能正在席卷整個世界,機(jī)器學(xué)習(xí)、深度學(xué)習(xí)等模仿人類智能的應(yīng)用程序?qū)映霾桓F,Python可以很好地構(gòu)建原型系統(tǒng),幫我們驗(yàn)證模型是否有利用提高效率。

      但現(xiàn)在,對高可擴(kuò)展性和計(jì)算能力的需求,讓Python有點(diǎn)捉襟見肘,而Go則在這些方面表現(xiàn)出了更大的潛力。與Python相比,Go的速度可以快幾十倍、上百倍,吞吐更多的數(shù)據(jù),滿足更高的并發(fā)需求。

      根據(jù)Hackearth對來自76個國家的16 000多名開發(fā)者的調(diào)查,Go成為2020年最受歡迎的編程語言,有經(jīng)驗(yàn)的開發(fā)人員中有近三成想學(xué)習(xí)Go,學(xué)生中這一比例也達(dá)到了29 %。知乎在幾年前也將推薦系統(tǒng)從Python切換到了Go。

      Go首席布道師許式偉2015年時曾說,Go語言將在兩年內(nèi)制霸云計(jì)算領(lǐng)域,而且Go將統(tǒng)治下一個10年。

      Docker、Kubernetes等項(xiàng)目的成功,讓Go在集群計(jì)算和云計(jì)算領(lǐng)域拔得了頭籌,但是Go的腳步并沒有停下。利用機(jī)器學(xué)習(xí)、深度學(xué)習(xí)來預(yù)測和推理,最終目的還是為了生產(chǎn)服務(wù)。Go對生產(chǎn)環(huán)境的支持要遠(yuǎn)遠(yuǎn)好于Python,比如Go語言開發(fā)的Cortex,可以將Python開發(fā)的AI模型快速、穩(wěn)定地部署至生產(chǎn)環(huán)境。

      Go和Python兩大社區(qū)的開發(fā)人員也爭論過哪種語言更好,似乎,誰也沒完全說服誰。但越來越多的公司采用Go搭建基礎(chǔ)架構(gòu),至少證明對生產(chǎn)環(huán)境來說,Go更加合適。

      猜你喜歡
      解釋性編程語言開發(fā)人員
      著力構(gòu)建可解釋性模型
      壓力-體積轉(zhuǎn)換在CFC編程語言中的實(shí)現(xiàn)解析
      論行政自由裁量的“解釋性控權(quán)”
      法律方法(2021年4期)2021-03-16 05:35:16
      Java編程語言的特點(diǎn)與應(yīng)用
      Semtech發(fā)布LoRa Basics 以加速物聯(lián)網(wǎng)應(yīng)用
      淺談不同編程語言對計(jì)算機(jī)軟件開發(fā)的影響
      電子制作(2018年1期)2018-04-04 01:48:36
      融媒體時代解釋性報(bào)道的發(fā)展之路
      傳播力研究(2017年5期)2017-03-28 09:08:30
      非解釋性憲法適用論
      面向?qū)ο骔eb開發(fā)編程語言的的評估方法
      讓W(xué)indows 10進(jìn)入開發(fā)者模式
      電腦迷(2015年12期)2015-04-29 23:22:51
      乌恰县| 三原县| 松溪县| 濮阳县| 鸡西市| 射阳县| 泾川县| 海南省| 宁强县| 鹤山市| 定兴县| 定西市| 二连浩特市| 江华| 崇文区| 梅州市| 洛川县| 嘉荫县| 乌拉特后旗| 罗源县| 神池县| 普格县| 育儿| 襄城县| 宁晋县| 革吉县| 黔江区| 女性| 来安县| 凯里市| 玛多县| 舞阳县| 探索| 玛沁县| 基隆市| 都安| 东莞市| 东乡族自治县| 内丘县| 禹城市| 天峨县|