<ruby id="66w77"><video id="66w77"></video></ruby>
<ruby id="66w77"><option id="66w77"><thead id="66w77"></thead></option></ruby>
  • <ruby id="66w77"><table id="66w77"></table></ruby>

  • <ruby id="66w77"><table id="66w77"></table></ruby>
    <strong id="66w77"></strong>

    分析人工智能系統開(kāi)發(fā)的最佳編程語(yǔ)言趨勢

    2019-02-26 10:27:56分類(lèi):行業(yè)資訊4616

      AI(人工智能)為應用程序開(kāi)發(fā)人員打開(kāi)了一個(gè)充滿(mǎn)可能性的世界。 通過(guò)利用機器學(xué)習或深度學(xué)習,您可以生成更好的用戶(hù)畫(huà)像、個(gè)性特征和適當推薦,或者包含更智能的搜索、語(yǔ)音接口或智能輔助,或者以其他方式改進(jìn)您的應用程序。 您甚至可以構建能看、會(huì )聽(tīng)并響應的應用程序。

      你應該學(xué)習哪種編程語(yǔ)言來(lái)探究AI的深度? 當然,您需要一種具有許多良好機器學(xué)習和深度學(xué)習庫的語(yǔ)言。 它還應具有良好的運行時(shí)性能、良好的工具支持、大型??程序員社區以及健康的支持包生態(tài)系統。 這仍然能留下很多好的選擇。

      以下是我對人工智能開(kāi)發(fā)的五種最佳編程語(yǔ)言的選擇,以及三項榮譽(yù)提及。 其中一些語(yǔ)言正在崛起,而其他語(yǔ)言似乎正在下滑。 幾個(gè)月后回來(lái),沒(méi)準你可能會(huì )發(fā)現這些排名發(fā)生了變化。

      那么,應該選擇哪種編程語(yǔ)言進(jìn)行機器學(xué)習或深度學(xué)習項目? 給你推薦五種最佳的編程語(yǔ)言選擇。
     

    人工智能系統開(kāi)發(fā)
     

      一、AI編程首選

      1.Python

      排名第一的是Python。 怎么可能是別的,真的嗎? 雖然有一些關(guān)于Python的令人抓狂的事情 ——空格、Python 2.x和Python 3.x之間的重大分裂、五種不同的打包系統,它們都將不是問(wèn)題——如果你正在進(jìn)行AI工作,你幾乎肯定會(huì ) 在某些時(shí)候使用Python。

      Python中提供的庫在其他語(yǔ)言中幾乎是無(wú)與倫比的。 NumPy已經(jīng)變得如此普遍,它幾乎是張量操作的標準API,而Pandas將R強大而靈活的數據幀帶入Python。 對于自然語(yǔ)言處理(NLP),您擁有令人尊敬的NLTK和極其快速的SpaCy。 對于機器學(xué)習,有經(jīng)過(guò)實(shí)戰考驗的Scikit-learn。 當涉及到深度學(xué)習時(shí),所有當前的庫(TensorFlow,PyTorch,Chainer,Apache MXNet,Theano等)都是有效的Python優(yōu)先項目。

      如果您正在閱讀關(guān)于arXiv的尖端深度學(xué)習研究,那么幾乎可以肯定您會(huì )在Python中找到源代碼。 然后是Python生態(tài)系統的其他部分。雖然IPython已成為Jupyter Notebook,而不是以Python為中心,但您仍會(huì )發(fā)現大多數Jupyter Notebook用戶(hù)以及大多數在線(xiàn)共享的筆記本都使用Python。

      沒(méi)法繞過(guò)它。 Python是人工智能研究的最前沿語(yǔ)言,是你能找到最多的機器學(xué)習和深度學(xué)習框架的語(yǔ)言,也是AI世界中幾乎所有人都會(huì )說(shuō)的。 出于這些原因,Python是人工智能編程語(yǔ)言中的第一個(gè),盡管你的編碼作者每天至少會(huì )詛咒一次空白問(wèn)題。

      2.Java和他的朋友

      JVM家族系列語(yǔ)言(Java,Scala,Kotlin,Clojure等)也是AI應用程序開(kāi)發(fā)的絕佳選擇。 無(wú)論是自然語(yǔ)言處理(CoreNLP)、張量操作(ND4J)還是完整的GPU加速深度學(xué)習堆棧(DL4J),您都可以使用豐富的庫來(lái)管理所有部分。此外,您還可以輕松訪(fǎng)問(wèn)Apache Spark和Apache Hadoop等大數據平臺。

      Java是大多數企業(yè)的通用語(yǔ)言,Java 8和Java 9中提供了新的語(yǔ)言結構,編寫(xiě)Java代碼并不是我們許多人記憶中的可憎體驗。 用Java編寫(xiě)AI應用程序可能會(huì )讓人覺(jué)得無(wú)聊,但它可以完成工作 - 您可以使用所有現有的Java基礎架構進(jìn)行開(kāi)發(fā)、部署和監視。

      3.C/C++

      在開(kāi)發(fā)AI應用程序時(shí),C/C++不太可能是您的首選,但如果您在嵌入式環(huán)境中工作,并且無(wú)法負擔Java虛擬機或Python解釋器的開(kāi)銷(xiāo),那么C/C++就是解決之道。當你需要從系統中獲取最后一點(diǎn)性能時(shí),你需要回到可怕的指針世界。

      值得慶幸的是,現代的C/C++寫(xiě)起來(lái)還是很愉快的(誠實(shí)之言!)。 具體方法你是有的選擇的——您可以深入了解堆棧底部,使用CUDA等庫來(lái)編寫(xiě)直接在GPU上運行的代碼,也可以使用TensorFlow或Caffe來(lái)訪(fǎng)問(wèn)靈活的高級API。 后者還允許您導入數據科學(xué)家可能使用Python構建的模型,然后以C/C++提供的所有速度在生產(chǎn)中運行它們。

      請留意Rust在未來(lái)一年中在這個(gè)領(lǐng)域所做的事情。 結合C/C++的速度與類(lèi)型和數據安全性,Rust是實(shí)現生產(chǎn)性能的絕佳選擇,而不會(huì )產(chǎn)生安全問(wèn)題。 并且對Rust來(lái)說(shuō),TensorFlow綁定已經(jīng)可用了。

      4.JavaScript

      JavaScript? 到底幾個(gè)意思? 淡定,聽(tīng)我說(shuō)說(shuō)——Google最近發(fā)布了TensorFlow.js,這是一個(gè)WebGL加速庫,允許您在Web瀏覽器中訓練和運行機器學(xué)習模型。 它還包括Keras API以及加載和使用在常規TensorFlow中訓練的模型的能力。 這可能會(huì )吸引大量開(kāi)發(fā)人員涌入AI領(lǐng)域。 雖然JavaScript目前沒(méi)有與此處列出的其他語(yǔ)言相同的機器學(xué)習庫訪(fǎng)問(wèn)權限,但很快開(kāi)發(fā)人員將在他們的網(wǎng)頁(yè)中添加神經(jīng)網(wǎng)絡(luò ),與添加React組件或CSS屬性幾乎相同。真是即賦予權力有讓人震恐。

      TensorFlow.js仍處于早期階段。 目前它在瀏覽器中有用,但在Node.js中不起作用。 它還沒(méi)有實(shí)現完整的TensorFlow API。 但是,我預計這兩個(gè)問(wèn)題將在2018年底之前得到解決,此后不久JavaScript將對人工智能進(jìn)行入侵。

      5.R

      R進(jìn)入前五名的底部,并且趨勢向下。 R是數據科學(xué)家喜愛(ài)的語(yǔ)言。 但是,由于其以數據幀為中心的方法,其他程序員在第一次遇到R時(shí)會(huì )發(fā)現R有點(diǎn)混亂。 如果你有一個(gè)專(zhuān)門(mén)的R開(kāi)發(fā)人員小組,那么使用與TensorFlow,Keras或H2O的集成進(jìn)行研究,原型設計和實(shí)驗是有意義的,但由于性能和操作問(wèn)題,我不愿意推薦R用于生產(chǎn)用途 。 雖然您可以編寫(xiě)可以部署在生產(chǎn)服務(wù)器上的高性能R代碼,但是使用該R原型并使用Java或Python重新編寫(xiě)它幾乎肯定會(huì )更容易。
     

    人工智能系統開(kāi)發(fā)
     

      二、其它AI編程

      當然,Python,Java,C/C++,JavaScript和R并不是唯一可用于A(yíng)I編程的語(yǔ)言。 讓我們來(lái)看看其它三種編程語(yǔ)言,這些語(yǔ)言并沒(méi)有完全進(jìn)入我們的前五——二上升,一下降。

      1.Lua

      幾年前,Lua在人工智能領(lǐng)域處于領(lǐng)先地位。 使用Torch框架,Lua是最流行的深度學(xué)習開(kāi)發(fā)語(yǔ)言之一,你仍然會(huì )在GitHub上遇到很多歷史深度學(xué)習工作,用Lua/Torch定義模型。 我認為,為了研究和查看人們以前的工作,熟悉Lua是個(gè)好主意。 但隨著(zhù)TensorFlow和PyTorch這樣的框架的到來(lái),Lua的使用已大幅減少。

      2.Julia

      Julia是一種高性能的編程語(yǔ)言,專(zhuān)注于數值計算,這使得它非常適合“數學(xué)繁重”的AI世界。 雖然現在不是那種流行的語(yǔ)言選擇,但像TensorFlow.jl和Mocha(受Caffe影響很大)這樣的包裝器提供了良好的深度學(xué)習支持。 如果你不介意那里還沒(méi)有一個(gè)龐大的生態(tài)系統,但是希望從其專(zhuān)注于使高性能計算變得容易和迅速的過(guò)程中獲益,這是個(gè)不錯的選擇。

      3.Swift

      正如我們要推出的那樣,LLVM編譯器和Swift編程語(yǔ)言的創(chuàng )建者Chris Lattner宣布推出Swift for TensorFlow,該項目承諾將Python提供的易用性與速度和靜態(tài)類(lèi)型檢查相結合的編譯型語(yǔ)言。 作為獎勵,Swift for TensorFlow還允許您導入Python庫(如NumPy)并在Swift代碼中使用它們,就像使用任何其他庫一樣。

      現在,Swift for Tensorflow目前處于開(kāi)發(fā)的早期階段,但是能夠編寫(xiě)現代編程結構并獲得速度和安全性的編譯時(shí)保證,確實(shí)是一個(gè)誘人的前景。 即使你還沒(méi)出去學(xué)習Swift,我也建議你留意這個(gè)項目。

    上一篇:下一篇:
    92视频在线精品国自产拍_乱色熟女综合一区二区_国产精品毛片久久久久久久_久天啪天天久久99久孕妇
    <ruby id="66w77"><video id="66w77"></video></ruby>
    <ruby id="66w77"><option id="66w77"><thead id="66w77"></thead></option></ruby>
  • <ruby id="66w77"><table id="66w77"></table></ruby>

  • <ruby id="66w77"><table id="66w77"></table></ruby>
    <strong id="66w77"></strong>