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正面交鋒或跟著屁股後面跑,不如另闢蹊徑。

n

Be 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 |