人工智能開發(fā)的編程語言

姓名:張立斐 ? 學號:19020700001? ?學院:電子工程學院?

轉(zhuǎn)自:https://blog.csdn.net/mao0514/article/details/119204287

【嵌牛導讀】人工智能開發(fā)的編程語言

【嵌牛鼻子】人工智能

【嵌牛提問】最適合人工智能開發(fā)的5種編程語言,你知道幾種?

【嵌牛正文】

01、Python

第一名毫無疑問是 Python。盡管 Python 有些特性令人不爽(whitespace、Python 2.x 和 Python 3.x 之間的巨大差異、五種不同的包機制都在不同程度上有缺陷)但如果你正在從事 AI 工作,你幾乎肯定會在某些時候用到 Python。

Python 中可用庫的數(shù)量是其他語言所無法企及的。NumPy 已經(jīng)變得如此普遍,以至于幾乎成為了張量運算的標準 API,Pandas 將 R 的強大而靈活的數(shù)據(jù)幀帶入 Python。對于自然語言處理(NLP),您可以使用久負盛名的 NLTK 和快如閃電的 SpaCy。對于機器學習,有經(jīng)過實戰(zhàn)檢驗的 Scikit-learn。當談到深度學習時,當前所有的庫(TensorFlow,PyTorch,Chainer,Apache MXNet,Theano 等)都是在 Python 上首先實現(xiàn)的項目。

(在LiveEdu上,一位德國的AI開發(fā)者教大家如何使用Python開發(fā)兩個簡單的機器學習模型)

Python 是人工智能研究的前沿語言,這是擁有最多機器學習和深度學習框架的語言,也是 AI 研究者幾乎都掌握的語言。由于這些原因,Python 仍然是人工智能編程語言之王,您沒法繞過它。

02、JAVA 和相關(guān)語言

JVM 系列語言(Java,Scala,Kotlin,Clojure 等)也是 AI 應用開發(fā)的絕佳選擇。無論是自然語言處理(CoreNLP)、張量運算(ND4J)還是完整的 GPU 加速深度學習堆棧(DL4J),您都可以使用大量的庫來管理流水線的各個部分。另外,您還可以輕松訪問 Apache Spark 和 Apache Hadoop 等大數(shù)據(jù)平臺。

Java 是大多數(shù)企業(yè)的通用語言,在 Java 8 和 Java 9 中提供了新的語言結(jié)構(gòu),這使得編寫 Java 代碼的體驗不再像我們過去所記得的那樣糟糕。使用 Java 編寫人工智能應用可能會讓人覺得無聊,但它確實能完成工作,并且您可以使用所有現(xiàn)成的 Java 基礎架構(gòu)來開發(fā)、部署和監(jiān)視。

03、C/C++

在開發(fā) AI 應用時,C / C ++ 不太可能成為您的首選,但如果您在嵌入式環(huán)境中工作,并且無法承受 Java 虛擬機或 Python 解釋器的開銷,那么 C / C ++ 就是最好的解決方案。當你需要榨干系統(tǒng)的每一滴性能時,你就得面對可怕的指針世界。

幸運的是,現(xiàn)代 C / C ++ 寫起來體驗還不錯(實話實說?。?。您可以從下列方法中選擇一個最適合的:您可以一頭扎進堆棧底部,使用 CUDA 等庫來編寫自己的代碼,這些代碼將直接在 GPU 上運行;您也可以使用 TensorFlow 或 Caffe 以訪問靈活的高級 API。后者還允許您導入數(shù)據(jù)科學家用 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 瀏覽器中訓練和運行機器學習模型。它還包括 Keras API 以及加載和使用在常規(guī) TensorFlow 中訓練過的模型的功能。這可能會吸引大量的 JS 開發(fā)者涌入 AI 領(lǐng)域。

雖然 Java 目前能夠訪問的機器學習庫與其他語言相比有所局限,但在不久的將來,開發(fā)者在網(wǎng)頁中添加神經(jīng)網(wǎng)絡就和添加 React 組件或 CSS 屬性一樣簡單。這聽上去既強大又恐怖。

TensorFlow.js 仍處于早期階段。目前它可在瀏覽器中運行,但不適用于 Node.js。它還沒有實現(xiàn)完整的 TensorFlow API。不過,我預計到 2018 年底,這兩個問題都將基本得到解決,并且Java 將在不久之后大舉進軍 AI 界。

05、R語言

R 在這份榜單中排名最末,并且看上去將會越來越?jīng)]落。

R 是數(shù)據(jù)科學家喜歡的語言。但是,其他程序員在第一次接觸 R 時會感到有些困惑,因為它采用了以數(shù)據(jù)幀為中心的方法。如果您有一組專門的 R 開發(fā)者,那么將 R 與 TensorFlow、Keras 或 H2O 搭配使用,進行研究、原型設計和實驗是有意義的。但基于性能和操作方面的考慮,我不愿意推薦將 R 用于生產(chǎn)。

雖然您可以寫出能在生產(chǎn)服務器上部署的高性能 R 代碼,但將這種用 R 語言編寫的原型重新編碼為 Java 或 Python 肯定會更容易。

人工智能,火的不能再火的詞了,想要駕馭他還需要不斷的磨練,語言是與人工智能對話的基本條件,以上的五種語言你掌握了幾種呢?不想成為未來世界的文盲就快些行動起來吧!

————————————————

版權(quán)聲明:本文為CSDN博主「毛毛蟲的爹」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/mao0514/article/details/119204287

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 淺談工業(yè)互聯(lián)網(wǎng)及大數(shù)據(jù)技術(shù)專業(yè)建設 大海_WH 1.前言 習近平總書記就實施國家大數(shù)據(jù)戰(zhàn)略強調(diào):要深入實施工業(yè)互聯(lián)...
    大海WH閱讀 352評論 0 0
  • AIoT,即人工智能技術(shù)驅(qū)動下的物聯(lián)網(wǎng)行業(yè)(AI+IoT)。作為各大傳統(tǒng)行業(yè)智能化升級的通道,在To B/To G...
    Eason樹閱讀 317評論 0 1
  • 如何用得上? 講到這一步,大家問了,這幾天講的這個道理怎么樣變成用得上呢?這聽上去挺理論性的。實際上我告訴大家,這...
    我來自金星閱讀 174評論 0 1
  • 表情是什么,我認為表情就是表現(xiàn)出來的情緒。表情可以傳達很多信息。高興了當然就笑了,難過就哭了。兩者是相互影響密不可...
    Persistenc_6aea閱讀 129,666評論 2 7
  • 16宿命:用概率思維提高你的勝算 以前的我是風險厭惡者,不喜歡去冒險,但是人生放棄了冒險,也就放棄了無數(shù)的可能。 ...
    yichen大刀閱讀 7,854評論 0 4

友情鏈接更多精彩內(nèi)容