如何評價deepmind放棄torch7選擇tensorflow?

torch7和tensorflow的具體比較如何呢?對於一般研究者有什麼指導意義……


謝邀!

Deepmind之所以放棄Torch7轉移到Tensorflow

我認為有以下幾個主要原因:

1,Google和Facebook是人工智慧領域主要的競爭對手,而Facebook主打Torch,甚至現在推出了自己的升級版框架Torchnet。這用意很明顯,就是和Google劃清界限,同時公開競爭。那麼Deepmind作為Google的子公司,支持自家的框架是必須的,而且也能得到更多的框架上的技術支持。

2,Deepmind之所以加入Google很重要的一個目的就是能夠調用Google龐大的計算資源。那麼Tensorflow其實是Google為自家的深度學習處理晶元TPU量身定製的。TPU處理速度是GPU的20倍。這時,選擇Tensorflow對Deepmind來說就有極大的優勢了。據說AlphaGo的訓練就在TPU上進行。也就是在這點上Deepmind有必須選擇Tensorflow的必要原因。

3,技術層面上講,TF確實相對Torch有一些優勢:使用更通用的Python,對RNN支持最好。面向多平台,現在已經支持iOS,並且處理大規模分散式訓練也更有優勢。最後用戶基數也大,在github上TF的star數遠遠超過其他框架。

以上


對於研究者來說,一個新出的dl框架的吸引力主要在復現已有研究,快速以及靈活地開發新演算法的能力,當然如果這個框架在已有的研究裡面有很多人用,那麼就會有更多可參考的東西。比如caffe,torch和theano之類的能夠流行,就是因為有很多相關基於它們的研究。Deepmind之前選擇torch作為主要研究框架,就是因為torch有較好的靈活性和較快的速度。deepmind本身基於torch的研究也帶動了很多想follow他們工作的人用torch。同樣的,tf作為一個很像theano的框架,其靈活性不會太差,而且有Google這麼多人去維護更新,新演算法的在上面的實現速度也不會很慢。deepmind轉向tf,可以想像研究領域tf的地位將會提高,而且deepmind能夠為tf的進步做出很大的貢獻。這都是選擇tf作為將來研究工具的人們的福音。


難道不是因為deepmind是Google收購的嗎


前段時間在一台雙Titan X的機器上裝TF的時候,就是跑了個小test,竟然讓我正在跑實驗的Mxnet的進程弄了個segmentation fault出來,原因沒查。後來就直接把TF刪掉了。

我沒root許可權,TF上的相關文件全部自己編譯。原因沒有深究。只是給大家提個醒。


現在最快的卷積庫是nvidia的cudnn,自家的gpu,自己肯定比別人優化起來更得心應手,幾乎所有的深度學習框架都用它加速。google要推出自己的tpu晶元,這是要搶核廠生意的節奏,所以nvidia肯定會大力支持torch。facebook和twitter更會大力支持torch,都是做互聯網深度學習這塊的,他們斷然不會用競爭對手google的tf,正如阿里和企鵝也斷然不會用狼廠的paddle。三家公司正面剛google,所以torch只會越來越成熟。

用過theano的人都知道theano根本沒法調試,內部代碼很難搞明白,看過一個帖子是曾經蒙特利爾lisa實驗室的開發人員離職之後對theano開發調試的吐槽。而tf可以看做theano 2.0,架構只會更複雜更成熟,內部代碼更不可讀。作為一隻苦逼的代碼狗,要經常實現自己或者老闆的各種想法,免不了要修改框架的源碼,torch修改起來相當方便。如果沒有績效或者論文壓力,還是建議選擇tf,並搞透源碼,相信會學習到很多。

希望有高手研究透tf之後能寫本《21天學會tf》以餉眾生……


吐個槽:

沒想到濃眉大眼的David Silver 也去當TF boys了。


兩家公司都是google的是其一,其次TF本身就是一個最近比較火的框架,有一種你不用,你很有可能就和業界掉隊了的感覺~


他們自己封裝了一個高級庫,就為了代碼優雅一些,你懂的


根據deepmind團隊的說法,他們在tensorflow上做了半年多的測試,結論是tensorflow能更好的支持deepmind。實際中的選擇,可能會有很多的考慮因素吧。


推薦閱讀:

pytorch中的鉤子(Hook)有何作用?

TAG:深度學習DeepLearning | TensorFlow | Torch深度學習框架 |