keras卷積神經網絡一維 Keras還是TensorFlow,程序員該如何選擇深度學習框架?
Keras還是TensorFlow,程序員該如何選擇深度學習框架?如果您想用少量的代碼盡快地構建和測試神經網絡,keras是最快的,而且sequential API和model非常強大。而且keras
Keras還是TensorFlow,程序員該如何選擇深度學習框架?
如果您想用少量的代碼盡快地構建和測試神經網絡,keras是最快的,而且sequential API和model非常強大。而且keras的設計非常人性化。以數據輸入和輸出為例,與keras的簡單操作相比,tensorflow編譯碼的構造過程非常復雜(尤其對于初學者來說,大量的記憶過程非常痛苦)。此外,keras將模塊化作為設計原則之一,用戶可以根據自己的需求進行組合。如果你只是想快速建立通用模型來實現你的想法,keras可以是第一選擇。
但是,包裝后,keras將變得非常不靈活,其速度相對較慢。如果高度包裝,上述缺點將更加明顯。除了一些對速度要求較低的工業(yè)應用外,由于tensorflow的速度較高,因此會選擇tensorflow
如果您在驗證您的想法時,想定義損失函數而不是使用現有的設置,與keras相比,tensorflow提供了更大的個性空間。此外,對神經網絡的控制程度將在很大程度上決定對網絡的理解和優(yōu)化,而keras提供的權限很少。相反,tensorflow提供了更多的控制權,比如是否訓練其中一個變量、操作梯度(以獲得訓練進度)等等。
盡管它們都提供了深度學習模型通常需要的功能,但如果用戶仍然追求一些高階功能選擇,例如研究特殊類型的模型,則需要tensorflow。例如,如果您想加快計算速度,可以使用tensorflow的thread函數來實現與多個線程的相同會話。此外,它還提供了調試器功能,有助于推斷錯誤和加快操作速度。