示例:
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塊的順序,依次輸出每個位置各個深度維度的數據。