欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

keras中的卷積層&池化層的用法

 更新時間:2020年05月22日 09:24:42   作者:詩蕊  
這篇文章主要介紹了keras中的卷積層&池化層的用法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

卷積層

創(chuàng)建卷積層

首先導入keras中的模塊

from keras.layers import Conv2D

卷積層的格式及參數:

Conv2D(filters, kernel_size, strides, padding, activation='relu', input_shape)

filters: 過濾器數量

kernel_size:指定卷積窗口的高和寬的數字

strides: 卷積stride,如果不指定任何值,則strides設為1

padding: 選項包括'valid'和'same',默認值為'valid'

activation: 通常為'relu',如果不指定任何值,則不應用任何激活函數,通常應該向網絡中每個卷積層添加一個Relu激活函數

如果卷積層出現在輸入層之后,必須提供另一個input_shape參數:

input_shape: 指定輸入的高度、寬度和深度的元組;如果卷積層不是網絡的第一個層級,則不應該包含input_shape參數。

示例1:

假設我要構建一個 CNN,輸入層接受的是 200 x 200 像素(對應于高 200、寬 200、深 1 的三維數組)的灰度圖片。然后,假設我希望下一層級是卷積層,具有 16 個過濾器,每個寬和高分別為 2。在進行卷積操作時,我希望過濾器每次跳轉 2 個像素。并且,我不希望過濾器超出圖片界限之外;也就是說,我不想用 0 填充圖片。

要構建該卷積層,我將使用下面的代碼

Conv2D(filters=16, kernel_size=2, strides=2, activation='relu', input_shape=(200, 200, 1))

示例 2

假設我希望 CNN 的下一層級是卷積層,并將示例 1 中構建的層級作為輸入。假設新層級是 32 個過濾器,每個的寬和高都是 3。在進行卷積操作時,我希望過濾器每次移動 1 個像素。我希望卷積層查看上一層級的所有區(qū)域,因此不介意過濾器在進行卷積操作時是否超過上一層級的邊緣。

然后,要構建此層級,我將使用以下代碼:

Conv2D(filters=32, kernel_size=3, padding='same', activation='relu')

卷積層中的參數數量

卷積層中的參數數量取決于filters, kernel_size, input_shape的值

K: 卷積層中的過濾器數量, K=filters

F:卷積過濾器的高度和寬度, F = kernal_size

D_in: 上一層級的深度, D_in是input_shape元組中的最后一個值

卷積層中的參數數量計算公式為:K * F * F * D_in + K

卷積層的形狀

卷積層的形狀取決于kernal_size, input_shape, padding, stride的值

K: 卷積層中的過濾器數量,K = filters

F: 卷積過濾器的高度和寬度, F = kernal_size

H_in: 上一層級的高度

W_in: 上一層級的寬度

S: stride

卷積層的深度始終為過濾器數量K

如果padding=‘same', 那么卷積層的空間維度計算公式如下:

height = ceil(float(H_in) / float(S))
width = ceil(float(W_in) / float(S))

如果padding = ‘valid', 那么卷積層的空間維度計算公式如下:

height = ceil(float(H_in - F + 1) / float(S))
width = ceil(float(W_in - F + 1) / float(S))

可以使用如下形式檢測卷積層的維度:

from keras.models import Sequential
from keras.layers import Conv2D

model = Sequential()
model.add(Conv2D(filters=32, kernel_size=3, strides=2, padding='same', 
 activation='relu', input_shape=(128, 128, 3)))
model.summary()

池化層

keras中的最大池化層

創(chuàng)建池化層,首先導入keras中的模塊

from keras.layers import MaxPooling2D

然后用以下形式創(chuàng)建池化層

MaxPooling2D(pool_size, strides, padding)

參數

pool_size:指定池化窗口高度和寬度的數字

strides:垂直和水平stride,默認參數為pool_size

padding:選項包括'valid'和'same',默認參數為'valid'

示例:

假設我要構建一個 CNN,并且我想通過在卷積層后面添加最大池化層,降低卷積層的維度。假設卷積層的大小是 (100, 100, 15),我希望最大池化層的大小為 (50, 50, 15)。

要實現這一點,我可以在最大池化層中使用 2x2 窗口,stride 設為 2,代碼如下:

MaxPooling2D(pool_size=2, strides=2)

如果你想將 stride 設為 1,但是窗口大小依然保留為 2x2,則使用以下代碼:

MaxPooling2D(pool_size=2, strides=1)

可以使用如下形式檢測最大池化層的維度:

from keras.models import Sequential
from keras.layers import MaxPooling2D

model = Sequential()
model.add(MaxPooling2D(pool_size=2, strides=2, input_shape=(100, 100, 15)))
model.summary()

以上這篇keras中的卷積層&池化層的用法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Python遍歷目錄并批量更換文件名和目錄名的方法

    Python遍歷目錄并批量更換文件名和目錄名的方法

    這篇文章主要介紹了Python遍歷目錄并批量更換文件名和目錄名的方法,涉及Python針對文件與目錄的遍歷、讀取及修改等操作技巧,需要的朋友可以參考下
    2016-09-09
  • 利用python實現漢字轉拼音的2種方法

    利用python實現漢字轉拼音的2種方法

    這篇文章主要給大家介紹了關于如何利用python實現漢字轉拼音的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用python具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-08-08
  • tensorflow -gpu安裝方法(不用自己裝cuda,cdnn)

    tensorflow -gpu安裝方法(不用自己裝cuda,cdnn)

    這篇文章主要介紹了tensorflow -gpu安裝,史上最新最簡單的途徑(不用自己裝cuda,cdnn),非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-01-01
  • 詳解Python的文件處理

    詳解Python的文件處理

    這篇文章主要為大家介紹了Python的文件處理,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • pandas讀取excel統(tǒng)計空值數量錯誤的解決方法

    pandas讀取excel統(tǒng)計空值數量錯誤的解決方法

    pd.read_excel()讀取excel數據后,用pd.isnull().sum()統(tǒng)計空值數量不對,本文主要介紹了pandas讀取excel統(tǒng)計空值數量錯誤的解決方法,感興趣的可以了解一下
    2024-04-04
  • python openpyxl模塊的使用詳解

    python openpyxl模塊的使用詳解

    這篇文章主要介紹了python openpyxl模塊的使用詳解,幫助大家更好的理解和學習使用python,感興趣的朋友可以了解下
    2021-02-02
  • python實現求解列表中元素的排列和組合問題

    python實現求解列表中元素的排列和組合問題

    本篇文章給大家分享使用python的內置模塊實現求解列表中元素的排列和組合問題,具體實現代碼大家參考下本文
    2018-03-03
  • Python+Pygame實戰(zhàn)之24點游戲的實現

    Python+Pygame實戰(zhàn)之24點游戲的實現

    這篇文章主要為大家詳細介紹了如何利用Python和Pygame實現24點小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • python中異常捕獲方法詳解

    python中異常捕獲方法詳解

    異常信息的獲取對于程序的調試非常重要,可以有助于快速定位有錯誤程序語句的位置。下面介紹幾種python中獲取異常信息的方法,希望小伙伴們能夠喜歡
    2017-03-03
  • Python函數基礎(定義函數、函數參數、匿名函數)

    Python函數基礎(定義函數、函數參數、匿名函數)

    這篇文章介紹了Python函數的基礎用法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05

最新評論