iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 15
1
自我挑戰組

TensorFlow 2 30天自我養成計畫系列 第 15

[Day 15]CNN環境建置Part 1

  • 分享至 

  • xImage
  •  
昨天筆者所說的CNN之實際應用,不曉得大家是否了解呢?對我這個初學者來說,踏入AI的世界是有些難度的,所以筆者也盡可能找一些簡單而實用的例子讓大家也可以一同理解AI背後的原理。這幾天所做的步驟與之前有些類似,也一樣要資料預處理、建置模型來進行訓練與預測,那我們就開始努力往前吧!

建立模型
昨天我們有建立好了CNN(卷積神經網路),今天我們就直接開始建立模型啦!
(建立卷積層請查閱[Day14])

  1. 匯入需要的模組

我們可分為兩段分別講解

  • from keras.models import Sequential
    匯入MNIST的資料集

  • from keras.layers import Dense,Dropout,Flatten,Conv2D,MaxPooling2D
    由於CNN(卷積神經網路)要使用layers模組,所以要先匯入Keras中的layers模組

  1. 建立Keras的Sequential(線性堆疊)模型
    鍵入以下指令,我們先建立Sequential線性堆疊模型,這樣之後只要鍵入model.add()這個方法,即可把所有神經網路層加入至模型中。

進行下述步驟前,要先知道一個完整的卷積運算需要包含一個卷積層與一個持化層,所以會分為兩部分

  1. 建立卷積層1與持化層1

藉由上述的程式碼,我們來仔細地講解一下:

  • filters=16: 建立16個濾鏡filter weight
  • kernel_size=(5, 5): 每一個濾鏡是5X5大小
  • padding='same': 這串程式碼可以讓卷積運算所產生的卷積影像大小不變
  • input_shape=(28,28,1): 總共有三個維度,一跟二是代表輸入的影像大小是28X28,第三是單色灰階影像,所以為1
  • activation='relu': 設定激活函數ReLU

明天會繼續建置與進行訓練,再接再厲囉!/images/emoticon/emoticon08.gif

Reference: 林大貴(2019):TensorFlow+Keras 深度學習人工智慧實務應用。新北市:博碩文化


上一篇
[Day 14]使用CNN繼續前進!
下一篇
[Day 16]CNN環境建置Part 2
系列文
TensorFlow 2 30天自我養成計畫30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言