咦?修但幾咧,我們不是正要學習TensorFlow嗎,吖怎麼突然跑出一個新的名詞,會不會是我跑錯棚了...?請留步啊各位,其實這個Keras可說是和TensorFlow息息相關哦,這個小章節就讓我稍微向大家分享一下什麼是Keras。
Keras的簡介:
Keras是一款用Python編寫而成的開源神經網路庫,也可以說是開放的高階深度學習程式庫,能搭配TensorFlow、Theano等運作,其設計目的是希望快速實現深度神經網路,它的主要作者也同時是Google的工程師曾說道,Keras被認為是一個介面,而不是獨立的機器學習框架,讓用戶可以運用當中提供的工具輕鬆開發深度學習模型。
Keras的優點:
既然我們有了TensorFlow,為何還要用Keras呢?那是因為Keras已經將訓練模型的輸入層、隱藏層、輸出層建好架構,只需插入所需的參數或函式即可,因此可使用最少的程式碼,花費最少的時間,就完成深度學習模型的建構,開始進行訓練,修正誤差,並拿去做應用和預測。相較之下,TensorFlow屬於低階的程式庫,雖然能夠達到更細緻更精準的模型,但是需要付出大量的時間成本,設計更多複雜的程式碼。
Keras的運作:
Keras僅處理深度學習模型的建立、訓練、預測等,然而底層的運算,如張量(矩陣)運算,則是交給「後端引擎」(backend engine)做配合,目前可支援的後端引擎主要有TensorFlow及Theano。
Keras的特色: