tf.extract_image_patches函數的理解


示例:

input_patch = tf.extract_image_patches(input, ksizes=[1, patch_sz, patch_sz, 1],
                                           strides=[1, 1, 1, 1],
                                           rates=[1, rates, rates, 1],
                                           padding="SAME")

理解:

將輸入的4-D張量在每一個位置切取 patch_sz x patch_sz 大小領域的patch,獲得的領域數據保存在depth維的位置(最后一維)上。
ksizes和strides、padding的設置和卷積操作保持一致。
rates表示的是取領域的patch網格在行列上的采樣間隔,rate越大,patch直接感知的領域區域越大,但采樣的點的間隔變大,采樣點數依舊是 patch_sz*patch_sz

舉例:

輸入:(1,20,20,3)的圖
參數:ksizes=[1, 3, 3, 1],strides=[1, 1, 1, 1],rates=[1, rates, rates, 1],padding="SAME"
輸出:(1,20,20,27),patches數據在最后一維,也就是每個位置點采樣了27個的數據,27對應着 depth*patch_sz*patch_sz,順序是按照patch塊的順序,依次輸出每個位置各個深度維度的數據。


免責聲明!

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



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