tensorflow--filter、strides


最近還在看《TensorFlow 實戰Google深度學習框架第二版》這本書,根據第六章里面對於卷基層和池化層的介紹可以發現,在執行 tf.nn.conv2d 和 tf.nn.max_pool 函數時,有幾個參數是差不多的,一個是 filter,在卷積操作中就是卷積核,是一個四維矩陣,格式是 [CONV_SIZE, CONV_SIZE, INPUT_DEEP, CONV_DEEP],分別是這一層卷積核的長寬和輸入的深度以及卷積核的個數(卷積核的深度),在池化操作中,這個filter就是池化的kernel的大小,格式是[b,h,w,c]。

  1. b表示在樣本上的窗口大小默認為1,也就是每一個樣本都會進行運算。
  2. h表示在高度上的窗口大小,這個可以自己設定,根據網絡的結構合理調節。
  3. w表示在寬度上的窗口大小,這個同上可以自己設定。
  4. c表示在通道上的窗口大小默認為1,這個表示每一個通道都會進行運算。

另外一個參數是strides,格式也是[b,h,w,c],指的是步長,也就kernel移動一次的長度。

  1. b表示在樣本上的步長默認為1,也就是每一個樣本都會進行運算。
  2. h表示在高度上的默認移動步長為1,這個可以自己設定,根據網絡的結構合理調節。
  3. w表示在寬度上的默認移動步長為1,這個同上可以自己設定。
  4. c表示在通道上的默認移動步長為1,這個表示每一個通道都會進行運算。

那么,會不會b和c使用大於1的值呢,特殊情況使用個別樣本的個別通道的數據?

 

參考:1、https://blog.csdn.net/TwT520Ly/article/details/79540251
   2、https://blog.csdn.net/ddy_sweety/article/details/80634579

 

如果上述理解有什么謬誤的地方,還請評論指正,謝謝。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM