成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

PyTorch和TensorFlow哪個更好?看一線開發者怎么說

人工智能
Theano、TensorFlow、Torch、MXNet 再到近日比較熱門的 PyTorch 等等,深度學習框架之間的比較一直以來都是非常受人關注的熱點話題。不過你知道用戶實際用起來的感覺怎么樣嗎?近日,Reddit 用戶 cjmcmurtrie 發了一個主題為「PyTorch vs. TensorFlow」的討論帖,想要了解這兩大流行的框架之間各自有什么優勢。

Theano、TensorFlow、Torch、MXNet 再到近日比較熱門的 PyTorch 等等,深度學習框架之間的比較一直以來都是非常受人關注的熱點話題。不過你知道用戶實際用起來的感覺怎么樣嗎?近日,Reddit 用戶 cjmcmurtrie 發了一個主題為「PyTorch vs. TensorFlow」的討論帖,想要了解這兩大流行的框架之間各自有什么優勢。

[[184501]]

帖子一樓寫道:

我還沒有從 Torch7 遷移到 TensorFlow。我玩過 TensorFlow,但我發現 Torch7 更加直觀(也許是我玩得不夠?)。我也嘗試了一點 PyTorch,所以我決定先看看效果。

使用了幾周 PyTorch 之后,我認為我現在還不必遷移到 TensorFlow,至少在我感興趣的項目上還不需要。用 PyTorch 寫自定義模塊真是簡單至極。而且其動態圖構建(dynamic graph construction)給我之前需要熬夜實現(或等待列表上)的東西帶來了很多新想法。我認為對機器學習開發者來說,PyTorch 是一個了不起的工具集。我也知道 TensorFlow 的社區資源要強大得多,但如果要開發全新的項目(而不是為已有的架構重新寫代碼或閱讀教程),社區也不一定能有很大的幫助。

這個 Reddit 帖子發出后得到了很多機器學習研究者和開發者的關注,他們紛紛跟貼談論自己的想法和經驗(不只是關于 PyTorch 和 TensorFlow,討論中還涉及到更多工具)。

下文為我們提煉的一些觀點,原帖請看:https://redd.it/5w3q74

TensorFlow 

優勢:

  • 等效的圖形編譯(graph compilation)要快得多;我們用了幾秒而不是幾分鐘。但是它仍然不夠快,如果我們想要將它的大部分添加到我們的 CI 套件(CI suite),但我們不需要等待很長時間來開始訓練。

  • 從 Lasagne 轉到 TensorFlow 之后,我喜歡 tf.layers 和 tf.contrib.layers 中更高層次的功能;它們為接受張量(tensor)并返回張量的功能性 API,因此更容易與「原始」的 TensorFlow 集成。我們可以做普通的張量操作,而不用寫一個層那么麻煩。

  • 在我們使用的模型上,TensorFlow 的速度稍稍快于 Theano(20%-30%)。當***次使用時,我們看到大致相同的性能,并認為這可以接受,但然后我們閱讀 TensorFlow 的性能指南(https://www.tensorflow.org/performance/performance_guide),并切換到 NCHW 并融入批處理規范(batch norm),然后一切運行得更快了。我猜 Theano 本身就不是很快……

  • 關于開發人員的反饋速度:我曾在 TF 的問題區提出了一些微不足道的問題,但 TF 開發人員通常在一兩天內就回復我了。

  • 此外,工具是相當好的。TensorBoard 絕對好用,用來表示的時間線(timeline)/跟蹤(trace)的工具也一樣好用。但是我還沒有嘗試新加入的 tfdbg。

  • TensorFlow 在設計時就考慮到了分布式,所以如果你需要運行真正的大規模項目,TensorFlow 多半是***的。

缺點:

  • TensorFlow 的 API 非常荒謬,它在每個階段都會重新發明輪子,并且要求開發者學習很多本不必要的新概念。然而,開發者峰會表示這一境況正在改善——而且同時使用 TensorFlow Servin 和 Cloud ML 會提高你的生產力。

  • 在實踐中部署到 iOS 非常困難。

  • 我并沒有在 Keras 或者 Tensorflow 上工作,但是我看過他們的「問題」日志和一些用戶組,只是因為大量的用戶,這些框架看起來并不會得到這種個人的關注。

PyTorch

優勢:

  • 它屬于輕量級;

  • 它目前位于 Python 中;

  • 它使你能夠明確地控制計算。沒有編譯器能自己妄圖變聰明來「幫助你」,或是將你的代碼加速;事實上大多編譯器在調試中會產生大量麻煩;

  • 它使 GPU 內核調用之上僅有少量(可解釋的)抽象層,而這恰恰是高性能的保證;

  • 也許這是個人偏好,但我得到了與抽象有關的特定 OCD。每當我要做艱巨的工作時都會很緊張,因為一旦我的未來被泄漏,我便能感覺到它那些無法擺脫且難以忍受的痛苦。相對簡單的事情理應在引擎蓋之下發生的大多數情況下,這種感覺尤為強烈;

  • 調試更容易,因為特定代碼中會是特定行(而不是在距離使用大型或生成的 Graph 對象的 sess.run()很遠的地方)失敗。你的堆棧跟蹤不會填滿三個屏幕來讓你玩「找找錯誤在哪里!」的豎版卷軸游戲;

  • 不存在編譯時間。我無法理解 Theano 用戶是如何處理的,他們一定更有耐心;

  • 你可以直接操作漸變,顯然,做一些事情時可以更容易,也更自然(如在反向傳播過程中的漸變剪輯,或各種「破碎的反向傳播」的有關想法,就像最近的 Shake Shake reg 命令一樣;的確,我認為你可以用 stop_gradient 破解一個解決方案);

  • 它對動態圖的支持從一開始就是自上而下的設計原則,而非隨之而至的事后想法。并且我們會看到更多的動態圖表,如做成一大塊 NLP,或是神經模塊網 ;

  • 它沒有縮進或膨脹你的代碼的顯式會話對象;

  • 它獲得的抽象是正確的:raw numpy - > Tensors(但 GPU 上的 raw numpy 可能對深度學習一無所知!)- >變量(它們了解深度學習),并且 Modules 或 Optim 等等會稍有益處。

  • 動態計算使很多事情更加容易,如 seq2seq + attention 的神經翻譯很難通過 keras + tf 來實現,但使用 PyTorch 便會很容易;

  • 更容易調試,因為你可以只使用標準的 PyThon 工具;

  • PyTorch 讓自定義的實現更加容易,所以你得以將更多時間專注于算法中,這樣往往能夠改進主要性能;

  • 使 Multi-gpu 簡單易懂;

  • Torch-vision 使加載和變換圖像變得容易。

  • PyTorch 提供了一個強化功能。增強功能基本上不會在實現中產生過多資源消耗,能有一些內置函數來調用 RL 的感覺真棒。

  • 我遇到的錯誤或問題得到PyTorch 團隊及時的反映,通常會在當天修復,或者得到解決方法或得到問題跟蹤。

  • PyTorch 是可以立即使用的,在我當前的項目的單 GPU 的訓練時間比 theano+lasagne 快 100%。我測試過,100% 逐字地在 CIFAR100 上從(在最簡單的情況下)5 分/歷元到 2.5 分/歷元,并且在某些情況下降到 2 分鐘/歷元(即,快兩倍)

缺點:

  • PyTorch 的 API感覺有些粗糙,但對它有一些限定詞。如果你只是做一些標準的任務(實現 ResNet 或者 VGG)我認為你不會有問題,但我一直都有一些分歧因為我所做的一切都有些奇怪。

  • 對于 PyTorch 我***的「抱怨」基本上是在神經網絡 API 方面「事情并未按照我讓他們組合的方式進行放置」。具體來說,我非常喜歡 Lasagne 的「層次(layers)」范式—但是一點點批判性的思維就會讓你得出這個結論,這個范式尤其不適合動態圖框架。

  • PyTorch 沒有為部署設計,開發團隊它看上去并沒有把重心放在 PyTorch 上(雖然在這方面,我可能看錯了,我模糊的記得我在論壇的帖子上看到過這個)。我想要練習將一些東西放置在網站或者 droid app 上我不確定其他的框架能很好地支持這種方式。

責任編輯:張燕妮 來源: 機器之心
相關推薦

2017-03-02 14:52:46

2023-07-07 08:15:18

JavaPython編寫

2013-01-16 10:37:20

盈利開發者移動應用

2018-12-19 09:15:36

SDN軟件定義網絡廣域網

2017-11-16 13:09:31

開發者

2017-05-22 15:10:11

人工智能醫生機器人

2014-06-04 09:21:07

Swift開發語言

2013-10-28 10:13:53

SDN技術SDN軟件定義網絡

2017-07-13 09:48:22

Hadoop數據倉庫

2021-07-01 16:45:17

PyTorchTensorflow 機器學習

2021-11-13 21:42:15

開發者Google 開發者大

2019-01-11 14:32:09

TensorFlow 機器之心谷歌

2024-04-12 16:16:19

2020-06-16 14:03:48

邊緣計算網絡人工智能

2015-09-23 10:27:25

2021-12-19 22:51:24

PyTorchTensorFlow框架

2013-09-29 18:05:41

2014-06-04 13:36:20

Swift蘋果iOS

2023-08-14 10:32:02

邊緣計算云計算

2014-04-14 11:23:27

WP8.1Build2014
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产91丝袜 | 久久久久久久国产 | 亚洲精品国产精品国自产在线 | 亚洲精品大全 | www.4567| 精品久久久久久国产 | 99精品久久久久久中文字幕 | 91资源在线 | 日本三级日产三级国产三级 | 91毛片在线看 | 国产一区二区在线视频 | a在线视频 | 97精品超碰一区二区三区 | 青青久在线视频 | 国产不卡一区 | 亚洲国产精品一区 | 国产精久久久 | 精品免费国产一区二区三区四区介绍 | 久久久久久久久久久蜜桃 | 精品人伦一区二区三区蜜桃网站 | 久草免费视 | 成人国产精品久久久 | 亚洲精品欧洲 | 成人网av| 欧美一区二区免费 | 亚洲a在线观看 | 久久久九九九九 | 福利片在线看 | 精品国产91| 性精品| 一级毛片在线播放 | 亚洲一区精品在线 | av中文字幕在线观看 | 国外成人免费视频 | 蜜桃五月天 | 在线播放国产一区二区三区 | 高清国产午夜精品久久久久久 | 国产精品无码久久久久 | 久久精品国产a三级三级三级 | 九九热精品视频在线观看 | 又爽又黄axxx片免费观看 |