深度學習框架對比

目前比較流行的開源深度學習框架有Tensorflow、Caffe、Theano、Keras、Mxnet、Pytorch等。
以下分別介紹各大框架的基本技術架構和特點。
Tensorflow
tensorflow目前的用戶最多,它是Google2015年的發佈的一個深度學習框架。
使用時主要通過自定義張量形狀、張量之間的計算來搭建計算流圖完成深度學習模型的搭建,然後通過輸入數據,啓動模型即可開始模型訓練的過程。Tensorflow擅長各種張量的微分計算、分佈式計算等功能,支出GPU調用。
Theano
Theano遵循Tnesorflow的計算風格,擅長數值計算優化。它支持自動函數梯度計算,它有Python接口,集成了Numpy,使得這個庫從一開始就成爲通用深度學習計算庫,而不是深度學習專用庫。很多其他的計算庫基於Theano的計算能力,包括Blocks和Keras。
Keras
Keras基於Tensorflow和Theano之上,是一個高層庫。Keras強調極簡主義,以層來搭建網絡,所以你可以用寥寥可數的幾行代碼快速搭建各種功能的神經網絡。Keras的官方文檔易讀性也非常高。
Caffe
Caffe是一個非常老牌的深度學習架構,起初,它並不是一個通用的框架,而是隻專注於計算機視覺領域。CaffeNet架構的訓練時間在Caffe比在Keras(使用Theano後端)少5倍。Caffe缺乏靈活性。如果你想引入新的改進,你需要在C ++和CUDA編程。如果你要做較小的改進,你可以使用它的Python或Matlab接口來達到。
MxNET
MxNET是一個輕量級且非常優秀的深度學習庫。旨在提高性能和靈活性, 也一度是亞馬遜選擇的深度學習庫,它擁有類似於 Theano 和 TensorFlow 的數據流圖,爲多 GPU 配置提供了良好的配置,有着類似於 Lasagne 和 Blocks 更高級別的模型構建塊,並且可以在你可以想象的任何硬件上運行(包括手機)。不僅是支持Python,MXNet 同樣提供了對 R、Julia、C++、Scala、Matlab,和 Java 的接口。
PyTorch
基於GPU加速的張量計算和動態神經網絡框架,在音頻、語音識別上都有很多的應用。

一般來說,對於深度學習小白,可以選擇Keras來搭建神經網絡,通過花個一兩天時間研讀神經網絡的入門知識以及Keras的官方文檔,即可利用Keras的自帶數據庫Mnist來搭建神經網絡模型進行圖片識別以及其他的數據分析。

鏈接:
1、神經網絡入門:
https://blog.csdn.net/dyna_lidan/article/details/82460459
https://blog.csdn.net/dyna_lidan/article/details/82462145
2、Keras官方文檔:
https://keras-cn.readthedocs.io/en/latest/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章