Keras Convolution1D與Convolution2D區(qū)別說明
以下是Convolution1D的例子:
from keras.layers import Convolution1D from keras.models import Sequential model=Sequential() model.add(Convolution1D( filters=64, #64個濾波器 -》生成 64深度 kernel_size=3, #長度 為 3 input_shape=(10,32), # 輸入形狀 就是 圖片形狀 (step,input_dim) input_dim 一般指詞_dim padding='same' # 過濾模式 )) #Output Shape:(None, 10, 64) model.add(Convolution1D( filters=32, kernel_size=3, padding='same' )) #Output Shape:(None, 10, 32)
以下是Convolution2D的例子:
from keras.layers import Convolution2D from keras.models import Sequential model=Sequential() model.add(Convolution2D( filters=64, # 64個濾波器 -》生成 64深度 kernel_size=3, # 濾波器窗口 大?。?,3) padding='same', # 過濾模式 input_shape=(256,256,3), # 輸入形狀 就是 圖片形狀 # 默認(rèn) data_format:channels_last (rows,cols,channels) )) #Output Shape:(None, 256, 256, 64) model.add(Convolution2D( filters=32, kernel_size=3, padding='same', # 過濾模式 )) #Output Shape:(None, 256, 256, 32) 1.Convolution1D主要用于nlp,Convolution2D主要用于cv。實際上,Convolution1D也可以用于cv,Convolution2D也可以用于nlp,只是那個時候不是標(biāo)準(zhǔn)的卷積方式,而是經(jīng)過一定變形的卷積。 2.可以看到Convolution1D的 只有3這一個參數(shù),Convolution2D 卻有兩個參數(shù)3(即長度為3,寬度為3的卷積窗口)。表面上Convolution1D沒有給出卷積的大小,Convolution2D給出了。實際上,在Convolution1D中,長度 為 句子 所有 word 的長度,寬度就是 句子中word的 dim (全稱:dimension) ,寬度自動把整個tensor的寬度包裹住。 3.Convolution1D的input_shape是 ( 長度為10,寬度為32 )的tensor。Convolution2D的input_shape是 ( 寬度為256,長度為256,3個channel ) 的tensor。
下面畫出大概的區(qū)別:
補(bǔ)充知識:對于keras.layers.Conv1D的kernel_size參數(shù)的理解
今天在用keras添加卷積層的時候,發(fā)現(xiàn)了kernel_size這個參數(shù)不知怎么理解,keras中文文檔是這樣描述的:
kernel_size: 一個整數(shù),或者單個整數(shù)表示的元組或列表, 指明 1D 卷積窗口的長度。
又經(jīng)過多方查找,大體理解如下:
因為是添加一維卷積層Conv1D(),一維卷積一般會處理時序數(shù)據(jù),所以,卷積核的寬度為1,而kernel_size就是卷積核的長度了,這樣的意思就是這個卷積核是一個長方形的卷積核。
以上這篇Keras Convolution1D與Convolution2D區(qū)別說明就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python pandas 重命名索引和列名稱的實現(xiàn)
本文主要介紹了Python pandas 重命名索引和列名稱的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07使用numpy.eye創(chuàng)建one-hot編碼的實現(xiàn)
本文主要介紹了使用numpy.eye創(chuàng)建one-hot編碼的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-08-08python演示解答正則為什么是最強(qiáng)文本處理工具
正則表達(dá)式又稱規(guī)則表達(dá)式,通常被用來檢索、替換那些符合某個模式(規(guī)則)的文本,它是最強(qiáng)的文本處理工具,至于原因本文將給你答案2021-09-09