tf.nn.conv2d(
input,
filter,
strides,
padding,
use_cudnn_on_gpu=True,
data_format='NHWC',
dilations=[1, 1, 1, 1],
name=None)
首先input必須是一個四維的tensor,以28✖️28✖️1的圖像爲案例進行說明,首先需要轉換爲4維,需要加入圖像樣本的個數,假設爲100張,變爲[100,28,28,1],直觀理解爲100張 2828的只有一個通道的圖片。
我們再來看filter,即卷積神經網絡的濾波器,必須與input維度相同,[3,3,1,2],通俗理解爲33的卷積核2個,只作用於1個通道,即input的最後一個參數和filter的倒數第二個參數是相同的。
第三個參數是stride,控制卷積核的移動步數,與上述兩個參數相同,也是四維的,[1,1,1,1],其中第一個1和最後一個1是固定值,需要改變的是中間的兩個數,即在x軸和y軸的移動步長。
第四個參數是padding,只有兩個取值,'SAME'和'VALID',第一個是填充邊界,第二個是當不足以移動時直接捨棄。
其他參數選擇默認即可。
作者:不分享的知識毫無意義
鏈接:https://www.jianshu.com/p/155204cfbf56
來源:簡書