深度學習框架對比

2021-10-01 19:07:00 字數 1278 閱讀 7992

第乙個主流產品級深度學習庫,於 2014 年由 uc berkeley 啟動

優點:快速、支援 gpu、漂亮的 matlab 和 python 介面

缺點:不靈活。在 caffe 中,每個節點被當做乙個層,因此如果你想要一種新的層型別,你需要定義完整的前向、後向和梯度更新過程。這些層是網路的構建模組,你需要在無窮無盡的列表中進行選擇。(相反,在 tensorflow 中,每個節點被當做乙個張量運算例如矩陣相加、相乘或卷積。你可以輕易地定義乙個層作為這些運算的組合。因此 tensorflow 的構建模組更小巧,允許更靈活的模組化

2017 年 1 月,facebook 將 python 版本的 torch 庫(用 lua 編寫)開源

優點:

提供動態計算圖(意味著圖是在執行時生成的),允許你處理可變長度的輸入和輸出,例如,在使用 rnn 時非常有用,易於編寫自己的圖層型別

易於在 gpu 上執行

大量易於組合的模組化元件

缺點:正式文件以外的參考資料 / 資源有限

沒有良好的量化指標、移動性、服務性等

tensorflow先入為主導致pytorch移植成本太高

由較低階別的符號計算庫(如 theano)與較高階別的網路規範庫(如 blocks 和 lasagne)組合而成

優點:

由谷歌開發、維護,因此可以保障支援、開發的持續性

巨大、活躍的社群

網路訓練的低階、高階介面

缺點:計算圖是純 python 的,因此速度較慢

圖構造是靜態的,意味著圖必須先被「編譯」再執行

keras 是乙個更高階、對使用者最友好的 api,具有可配置的後端,由 google brain 團隊成員 francis chollet 編寫和維護

優點:

提供高階 api 來構建深度學習模型,使其易於閱讀和使用

編寫規範的文件

大型、活躍的社群

位於其他深度學習庫(如 theano 和 tensorflow,可配置)之上

使用物件導向的設計,因此所有內容都被視為物件(如網路層、引數、優化器等)。所有模型引數都可以作為物件屬性進行訪問。

缺點:由於用途非常普遍,所以在效能方面比較欠缺

與 tensorflow 後端配合使用時會出現效能問題(因為並未針對其進行優化),但與 theano 後端配合使用時效果良好

不像 tensorflow 或 pytorch 那樣靈活

對比主流深度學習框架

現在的主要的框架主要是呈以上的排名分部 tensorflow theano keras lasagne caffe dsstne torch mxnet dl4j cognitive toolkit主要是有以上這十種框架。是乙個基於資料流程式設計 dataflow programming 的符號數學...

深度學習框架

近一年來,深度學習的風起雲湧,產生了許多令人興奮的成果,同時,深度學習框架也是百家爭鳴。經過這一年的觀察,tensorflow 似乎成為了一種潮流,並且越來越多的框架開始為 keras 提供支援,它可能會成為一種標準。今後選擇keras框架作為深度學習的目標。keras 被認為是構建神經網路的未來,...

深度學習 經典網路對比

1 alexnet 相比於傳統的cnn 的改動 1.資料增強 2 dropout 3 relu 啟用函式 4 local response normalization 區域性響應歸一化,利用臨近的資料做歸一化 6 多gpu 並行 2 vgg 很好的繼承了alexnet 更深 3 googlenet ...