CNTK優先支持Python被懟,Github上要求.Net/C#為一等公民
如果未來屬於Python,那麼未來一定不屬於微軟
n
最近在學習深度學習方面的知識,荒廢了專欄,深感抱歉。
n之前看到一篇報道,說CNTK最新版本已經支持作為Keras的後端選擇之一,但需要單獨裝定製版的Keras,最近一直關注其動向,可喜的是其代碼昨天終於合併到Keras裡面了,Keras的作者也贊到這具有里程碑的意義。在Github上也能看到CNTK的人在加緊改代碼爭取儘快合併到Keras裡面。
n目前Python已經毋庸置疑,成為深度學習這個生態圈裡面最重要的編程語言之一,Tensorflow、PyTorch、MxNet、CNTK等上層都支持Python,雖然底層大多數是由C++編寫的。CNTK支持Keras此舉,大概是看不下去Tensorflow獨領風騷,想增加其在深度學習中用戶數量。
n
CNTK是由微軟開發的,一個很自然的想法是應該支持.Net/C#吧。在用Python之前我主要用的是C#。然並卵,去Github上面看了下,貌似CNTK並不支持用C#進行模型訓練,只能用於部署(eval),難怪眾人一致要求CNTK把.Net/C#作為一等公民對待。
we are looking forward to see .NET/C# as a first class citizen with both eval and training API』s有網友感慨,17年在.Net/C#上的投入,在機器學習的時代都是白費了,這明顯是從C#一出場就開始用的忠實粉啊。
雖然Github作為技術宅男聚集地,討論氛圍一向和諧,但CNTK這樣對待東家的.Net編程語言,終歸是讓眾人不爽:
n看來微軟要像錯過智能手機一樣錯過機器學習熱潮微軟對待機器學習就像當年蘋果對待地圖一樣,谷歌投入了6000人做地圖而蘋果用200人,蘋果CEO還困惑為啥蘋果地圖成了個笑話n
有人發出來無聲而有力的吶喊:如果未來屬於Python,那麼未來一定不屬於微軟。
「If the future is python then the future is not Microsoft」為了讓CNTK團隊的人回心轉意,大家也對免不了對Python開炮,Python腳本語言不好,不能用於生產環境,在Windows下經常各種問題以及生態系統分裂(Python2/3),表示擁護C#,嚴重希望CNTK能把.Net作為一等公民對待。
n有人一本正經的分析到微軟這樣做是一個不明智的選擇,"MS target wrongly",深度學習框架在Python領域已經是紅海,而且Tensorflow已經佔據榜首,目前有亞馬遜上有4本Tensorflow相關的書籍以及眾多教程(註:最近收集了幾本Tensorflow英文書,有需要的請關注微信公眾號stdrei後回復tensorflow,或者加我微信)。
與其與TF正面交鋒或跟著屁股後面跑,不如另闢蹊徑。
nBe a leader! Go where TF ignore!
We DO NOT want CNTK to be the SECOND BEST next to Tensorflow.
另外,這篇文章中的分析指出,微軟在10多年前就曾擁抱Python,在2006年開發了IronPython(這玩意兒應該很少有人用吧),2011年的PTVS,然並卵。Python生態中有其自身的圈子,而這基本與微軟無緣。這裡沒有SQL Server而是PostgreSQL;沒有Microsoft Azure,而是亞馬遜的AWS或者谷歌雲。CNTK的存在對Python未來的機器學習生態系統而言毫無意義。未來是屬於Tensorflow和幾個非微軟系的競爭者(註:並不是說Tensorflow在深度學習框架中沒有有力的競爭者),.Net才是CNTK的出路。
n話說,連Tensorflow都沒有放棄Windows(Tensorflow支持windows上編譯成DLL,並有第三方TensorFlowSharp加持),CNTK有什麼理由不好好對待.Net/C#呢。畢竟在微軟Build大會上有一半的時間都在說機器學習ML,CNTK團隊如果沒有足夠的人手做,那麼微軟就應該投入更多的資源和資金支持。
n不過,有CNTK團隊的人在Github上這樣回應we recommend people to switch to Python because nowadays most development is done in C++ and Python,現在都用C++和Python,建議大家還是轉Python,這就很尷尬了。。。。。。
最後,少看知乎多逛Github漲知識,以及學習Python目前來看是一個正確的選擇。
推薦閱讀:
※目前,人工智慧語音在說中文時的語氣感覺上還比較機械,怎樣使人工智慧語音的語氣更自然一些?
※寫一個像Keras的深度學習框架需要學習哪些知識?
※如何評價陳天奇團隊新開源的TVM?
※caffe 在Ubuntu下如何用已訓練出來的模型測試一張圖片?
※為什麼支持向量機(SVM)被命名被「機器(Machine)」?
TAG:深度学习DeepLearning | Python | TensorFlow |