conv1 = tf.nn.conv2d(input_tensor,conv1_weights,strides=[1,1,1,1],padding='SAME')
這是一個常見的卷積操作,其中strides=【1,1,1,1】表示滑動步長為1,padding=‘SAME’表示填0操作
當我們要設置步長為2時,strides=【1,2,2,1】,很多同學可能不理解了,這四個參數分別代表了什么,查了官方函數說明一樣不明不白,今天我來解釋一下。
strides在官方定義中是一個一維具有四個元素的張量,其規定前后必須為1,這點大家就別糾結了,所以我們可以改的是中間兩個數,中間兩個數分別代表了水平滑動和垂直滑動步長值,於是就很好理解了。
在卷積核移動逐漸掃描整體圖時候,因為步長的設置問題,可能導致剩下未掃描的空間不足以提供給卷積核的,大小掃描 比如有圖大小為5*5,卷積核為2*2,步長為2,卷積核掃描了兩次后,剩下一個元素,不夠卷積核掃描了,這個時候就在后面補零,補完后滿足卷積核的掃描,這種方式就是same。如果說把剛才不足以掃描的元素位置拋棄掉,就是valid方式。