之前看到一篇報(bào)道,說(shuō)CNTK最新版本已經(jīng)支持作為Keras的后端選擇之一皂贩,但需要單獨(dú)裝定制版的Keras栖榨,最近一直關(guān)注其動(dòng)向,可喜的是其代碼昨天終于合并到Keras里面了明刷,Keras的作者也不禁贊到婴栽,這具有里程碑的意義。在Github上也能看到CNTK的人在加緊改代碼爭(zhēng)取盡快合并到Keras里面辈末。
目前Python已經(jīng)毋庸置疑愚争,成為深度學(xué)習(xí)這個(gè)生態(tài)圈里面最重要的編程語(yǔ)言之一,Tensorflow挤聘、PyTorch轰枝、MxNet、CNTK等上層都支持Python组去,雖然底層大多數(shù)是由C++編寫(xiě)的鞍陨。CNTK支持Keras此舉,大概是看不下去Tensorflow獨(dú)領(lǐng)風(fēng)騷从隆,想增加其在深度學(xué)習(xí)中用戶(hù)數(shù)量诚撵。
CNTK是由微軟開(kāi)發(fā)的,一個(gè)很自然的想法是應(yīng)該支持.Net/C#吧键闺。在用Python之前寿烟,我基本上都是用C#的,對(duì)其很有好感辛燥。然并卵筛武,去Github上面看了下,貌似CNTK并不支持用C#進(jìn)行模型訓(xùn)練挎塌,只能用于部署(eval)畅铭,難怪眾人一致要求CNTK把.Net/C#作為一等公民對(duì)待。we are looking forward to see .NET/C# as a first class citizen with both eval and training API's
有網(wǎng)友感慨勃蜘,17年在.Net/C#上的投入,在機(jī)器學(xué)習(xí)的時(shí)代都是白費(fèi)了假残,這明顯是從C#一出場(chǎng)就開(kāi)始用的忠實(shí)粉啊缭贡。
雖然Github作為技術(shù)宅男聚集地炉擅,討論一向和諧,但CNTK這樣對(duì)待東家主推的.Net編程語(yǔ)言阳惹,終歸是讓眾人不爽:
看來(lái)微軟要像錯(cuò)過(guò)智能手機(jī)一樣錯(cuò)過(guò)機(jī)器學(xué)習(xí)熱潮
有人發(fā)出來(lái)無(wú)聲而有力的吶喊:如果未來(lái)屬于Python莹汤,那么未來(lái)一定不屬于微軟快鱼。 "If the future is python then the future is not Microsoft"
為了讓CNTK的人回心轉(zhuǎn)意,大家也對(duì)免不了對(duì)Python開(kāi)炮纲岭,Python腳本語(yǔ)言不好抹竹,不能用于生產(chǎn)環(huán)境,在Windows下經(jīng)常各種問(wèn)題以及生態(tài)系統(tǒng)分裂(Python2/3)止潮,表示擁護(hù)C#窃判,嚴(yán)重希望CNTK也能把.Net作為一等公民對(duì)待。
有人一本正經(jīng)的分析到微軟這樣做是一個(gè)不明智的選擇喇闸,MS target wrongly袄琳,深度學(xué)習(xí)框架在Python領(lǐng)域已經(jīng)是紅海,而且Tensorflow已經(jīng)占據(jù)榜首燃乍,目前有亞馬遜上有4本Tensorflow相關(guān)的書(shū)籍以及眾多教程(注:最近收集了五本Tensorflow英文書(shū)唆樊,有需要的可以在關(guān)注微信公眾號(hào)后回復(fù)tensorflow,或者加我微信)刻蟹。
與其與TF正面交鋒逗旁,不如另辟蹊徑。
Be a leader! Go where TF ignore!
We DO NOT want CNTK to be the SECOND BEST next to Tensorflow.
另外座咆,這篇文章中的分析指出痢艺, 微軟在10多年前就曾擁抱Python,在2006年開(kāi)發(fā)了IronPython(這玩意兒應(yīng)該很少有人用吧)介陶,2011年的PTVS堤舒。Python生態(tài)中有其自身的圈子,而這基本與微軟無(wú)緣哺呜。這里沒(méi)有SQL Server而是PostgreSQL舌缤;沒(méi)有Microsoft Azure,而是亞馬遜的AWS或者谷歌云某残。CNTK的存在對(duì)Python未來(lái)的機(jī)器學(xué)習(xí)生態(tài)系統(tǒng)而言毫無(wú)意義国撵。未來(lái)是屬于Tensorflow和幾個(gè)非微軟系的競(jìng)爭(zhēng)者(注:并不是說(shuō)Tensorflow在深度學(xué)習(xí)框架中沒(méi)有有力的競(jìng)爭(zhēng)者)。.Net才是CNTK的出路玻墅。
話(huà)說(shuō)介牙,連Tensorflow都沒(méi)有放棄Windows和.Net(Tensorflow支持windows上編譯成DLL,并有第三方TensorFlowSharp支持)澳厢,CNTK有什么理由不好好對(duì)待.Net/C#呢环础。畢竟在微軟Build大會(huì)上有一半的時(shí)間都在說(shuō)機(jī)器學(xué)習(xí)ML囚似,CNTK團(tuán)隊(duì)如果沒(méi)有足夠的人手做,那么微軟就應(yīng)該投入更多的資源和資金支持线得。
不過(guò)饶唤,有CNTK團(tuán)隊(duì)的人在Github上這樣回應(yīng) we recommend people to switch to Python because nowadays most development is done in C++ and Python,這還能說(shuō)啥。贯钩。募狂。。角雷。祸穷。