[Pytorch]关于torchvision.transforms.resize采样时更换插值方式——class InterpolationMode

  • 做实验发现seg_gt图边缘乱码了(心里寻思gt怎么还能乱码呢,不合理啊),查了半天发现读取的label边缘就是乱码,如图(强迫症看了想把自己吊起来)
    在这里插入图片描述
    在这里插入图片描述
  • 问了问师兄,师兄说是下采样插值的问题,把双线性插值改为最邻近插值就好了。(不愧是师兄,一眼就看出来问题的本质)
  • 问题就出在了transforms.Resize这个函数上,默认采用双线性插值。(我用的数据集是CelebAMask-HQ,其中分割标签的分辨率为512512,我的模型需要将输入resize为256256,没有注意分割标签的插值问题
    在这里插入图片描述
    torchvision.transforms.Resize文档
    可以利用InterpolationMode类来设置interpolation选项。
    在这里插入图片描述
  • 但是发现不会用,看源码,调了个函数解决的。
    torchvision.transforms.functional.InterpolationMode文档
  • 具体如下,利用数字设置所选用的插值方式
    在这里插入图片描述
    InterpolationMode源代码
    在这里插入图片描述
    在这里插入图片描述
  • 解决~
    在这里插入图片描述
    在这里插入图片描述
  • 不止是resize函数,transforms中的一系列函数,如果带有插值操作,都是可以设置插值方式的哦!!
  • 不过要注意使用的torchvision版本,查看对应的文档。太早的torchvision版本可能没有写这个功能。
  • 以及,文档的阅读真的真的真的很重要。
    整理一下:
  1. pytorch官方英文文档
  2. torchvision官方英文文档
  3. paddlepaddle官方文档 (最近在看论文复现赛,虽然不是真正意义上的复现,不过可以熟悉一下查文档的能力,xdm可以都去试试)
  • 14
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Vanessa Ni

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值