开发人工智能使用哪种编程语言好
最適合人工智能開發(fā)的5種編程語言,你知道幾種?
01、Python
第一名毫無疑問是 Python。盡管 Python 有些特性令人不爽(whitespace、Python 2.x 和 Python 3.x 之間的巨大差異、五種不同的包機制都在不同程度上有缺陷)但如果你正在從事 AI 工作,你幾乎肯定會在某些時候用到 Python。
Python 中可用庫的數(shù)量是其他語言所無法企及的。NumPy 已經(jīng)變得如此普遍,以至于幾乎成為了張量運算的標(biāo)準(zhǔn) API,Pandas 將 R 的強大而靈活的數(shù)據(jù)幀帶入 Python。對于自然語言處理(NLP),您可以使用久負(fù)盛名的 NLTK 和快如閃電的 SpaCy。對于機器學(xué)習(xí),有經(jīng)過實戰(zhàn)檢驗的 Scikit-learn。當(dāng)談到深度學(xué)習(xí)時,當(dāng)前所有的庫(TensorFlow,PyTorch,Chainer,Apache MXNet,Theano 等)都是在 Python 上首先實現(xiàn)的項目。
(在LiveEdu上,一位德國的AI開發(fā)者教大家如何使用Python開發(fā)兩個簡單的機器學(xué)習(xí)模型)
Python 是人工智能研究的前沿語言,這是擁有最多機器學(xué)習(xí)和深度學(xué)習(xí)框架的語言,也是 AI 研究者幾乎都掌握的語言。由于這些原因,Python 仍然是人工智能編程語言之王,您沒法繞過它。
02、JAVA 和相關(guān)語言
JVM 系列語言(Java,Scala,Kotlin,Clojure 等)也是 AI 應(yīng)用開發(fā)的絕佳選擇。無論是自然語言處理(CoreNLP)、張量運算(ND4J)還是完整的 GPU 加速深度學(xué)習(xí)堆棧(DL4J),您都可以使用大量的庫來管理流水線的各個部分。另外,您還可以輕松訪問 Apache Spark 和 Apache Hadoop 等大數(shù)據(jù)平臺。
Java 是大多數(shù)企業(yè)的通用語言,在 Java 8 和 Java 9 中提供了新的語言結(jié)構(gòu),這使得編寫 Java 代碼的體驗不再像我們過去所記得的那樣糟糕。使用 Java 編寫人工智能應(yīng)用可能會讓人覺得無聊,但它確實能完成工作,并且您可以使用所有現(xiàn)成的 Java 基礎(chǔ)架構(gòu)來開發(fā)、部署和監(jiān)視。
03、C/C++
在開發(fā) AI 應(yīng)用時,C / C ++ 不太可能成為您的首選,但如果您在嵌入式環(huán)境中工作,并且無法承受 Java 虛擬機或 Python 解釋器的開銷,那么 C / C ++ 就是最好的解決方案。當(dāng)你需要榨干系統(tǒng)的每一滴性能時,你就得面對可怕的指針世界。
幸運的是,現(xiàn)代 C / C ++ 寫起來體驗還不錯(實話實說!)。您可以從下列方法中選擇一個最適合的:您可以一頭扎進堆棧底部,使用 CUDA 等庫來編寫自己的代碼,這些代碼將直接在 GPU 上運行;您也可以使用 TensorFlow 或 Caffe 以訪問靈活的高級 API。后者還允許您導(dǎo)入數(shù)據(jù)科學(xué)家用 Python 寫的模型,然后以 C / C ++ 級別的速度在生產(chǎn)環(huán)境中運行它們。
在未來一年中,請密切留意 Rust 在 AI 領(lǐng)域的一些動作。結(jié)合 C / C ++ 級別的速度與類型和數(shù)據(jù)安全性,Rust 是實現(xiàn)產(chǎn)品級性能卻不會造成安全問題的最佳選擇。并且它現(xiàn)在已經(jīng)可以與 TensorFlow 綁定了。
04、Java
Java?我沒聽錯吧?其實,谷歌最近發(fā)布了 TensorFlow.js,這是一個 WebGL 加速庫,允許您在 Web 瀏覽器中訓(xùn)練和運行機器學(xué)習(xí)模型。它還包括 Keras API 以及加載和使用在常規(guī) TensorFlow 中訓(xùn)練過的模型的功能。這可能會吸引大量的 JS 開發(fā)者涌入 AI 領(lǐng)域。
雖然 Java 目前能夠訪問的機器學(xué)習(xí)庫與其他語言相比有所局限,但在不久的將來,開發(fā)者在網(wǎng)頁中添加神經(jīng)網(wǎng)絡(luò)就和添加 React 組件或 CSS 屬性一樣簡單。這聽上去既強大又恐怖。
TensorFlow.js 仍處于早期階段。目前它可在瀏覽器中運行,但不適用于 Node.js。它還沒有實現(xiàn)完整的 TensorFlow API。不過,我預(yù)計到 2018 年底,這兩個問題都將基本得到解決,并且Java 將在不久之后大舉進軍 AI 界。
05、R語言
R 在這份榜單中排名最末,并且看上去將會越來越?jīng)]落。
R 是數(shù)據(jù)科學(xué)家喜歡的語言。但是,其他程序員在第一次接觸 R 時會感到有些困惑,因為它采用了以數(shù)據(jù)幀為中心的方法。如果您有一組專門的 R 開發(fā)者,那么將 R 與 TensorFlow、Keras 或 H2O 搭配使用,進行研究、原型設(shè)計和實驗是有意義的。但基于性能和操作方面的考慮,我不愿意推薦將 R 用于生產(chǎn)。
雖然您可以寫出能在生產(chǎn)服務(wù)器上部署的高性能 R 代碼,但將這種用 R 語言編寫的原型重新編碼為 Java 或 Python 肯定會更容易。
人工智能,火的不能再火的詞了,想要駕馭他還需要不斷的磨練,語言是與人工智能對話的基本條件,以上的五種語言你掌握了幾種呢?不想成為未來世界的文盲就快些行動起來吧!
總結(jié)
以上是生活随笔為你收集整理的开发人工智能使用哪种编程语言好的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自定义车牌软键盘
- 下一篇: 小米 app消息推送服务器,APP使用小