读字
padding操作是在图像周围添加像素点。
为了实际说明操作步骤,这里使用实际的图像进行处理。
这张照片大小(256,256 ),使用pad做了黑色的边框。 具体代码如下。
import torch.nn,functional as F
导入途径
来自pil导入图像
im=image.open('Heibai.jpg ',' r ' ) )
) ) )
打印(shape :X.shape ) )。
dim=(10,10,10 ) ) ) )。
x=f.pad(x,dim,' constant ',value=0) )。
padX=X.data.numpy (
padim=image.fromarray(padx ) )。
padim=padim.convert(RGB ) #这里必须转换为RGB。 必须是这样
padim.save(padded.jpg,) jpeg ) )。
padim.show (
print(shape: )、padX.shape )。
shape : torch.size ([ 256,256 ]
形状: (276,276 ) )。
可以看到,原始图的4个方向加上10维0,维为256 10 10的图像如下所示。
举几个简单的例子:
x=NP.as array ([ [ 1,2 ],[ 1,2 ] ]
x=Torch.Tensor(x ) ) )。
打印(x.shape ) )。
pad_dims=(
2,2,1,)
x=f.pad(x,pad_dims,' constant ' ) )。
打印(x.shape ) )。
打印(x )是
torch.size ([ 1,2 ] ) )。
torch.size ([ 3,6,6 ]
tensor([ 0.0 .0.],[ 0.0.],[ 0.0.],[ 0.1 .2 .0.] )
可以看出,当pid_sim为(2,1 )时,原始维度的变化为2 )2=6,1 )1=3。 也就是说,第一个) 2,2 ) pad是最后一个维度,第二个) 2,2 ) pad是倒数第二个维度,第三个) 1,1 ) pad是第一个维度
再举一个四维的东西,但只做三维的pad :
x=NP.as array ([ [ 1,2 ] ] ) )
x=Torch.Tensor(x ) # (1,2 ) ) ) ) ) ) ) )。
打印(x.shape ) )。
pad_dims=(
2,' constant ' (# (1,12,12 ) ) ) ) )。
打印(x.shape ) )。
打印(x )是
torch.size ([ 1,2 ] ) )。
torch.size ([ 1,3,6 ]
tensor([[0.0.]]]] )
列举四维的、焊盘的四个维度:
x=NP.as array ([ [ 1,2 ] )
)
x=f.pad(x,2 ) )
torch.size ([ 5,0.] ),太多了
以上pytorch中pad函数toch.nn.functional.pad ()的使用方法是编辑与大家共享的全部内容。 希望能作为参考,如果能得到支持的话就太好了。
相关报道
总结
如果你觉得编程家庭网站的内容很好,欢迎程序员朋友推荐程序员网站。
该文字内容由网民网络收集整理提供,作为学习参考,版权归原作者所有。
如果你喜欢交流学习经验,点击链接加入交流1群: 1065694478 (满)交流2群: 163560250