學好深度學習,python得達到什麼程度?

初學python,想進一步學習深度學習,不知道python得學到什麼程度?具體該學好python的那些方面的內容,才可以遊刃有餘?望各位前輩給予指導,謝謝了。


個人覺得如果是純python,不加任何外部的庫,那你就需要做好準備半年時間去自己開發深度學習框架了。不過好在有很多大牛人或者機構已經給你開發好了很多可以拿來直接用的庫,模塊。這些都是大大的好啊。真心感謝他們的貢獻。

具體來說說用python開發或學習機器學習,深度學習的重要模塊!應該說是必不可少的模塊!

1. 前期準備, 你多多少少需要懂python科學運算,數據整理還有出圖像結果的模塊,這三個必不可少:numpy, pandas, matplotlib.

2. 進階準備,在機器學習方面,scikit learn 是彙集了眾多機器學習方法的模塊,它支持各種各樣的機器學習方法。你總能找到適合你項目的。

3. 同樣是進階的,在神經網路方面有著巨大貢獻的tensorflow,這個是Google開發,而且挖了挺多theano的開發人員。我覺得神經網路的開發沒有比tensorflow更牛的了。而且你想Google這大公司,更新推進的速度肯定也不會慢。看好它。

4. 如果想方便快捷地搭建神經網路, Keras 這個模塊很不錯, 他的底層是 Tensorflow 和 Theano, 所以在 Windows, MacOS, Linux上都能用得到.

5. 的確是還有很多其他的模塊可以運用,不過在我個人的機器學習生涯中,主要就是運用這些了。

為了方便大家的學習,推廣華人在機器學習領域的力量,我有自己做一套的scikit learn,Theano, Keras, 還有tensorflow的中文教學視頻, 機器學習的簡介系列。國內的反響還不怎麼樣,不過在YouTube上已經很多人觀看了。希望大家支持華人的力量。

最近也在學習並製作網頁, 匯總所有內容: 莫煩Python by MorvanZhou

網易雲課堂也能找到這些 : Morvan個人主頁


Python本身沒有什麼可以學的,numpy, scipy這些在數據預處理的時候自然會用到,唯手熟爾。scikit-learn,就不說了,深度學習和它也沒啥關係(還沒上正式版的MLP classifier也不知道有多少人會用),預處理時同樣有用,傻瓜式調包不會用倒貼錢。

然後我不明白了,你想用Python學深度學習,加Caffe和Torch的標籤幹嘛,果斷Tensorflow啊(Theano嘛...已棄坑hhhhh,不過能hard code一遍Theano網站上面的教程對理解深度學習演算法非常有幫助,這是很多high level的流行庫諸如Keras或tflearn所不能帶給你的)!

PS: Interestingly,如果題主熟悉Caffe的話,此處竟有一個Caffe to Tensorflow的code,GitHub - ethereon/caffe-tensorflow: Caffe models in TensorFlow~~~~

以上。


各種容器的用法得爛熟於心,numpy各種操作得熟,其他的就是看文檔讀源碼和debug的能力了,這些和python關係不大


沒什麼關係


別聽那些廣告瞎扯,保證你不會有提高。


會基本矩陣運算(numpy)
裝好keras
就可以開始使用深度學習了。

就在上個星期,我從裝完keras到做完一個kaggle上的貓狗圖片的數據分類,達到90+%的準確度。(照著網上的攻略,用vgg16分類貓狗的那個)
只用了三天時間,編程時間不到二十小時。

在此之前我對深度學習一竅不通,甚至不知道什麼是激活層全連接層。對python的掌握只停留在能當計算器用。

我現在還能用scikit里的meanshift做圖像聚類,用requests和beautifulsoup在網上抓圖。都是一兩天就能上手的。


我亦曾年少無知…


深度學習是演算法,python是語言。


和python,c,c++,java等可以寫冒泡排序演算法一樣,這些語言也可以用來寫神經網路及神經網路的反向傳播訓練過程。語言本身無區別,都可以用來做深度學習。

那為什麼python在深度學習領域這麼火,其他語言都沒有火起來?
第一,因為python是高級抽象語言,非常利於數學、統計學等無計算機基礎的從業人員掌握。
第二,可快速實現idea。業界有個笑談「用c語言一千行才能實現的功能,python一行就能實現」。快速實現得益於各種各樣的包、庫,只要一句import就能導入好用的功能。

所以,想要用python做深度學習,和想要用其他語言寫其他演算法的過程一樣。
你用c++寫冒泡排序時需要掌握c++到什麼程度呢?


寫好一本小說,我的字得漂亮到什麼程度?

Python或者其它語言,會就行,這不是關鍵。


這個主要看你用什麼工具包,如果是上古時代的CUDA ConvNet則需要有一定的Python能力。如果是現在比較流行的Caffe或者其他的一些工具包,則各種語言的介面都會有,MATLAB,Python為主,有的還支持Julia和R,你選一個熟悉的來用就可以。
如果只是做應用的話建議從順手的來。


python是深度學習必須的嗎?不是,只不過是現在很多深度學習框架用python介面比較方便,但並不是必須的,matlab介面也有的。所以還是先學一些深度學習的基本理論知識,python不過是實現方式,不會成為你學深度學習的瓶頸的


作為一個工作多年老程序員,我可以為你解答一下,我弄得學習路線:


學好深度學習,python不是重點,可以先嘗試用TensorFlow寫一個感知機直接體驗一下,會發現,其實沒有用多少python高級語法,如果想學深度學習,先不要想著它有多難,也不要想著先學好Python或者先學好數學再開始,而是直接動手去實習一個最簡單的神經網路,當你真正開始動手做事時,事情的困難度會隨著你的做而降低,放手干,最近我也在學深度學習,接觸了點皮毛,歡迎關注共勉


感覺重點不在python上啊,,為什麼大家都覺得學習python就能找到機器學習相關的工作,,,呃呃呃,方向錯了,,,具體學習什麼,參考 上市公司深度學習演算法研發 實習生心得


Language is just language
Framework is just framework


Most important thing is what you wanna achieve.

這個問題跟你看上了一個外國妹子,請教英語要到達什麼水平才能追到她類似…

lol


我覺得只有自己試過才可以說我們能做好BOT或是開發一個框架,前幾天參加BOT大賽感覺還不錯,還有udacity優惠券,我覺得邊學邊試更好


推薦閱讀:

人工智慧的冬天是否將要到來?
深度學習目前主要有哪些研究方向?

TAG:Python | 深度學習(Deep Learning) | Caffe(深度學習框架) | TensorFlow | Torch (深度學習框架) |