在二維卷積函數(shù)tf.nn.conv2d(),最大池化函數(shù)tf.nn.max_pool(),平均池化函數(shù)
tf.nn.avg_pool()中,卷積核的移動步長都需要制定一個參數(shù)strides(步長),因?yàn)闊o論是卷積操作還是各種類型的池化操作,都是某種形式的滑動窗口(sliding window)處理,這就要求指定從當(dāng)前窗口移動下一個窗口位置的移動步長。
TensorFlow 文檔關(guān)于 strides的說明如下:
strides: A list of ints that has length >= 4. The stride of the sliding window for each dimension of the input tensor.
首先要求 strides 為長度不小于 4 的整數(shù)構(gòu)成的 list,strides參數(shù)表示的是滑窗在輸入張量各個維度上的移動步長。
如果strides=[b,h,w,c],其中strides[0]和strides[3]默認(rèn)為1。
具體什么含義呢?
一般而言,對于輸入張量(input tensor)有四維信息:[batch, height, width, channels](分別表示 batch_size, 也即樣本的數(shù)目,單個樣本的行數(shù)和列數(shù),樣本的頻道數(shù),rgb圖像就是三維的,灰度圖像則是一維),對于一個二維卷積操作而言,其主要作用在 height, width上。
strides參數(shù)確定了滑動窗口在各個維度上移動的步數(shù)。一種常用的經(jīng)典設(shè)置就是要求,strides[0]=strides[3]=1。
strides[0]=1,表示在 batch 維度上移動為 1,指不跳過任何一個樣本,每一個樣本都會進(jìn)行運(yùn)算
strides[1] = 1,表示在高度上移動步長為1,這個可以自己設(shè)定,根據(jù)網(wǎng)絡(luò)的結(jié)構(gòu)合理調(diào)節(jié)
strides[2] = 1,表示在寬度上的移動步長為1,這個可以自己設(shè)定,根據(jù)網(wǎng)絡(luò)的結(jié)構(gòu)合理調(diào)節(jié)
strides[3] = 1,表示在 channels 維度上移動為 1,指不跳過任何一個顏色通道,每一個通道都會進(jìn)行運(yùn)算
以上這篇對tensorflow中的strides參數(shù)使用詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持服務(wù)器之家。
原文鏈接:https://blog.csdn.net/ddy_sweety/article/details/80634579