torch.nnReflectionPad2d
一、原理
增加邊界的類型有以下4個類型:以一行圖像數據為例,abcdefgh是原圖數據,|是圖像邊界,為原圖加邊
1 aaaaaa|abcdefgh|hhhhhhh 重復
2 fedcba|abcdefgh|hgfedcb 反射
3 gfedcb|abcdefgh|gfedcba 反射101,相當於上一行的左右互換
4 cdefgh|abcdefgh|abcdefg 外包裝
5 iiiiii|abcdefgh|iiiiiii with some specified 'i' 常量
torch.nn.ReflectionPad2d(padding) 使用輸入邊界的反射填充輸入張量。填充長度為 padding。當以元組的方式傳入參數的時候,四元組代表left ,right,top,bottom四個位置的填充長度。
二、實例說明
import torch
input = torch.arange(16, dtype=torch.float).reshape(4, 4)
print(input)
input = input.unsqueeze(0)
input = input.unsqueeze(0)
pad2 = torch.nn.ReflectionPad2d(3)
res2 = pad2(input)
print(res2[0][0][:])
以紅色框中數據為起點,按照先左右后上下的順序完成數據的填充。