溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

CNN卷積函數(shù)Conv2D()各參數(shù)怎么使用

發(fā)布時(shí)間:2023-02-25 09:56:32 來(lái)源:億速云 閱讀:135 作者:iii 欄目:開(kāi)發(fā)技術(shù)

本篇內(nèi)容主要講解“CNN卷積函數(shù)Conv2D()各參數(shù)怎么使用”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“CNN卷積函數(shù)Conv2D()各參數(shù)怎么使用”吧!

首先我們放出tf2.0關(guān)于tf.keras.layers.Conv2D()函數(shù)的官方文檔,然后逐一對(duì)每個(gè)參數(shù)的含義和用法進(jìn)行解釋?zhuān)?/p>

tf.keras.layers.Conv2D(
    filters, kernel_size, strides=(1, 1), padding='valid', data_format=None,
    dilation_rate=(1, 1), activation=None, use_bias=True,
    kernel_initializer='glorot_uniform', bias_initializer='zeros',
    kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None,
    kernel_constraint=None, bias_constraint=None, **kwargs
)

從這個(gè)函數(shù)的定義能看出來(lái),filters ,kernel_size過(guò)濾器個(gè)數(shù)和卷積核尺寸,這是兩個(gè)位置參數(shù),沒(méi)有默認(rèn)值,必須給。

后面的那個(gè)多參數(shù),都是關(guān)鍵字參數(shù)(有等于號(hào)的),都是有默認(rèn)值的,可以不寫(xiě),下面來(lái)逐一分析每個(gè)參數(shù)的含義: 

1.函數(shù)的位置參數(shù)filters

這是第一個(gè)參數(shù),位置是固定的,含義是過(guò)濾器個(gè)數(shù),或者叫卷積核個(gè)數(shù),這個(gè)與卷積后的輸出通道數(shù)一樣,比如下面filters為5的時(shí)候,卷積輸出的通道數(shù)(最后一位)就是5

CNN卷積函數(shù)Conv2D()各參數(shù)怎么使用

filters卷積核個(gè)數(shù)為8的時(shí)候,輸出的通道數(shù)就是8

CNN卷積函數(shù)Conv2D()各參數(shù)怎么使用

2.函數(shù)的第二個(gè)位置參數(shù) kernel_size

卷積核尺寸,一般為3×3,或者5×5,此處用2個(gè)整數(shù)的元組或列表表示,比如(3,3),[5,5],如果height, width長(zhǎng)寬一樣,直接用一個(gè)整數(shù)表示就行,比如3或者5,卷積后的,卷積后的height,width的計(jì)算公式如下:滑動(dòng)步長(zhǎng)為strides,卷積核的尺寸為S,輸入的尺寸為P,padding = ‘valid“

height =width = (P-S)/strides +1,

此處 輸入形狀為20×20,卷積核為3×3,滑動(dòng)步長(zhǎng)為1,所以輸出為(20-3)/1 +1 =18

CNN卷積函數(shù)Conv2D()各參數(shù)怎么使用

此處,輸入為20×20,卷積核為5×5,滑動(dòng)步長(zhǎng)為2×2,所以輸出的形狀為,(20-5)/2 +1向下取整,等于8,

CNN卷積函數(shù)Conv2D()各參數(shù)怎么使用

3.關(guān)鍵字參數(shù)strides=(1, 1),滑動(dòng)步長(zhǎng)

默認(rèn)橫向和縱向滑動(dòng)均為1,這個(gè)與上面的 卷積核size配合使用,用來(lái)計(jì)算輸出的形狀,

height =width = (P-S)/strides +1,

4.關(guān)鍵字參數(shù)padding = “valid”

默認(rèn)是邊緣不填充

此處只有兩個(gè)取值,另一個(gè)取值為 “same”,表示邊緣用0填充,如果padding =“same”,則輸出的形狀為 height =width = P/strides ,向上取整,如下圖,

CNN卷積函數(shù)Conv2D()各參數(shù)怎么使用

5.關(guān)鍵字參數(shù) data_format = ’ channels_first’

輸入的數(shù)據(jù)格式

此處只有兩個(gè)取值 ,“channels_first”,和“channels_last”,即輸入的數(shù)據(jù)格式中,通道數(shù)是第一個(gè)還是最后一個(gè),默認(rèn)為“channels_last”,即默認(rèn)輸入數(shù)據(jù)的格式中,通道數(shù)為最后一個(gè)。

當(dāng)data_format = "channels_first"的時(shí)候,輸入和輸出的shape格式為

(batch_size, channels, height, width)即(圖片數(shù)量,通道數(shù),長(zhǎng),寬)正如下圖所示:

CNN卷積函數(shù)Conv2D()各參數(shù)怎么使用

6.關(guān)鍵字參數(shù)dalition_rate = (1,1)

這個(gè)含義是卷積核的膨脹系數(shù),

此處的作用是將卷積核進(jìn)行形狀膨脹,新的位置用0填充,新卷積核的尺寸和膨脹系數(shù)的計(jì)算公式如下:

原卷積核的尺寸為S ,膨脹系數(shù)為k,則膨脹后的卷積核尺寸為

size = k×(S-1)+1

CNN卷積函數(shù)Conv2D()各參數(shù)怎么使用

7.關(guān)鍵字參數(shù)activation = “relu”

此處的含義是激活函數(shù),

相當(dāng)于經(jīng)過(guò)卷積輸出后,在經(jīng)過(guò)一次激活函數(shù),常見(jiàn)的激活函數(shù)有relu,softmax,selu,等

8.關(guān)鍵字參數(shù)use_bias =0 、1

偏置項(xiàng)

此處取值為布爾值,0或者1,0表示沒(méi)有增加bias,1表示有。

9.后面的關(guān)鍵字參數(shù)一般不常用

  • kernel_initializer:卷積核初始化,

  • bias_initializer:偏差值初始化,

  • kernel_regularizer:卷積核正則化

  • bias_regularizer:偏差正則化

  • activity_regularizer:這個(gè)地方也是一個(gè)正則化

  • kernel_constraint:卷積核約束

  • bias_constraint:偏差約束。

這幾個(gè)參數(shù)不常用,

10.最后還有幾個(gè)可選 的關(guān)鍵字參數(shù)

input_shape

這個(gè)是指輸入的形狀,一般是4D的,(batch size, height, width, channels),也可以不定義,那就是默認(rèn)輸入的形狀。

到此,相信大家對(duì)“CNN卷積函數(shù)Conv2D()各參數(shù)怎么使用”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

cnn
AI