回覆列表
  • 1 # wwg墨竹

    python只是訓練,對實時性沒多少要求,部署時如果實時性要求不高也可以用python,要求高的一般用c++部署

  • 2 # DKink

    Python是配合C做快速開發的,行不行先用Python寫出原型試一試,成熟邏輯程式碼最後都會被改寫成C/ C++的。

  • 3 # 枝枝葉葉

    python 在機器學習時,執行計算時,呼叫numpy 庫,這個庫速度非常快,和c語言的一個級別。現在運算量大的 機器學習 演算法,都用 gpu,tpu 等硬體提速,如果靠cpu,無論採用什麼程式語言,都不可能 達到要求,類似 比特幣挖礦,都用礦機,用cpu 挖就賺不到錢,比電費多不了多少。機器學習 採用硬體提速 也是這個道理。所以和上邊採用的程式語言 關係不大。 python 程式設計速度快,演算法程式設計實現是,可以大大節約 開發人員的時間,減少軟體錯誤。

    python,是最適合機器學習的,所以被廣泛採用。

    python,只所以在桌面軟體,伺服器等大型軟體上,採用的少,主要原因是 和 c以及java 相比,python 不利於程式碼的保密。而機器學習,不需要將演算法程式碼,釋出給使用者,所以沒有這方面問題。

  • 4 # 無聊的程式猿

    Mike Driscoll等五位Python專家和機器學習社群人士分享了他們的觀點,下面就讓我們一睹為快。

    程式設計是一項社交活動 ,Python社群已經認識到了這一點

    Glyph Lefkowitz(@ glyph)Python網路程式設計框架Twisted的創始人,在2017年榮獲PSF社群服務獎

    人工智慧是一個覆蓋面很廣的詞彙,它包含了當前計算機科學研究中最先進的技術領域。

    曾有一段時間,我們普遍認為基本圖遍歷東西就是AI。那時候,Lisp是人工智慧的主要語言,不僅僅是因為它是一種更高階的語言,還因為研究人員更容易用它來做快速原型。我認為目前Python已經一定程度上快要取代Lisp,除了Python也是高階語言以外,它還擁有出色的第三方庫生態系統,以及對底層作業系統的良好相容性。

    如果你不這麼認為,那麼允許我再描述的清楚一些。我不打算精確的描述Python在程式設計架構中的位置,只是說Python和Lisp都處於相同的語言類別,它們在資源回收、記憶體安全、模組、名稱空間和高階資料結構上有很多相似之處。

    對於機器學習或者說對於大家談論更多AI而言,我有更清晰的答案。 NumPy及其生態系統的存在使得研究人員可以進行高效能的資料處理,從而提高工作效率。機器學習需要大量的資料處理,你懂的。

    Python社群致力於為非程式設計師提供指南和生態系統支援,這無疑增加了其在資料科學和計算科學這兩個姐妹學科中的使用。大量的統計科學家、天文學家、生物學家和商業分析師已經成為Python程式設計師,並且為社群貢獻新的程式碼。程式設計可以說是一種社交活動,Python社群比任何其他語言都認同這一點。

    機器學習是一個整合度很高的學科,因為任何AI /機器學習系統都需要從現實世界中提取大量資料並作為訓練資料輸入到系統中,Python大量庫函式構建的生態系統讓它能更好的訪問和轉換資料。

    Python允許使用者關注真正的問題

    Marc-Andre Lemburg(@malemburg)PSF聯合創始人兼eGenix執行長

    首先,對於沒有受過計算機科學培訓的技術人員,Python非常容易理解。其次,當你需要整合外部庫檔案時,它沒那麼複雜,非常容易上手。

    在Numeric(現在是NumPy)釋出之後,Python增加了IPython 編輯器(現在是Jupyter 編輯器)、matplotlib和許多其他工具,這些編輯器讓開發更加直觀。

    與其他領域一樣,Python是一種理想的整合語言,它將底層技術封裝起來,允許使用者關注真正的問題,而不是花時間在實現細節上。除了為使用者提供更方便的功能之外,對於那些想要在底層整合外部庫的工程師,Python作為一種“膠水”語言同樣表現出色,這主要得益於Python可以透過C API介面被友好訪問。

    對於數學和麵向資料的人來說,Python非常容易使用

    Sebastian Raschka(@rasbt)研究人員和Python機器學習的作者

    我認為有兩個主要原因,它們是非常相關的。第一個原因是Python非常容易閱讀和學習。

    我認為大多數從事機器學習和人工智慧的人員都希望以最方便的方式解決問題,重點是研究和應用技術,程式設計只是一個讓你到達那裡的工具。程式語言學習起來越舒服,進入門檻就越低,尤其是對於那些數學和統計背景的技術人員而言。

    Python可讀性是極好的,這有助於最佳化和更新程式碼,這在機器學習和AI領域是非常重要的。人工智慧和機器學習工程師經常需要嘗試不同的實現方法,這需要程式語言既要能實現複雜演算法又要保持語言透明,Python毫無疑問在這一點做的非常好。

    第二個主要原因是,Python本身就是一種非常易於訪問的語言,我們在其之上有很多優秀的庫,這使得我們的工作變得更容易。沒有人願意花時間從頭開始重新實現基本演算法(除了機器學習和人工智慧的基礎研究)。大量Python庫幫助我們專注於比重新發明輪子更令人興奮的事情。

    Python也是一種優秀的封裝語言,它集成了C / C ++演算法和CUDA / cuDNN以提高演算法效能,這也就是為什麼現有的機器學習和深度學習庫在Python中高效執行的原因。這對於機器學習和AI領域的工作是非常重要的。

    總而言之,我會說Python是一種偉大的語言,它可以讓研究人員和從業者專注於機器學習和AI,而不是其他的事情,這確實很棒!

    Python具有對科學計算有吸引力的功能Luciano Ramalho(@ramalhoorg)ThoughtWorks的技術負責人和PSF的同事

    最重要和最直接的原因是NumPy和SciPy庫支援scikit-learn這樣的專案,它目前幾乎是機器學習的事實標準工具。

    首先NumPy,SciPy,scikit-learn和其他許多庫被創造出來的原因是Python有一些功能對科學計算非常有吸引力。 Python有一個簡單而一致的語法,可以讓軟體工程師以外的人更容易使用程式設計。

    另一個原因是運算子過載,它使程式碼可讀和簡潔。然後是Python的緩衝協議(PEP 3118),這是外部庫在處理類似陣列的資料結構時可與Python高效互操作的標準。最後,Python為科學計算提供了豐富的庫生態系統,吸引了更多的科學家參與豐富這個系統。

    Python是嚴格和一致的Mike Bayer(@zzzeekRed Hat的高階軟體工程師,SQLAlchemy的創始人)

    當我們開發演算法時,我們一定希望把最佳化的演算法放入庫以便保留起來,就如同scikit-learn,然後我們分享我們是如何組織和處理資料並繼續迭代。你瞧,我們就是這麼幹的,不是嗎?

    高階指令碼語言非常適合人工智慧和機器學習,因為我們可以快速更新並重試。我們建立的程式碼大部分代表實際的數學和資料結構,而不是模板。

    像Python這樣的指令碼語言就很好,因為它是嚴格和一致的,每個人都可以更好地理解對方的Python程式碼,相反的,其他語言則會有混淆和不一致的程式設計範例。

    IPython編輯器等工具的可用性很好,使得我們可以在全新領域迭代和分享我們的演算法。 Python強調了工作的核心,簡化了我們如何給計算機指令,自動完成任何你不需要考慮的事情,這顯然是極好的。

  • 5 # 陽哥說安卓

    機器學習是一門多領域交叉學科,涉及機率論、統計學、逼近論、凸分析、演算法複雜度理論等多門學科。專門研究計算機怎樣模擬或實現人類的學習行為,以獲取新的知識或技能,重新組織已有的知識結構使之不斷改善自身的效能。

    ——百度百科

    機器學習最早是20世紀50年代發展起來的,那個時候機器學習還停留在學術階段,一直到90年代python誕生,由於Python比較簡單,並且Python呼叫類庫的能力非常強,比如C啊等等一些類庫,再一個Python有自己的包管理器,然後透過最開始一批教授的學習和使用,就在Python上面開發了很多機器學習的類庫,然後再傳給自己的學生,學生繼續傳遞,大家就不約而同的都在Python上面寫類庫,所以就出現了現在這個情況。其實你用其他的語言也可以,只是要把所有以前造過的輪子要重新造一遍,這個成本就很高。所以導致企業也隨大流,更加鞏固了這個大的類庫。所以後來人工智慧概念爆發,很多新人來學,發現就只有Python做機器學習是最快的,然後大家乾脆就使用Python進行生產環境開發了。

    其實我覺得是歷史原因造成的,但我可能理解得也很片面,希望大家補充。

  • 中秋節和大豐收的關聯?
  • 在單位裡你喜歡和聰明人共事,還是喜歡和老實人共事?