logo
Loading...

Keras 問題 - Cupoy

對 keras 的使用不熟, 是否有基礎的資料可以閱讀否則無法 撰寫課程的練習

cvdl-1,cvdl-1-d11

Keras 問題

2019/12/15 下午 02:57
電腦視覺深度學習討論版
沈義訓
觀看數:5
回答數:1
收藏數:0
cvdl-1
cvdl-1-d11

對 keras 的使用不熟, 是否有基礎的資料可以閱讀

否則無法 撰寫課程的練習

回答列表

  • 2019/12/15 下午 09:41
    楊哲寧
    贊同數:1
    不贊同數:0
    留言數:0

    您好,針對這個問題,網路上搜尋keras快速上手就有很多教學,還有像是主辦單位推薦的莫凡 python也是很棒的入門課程。其實不管是什麼深度學習框架(Keras,tensorflow,Pytorch,Mxnet),只要掌握訓練模型的原理,理論上都能很快上手,細節部分可以靠實作中練習,以Keras為例,一般我們要訓練一個模型:

    1.第一步就是資料的前處理,包含切training set/ test set,準備成可以餵入模型的格式,是否使用Augmentation等等。


    2.第二步就是搭建模型,這個部分主要就會用到Keras API,在這只要掌握大觀念,我們建立Sequential ,再將layer放入這個Sequential內,至於layer的API是什麼,以及API內的參數怎麼命名其實要用的時候再查一下就好,像是我們有了Convolution、Padding、Stride的概念,今天要搭一個Convolution的layer,只要google一下Keras Convolution馬上就可以知道要import 什麼function來用,又或是我們知道Convolution以及FC層間需要透過Flatten或Global Average Pooling,也是要用再查一下就好,同樣概念可以套用到各種框架。


    3.搭建好模型後就要compile,主要包含選定optimizer、選定loss function以及evaluation 的 matrix。


    4.將準備好的資料fit進入模型內訓練。


    5.Evaluate結果或Predict看看。


    詳細可以參考課程Cifar10實作的解答或這篇文章:https://elitedatascience.com/keras-tutorial-deep-learning-in-python


    這裡分享一個觀念,在訓練模型時,我們要盡可能降低對任何一種框架的依賴性,當然每個人可能會有自己最熟悉的框架(framework),但任何框架有一天都有可能被取代(如過去常見的theano),所以不用執著把一個框架(ex.Keras)用到出神入化,我們只要掌握搭建模型的原理即可,細節代碼等要用時再查詢也不遲。