首页 > 编程知识 正文

torch.permute,nn.Embedding

时间:2023-05-06 01:50:41 阅读:175273 作者:2477

torch.nn.functional.interpolate (input,size=None,scale_factor=None,mode='nearest ',align_corners=)

使用的插值算法取决于参数mode的设置

支持当前temporal (1d,例如矢量数据)、二维(例如图像数据)、体积(例如图像数据)和三维类型的采样数据(例如图像数据)作为输入,输入数据的格式为迷你

对于一个temporal输入,3D善良的棉花糖输入,即minibatch x channels x width对于一个空间spatial输入,4D善良的棉花糖输入, 即minibatchxchannelsxheightxwidth对于体积volumetric的输入,5D的善良棉花糖输入minibatchxchannelsxdepthxheightxwidth用于重置大小

参数:

input(tensor )善良的棉花糖size (intortuple [ int] or tuple [ int,int,int ] )输出大小. scale_factor 可用的上采样算法为“‘nearest”、“‘linear”、“‘bilinear”、“‘bicubic”、“‘trilinear”和“‘area”。如果设置为True,则为输入和输出柔和的妈妈如果设置为False,则输入和输出良好的棉花糖将与角像素的角对齐,并且插值将使用边界外值的边缘值填充。 如果scale_factor保持不变,则使操作独立于输入大小。 仅当使用的算法为“linear”、“bilinear”、“bilinear”或“trilinear”时才可用。 默认值为False

注意:

使用mode='bicubic '可能会导致图像产生负值或大于255的值的过冲问题。 如果希望在显示图像时减少超调问题,可以明确调用result.clamp(min=0,max=255 )。

When using the CUDA backend,thisoperationmayinducenondeterministicbehaviourinbebackwardthatisnoteasilyswitchedoff.please see the

警告:

如果align_corners=True,则输出值取决于输入的大小,因为线性插值模式(线性、双线性、双三次或三次线性)不会将输出像素与输入像素成比例对齐。 这是0.3.1版之前这些模式的缺省行为。 从此,缺省行为为align_corners=False,如下图所示。

上图显示了对源像素采样为44,对目标像素采样为88的情况。 这是对齐和对齐的区别,左上角的元素将对齐。 也就是说,如果设置align_corners=True,则输入的左上角元素必须等于输出的左上角元素。 但是,如果align_corners=False,左上角的要素有时也会相等,官方网站列举的例子不太能说明两者的区别。 (也没有尝试不同的例子,如果您能理解这个概念的话) )。

举例:

importtorchfromtorchimportnnimporttorch.nn.functionalasfinput=torch.arange (1,5,dtype=torch.float32 ).view

tensor([[1.2.],[3.4.]]]] ) x=f.interpolate(input,scale_factor=2,mode='nearest ' ) )

tensor([[1.1 .2 .2.]、[1.1 .2.]、[3.3 .4 .4.]、[3.3 .3 .3,4 .4 ] )

tensor ([ 1.0000,1.3333,1.6667,2.0000 ],[ 1.6667,2.0000,2.3333,2.6667,2.6667,3.0007 ]

upsample

torch.nn.functional.up sample (input,size=None,scale_factor=None,mode='nearest ',align _ corners=non

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。