回覆列表
  • 1 # Tech數碼科技愛好者

    為什麼人工智慧用Python?

    Python作為指令碼語言,執行速度沒有Java,C++快。

    Python到底有啥優勢?

    為什麼人工智慧的主流語言是Python?

    Python作為一門程式語言,其魅力和影響力已經遠超C#、C++等程式語言前輩,被程式設計師譽為“最美麗的”程式語言。從雲端、客戶端,到物聯網終端,在到現在人工智慧,python應用無處不在。

    那麼問題來了?Python語言究竟有什麼優點?

    簡單易學、免費開源、高層語言、可移植性強、面向物件、可擴充套件性、可嵌入型、豐富的庫、規範的程式碼等……此處省略10000字帥呆了酷斃了的自我感覺良好。

    講真,Python除了極少的事情不能做之外,其他基本上可以說全能,系統運維、圖形處理、數學處理、文字處理、資料庫程式設計、網路程式設計(bbs.cnitedu.cn)、web程式設計、多媒體應用、pymo引擎、駭客程式設計、爬蟲編寫、機器學習、人工智慧等等。

    為何Python語言如此強大,這麼說吧,

    不懂Python語言,人工智慧時代,你將成為新“文盲”

    內心一萬點暴擊

    現如今Python語言的學習已經上升到了國家戰略的層面上。國家相關教育部門對於“人工智慧普及”格外重視,不僅將Python列入到小學、中學和高中等傳統教育體系中,並藉此為未來國家和社會發展奠定了人工智慧的人才培養基礎,逐步由底層向高層推動“全民學Python”,從而進一步實現人工智慧技術的推動和社會人才結構的更迭。

    無論你開啟哪個招聘網站,都會發現排名靠前的網際網路企業在招聘與Python相關的人才,比如:餓了麼、小米、瓜子、Ucloud、360、騰訊、阿里巴巴、陌陌、美團和知乎等等,這說明走在社會發展前端的IT網際網路企業正在儲備人工智慧人才,為即將到來的大時代做準備。

    在搜尋職位時,你會發現Python崗位年薪至少在10-20w之間,而且除了北、上、廣、深外,杭州和合肥等二、三線城市的待遇正在與一線城市持平。

    未來,無論你身處何地,都能享受到全華人工智慧、Python“一盤棋”帶來的“市場發展紅利”。

    在第三屆網際網路大會中百度CEO李彥宏曾表述:靠移動網際網路的風口已經沒有可能再出現獨角獸了,因為市場已經進入了一個相對平穩的發展階段,網際網路人口滲透率已經超過了50%。而未來的機會在人工智慧。的確網際網路巨頭公司在人工智慧領域投入明顯增大,都力爭做人工智慧時代的“帶頭大哥”。

    言歸正傳,為什麼人工智慧要用Python?

    1Python是解釋語言,程式寫起來非常方便

    寫程式方便對做機器學習的人很重要。因為經常需要對模型進行各種各樣的修改,這在編譯語言裡很可能是牽一髮而動全身的事情,Python裡通常可以用很少的時間實現。舉例來說,在C等編譯語言裡寫一個矩陣乘法,需要自己分配運算元(矩陣)的記憶體、分配結果的記憶體、手動對BLAS介面呼叫gemm、最後如果沒用smart pointer還得手動回收記憶體空間。Python幾乎就是import numpy; numpy.dot兩句話的事。

    當然現在很多面向C/C++庫已經支援託管的記憶體管理了,這也讓開發過程容易了很多,但解釋語言仍然有天生的優勢——不需要編譯時間。這對機器學習這種需要大量prototyping和迭代的研究方向是非常有益工作效率的。

    2Python的開發生態成熟,有很多庫可以用

    Python靈活的語法還使得包括文字操作、list/dict comprehension等非常實用的功能非常容易高效實現(bbs.cnitedu.cn),配合lambda等使用更是方便。這也是Python良性生態背後的一大原因。

    相比而言,Lua雖然也是解釋語言,甚至有LuaJIT這種神器加持,但其本身很難做到Python這樣,一是因為有Python這個前輩佔領著市場份額,另一個也因為它本身種種反常識的設計(比如全域性變數)。不過藉著Lua-Python bridge和Torch的東風,Lua似乎也在寄生興起。

    3Python效率超高

    解釋語言的發展已經大大超過許多人的想象。很多比如list comprehension的語法糖都是貼近核心實現的。除了JIT之外,還有Cython可以大幅增加執行效率。最後,得益於Python對C的介面,很多像gnumpy, theano這樣高效、Python介面友好的庫可以加速程式的執行,在強大團隊的支撐下,這些庫的效率可能比一個不熟練的程式設計師用C寫一個月調優的效率還要高。

    未來十年Python語言的發展前景形勢一片大好,毫無疑問使用Python語言的企業將會越來越多,Python程式猿的人才缺口也將越來越大,認準時機,把握機遇,Python全棧開發工程師、Python開發工程師、自動化開發工程師、Linux運維工程師、Python爬蟲開發工程師、前端開發工程師、大資料分析和資料探勘等熱門職位等你來選。

  • 2 # IT人劉俊明

    人工智慧是我的主要研究領域,目前也在指導機器學習方向的研究生,所以我來回答一下這個問題。

    首先,Python語言確實在人工智慧領域有廣泛的應用,不論是從事機器學習方向還是從事計算機視覺、自然語言處理等方向,研發人員都在普遍採用Python作為演算法實現語言,同時由於Python語言自身就有健全的語言生態,可以完成落地應用的開發,所以Python語言往往也是落地應用開發方案的常見選擇。

    之所以在人工智慧領域廣泛採用Python,原因主要有三點,其一是Python語言的實現過程比較簡單,這一點很吸引研發人員,可以讓研發人員有更多的精力投放在演算法設計方面;其二是Python有豐富的庫,像Numpy、Scipy、pandas等庫在實現演算法時就比較實用;其三是Python程式碼調整起來比較容易,這一點對於尚處在需要頻繁調整的人工智慧領域也有重要的意義。

    雖然Python語言在執行效率上有一定的劣勢,但是由於目前人工智慧領域的很多研發依然處在初期階段,還遠沒有到落地應用的階段,而在驗證期間,研發效率就變得比較重要了,這也是Python被廣泛應用的原因。

    如果說Python對於未來人工智慧的發展有重要的影響,一個重要的出發點是最終的應用場景。人工智慧產品目前對於應用場景依然有較強的依賴,這就要求使用者能夠根據實際的應用場景對於智慧體進行程式設計,這種程式設計也可以理解為“交流”,而Python語言無疑是比較適合的交流工具,因為Python語言比較簡單易學,所以如果未來Python語言能夠得到廣泛的應用,那麼對於人工智慧產品的普及會起到積極的推動作用。

  • 中秋節和大豐收的關聯?
  • QFII與QDII有什麼區別?