久久思思精品_亚洲精品自拍视频_久久永久免费人妻精品直播_日本韩国欧美在线观看

分析人工智能系統開發的最佳編程語言趨勢

2019-02-26 10:27:56分類:行業資訊4574

  AI(人工智能)為應用程序開發人員打開了一個充滿可能性的世界。 通過利用機器學習或深度學習,您可以生成更好的用戶畫像、個性特征和適當推薦,或者包含更智能的搜索、語音接口或智能輔助,或者以其他方式改進您的應用程序。 您甚至可以構建能看、會聽并響應的應用程序。

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

  以下是我對人工智能開發的五種最佳編程語言的選擇,以及三項榮譽提及。 其中一些語言正在崛起,而其他語言似乎正在下滑。 幾個月后回來,沒準你可能會發現這些排名發生了變化。

  那么,應該選擇哪種編程語言進行機器學習或深度學習項目? 給你推薦五種最佳的編程語言選擇。
 

人工智能系統開發
 

  一、AI編程首選

  1.Python

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

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

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

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

  2.Java和他的朋友

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

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

  3.C/C++

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

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

  請留意Rust在未來一年中在這個領域所做的事情。 結合C/C++的速度與類型和數據安全性,Rust是實現生產性能的絕佳選擇,而不會產生安全問題。 并且對Rust來說,TensorFlow綁定已經可用了。

  4.JavaScript

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

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

  5.R

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

人工智能系統開發
 

  二、其它AI編程

  當然,Python,Java,C/C++,JavaScript和R并不是唯一可用于AI編程的語言。 讓我們來看看其它三種編程語言,這些語言并沒有完全進入我們的前五——二上升,一下降。

  1.Lua

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

  2.Julia

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

  3.Swift

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

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

上一篇:下一篇:
赤城县| 寿宁县| 司法| 区。| 宝坻区| 阳原县| 万盛区| 清流县| 河东区| 贺兰县| 临安市| 安乡县| 右玉县| 泰宁县| 马鞍山市| 雷州市| 措美县| 昔阳县| 托克托县| 临颍县| 樟树市| 郴州市| 宁国市| 博爱县| 克山县| 晋中市| 乐都县| 安岳县| 兴山县| 读书| 青龙| 龙川县| 南和县| 万源市| 泰安市| 宁晋县| 横山县| 龙江县| 连平县| 布尔津县| 铅山县|