• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    pytorch中的nn.ZeroPad2d()零填充函数实例详解

    在卷积神经网络中,有使用设置padding的参数,配合卷积步长,可以使得卷积后的特征图尺寸大小不发生改变,那么在手动实现图片或特征图的边界零填充时,常用的函数是nn.ZeroPad2d(),可以指定tensor的四个方向上的填充,比如左边添加1dim、右边添加2dim、上边添加3dim、下边添加4dim,即指定paddin参数为(1,2,3,4),本文中代码设置的是(3,4,5,6)如下:

    import torch.nn as nn
    import cv2
    import torchvision
    from torchvision.utils import save_image
    def same_padding(img):
        toTensor=torchvision.transforms.ToTensor()
        img=cv2.imread(img)#获得的是(H,W,C)
        img=cv2.cvtColor(img,cv2.COLOR_BGR2RGB)#转换成正常的RGB通道
        print("img_cv2 shape:",img.shape)
        img_tensor=toTensor(img)#转成tensor后是(C,H,W)
        print("img_tensor shape:",img_tensor.shape)
        pad=nn.ZeroPad2d(padding=(3,4,5,6))
    
        img_padding=pad(img_tensor)
        print("img_padding shape:",img_padding.shape)
        save_image(img_padding,'img_padding.jpg')#将tensor格式的图片,直接保存成图片
    same_padding('bird.jpg')

    代码中需要注意的是,必须要将图片数据转换成tensor数据类型的才可以使用nn.zeroPad2d()函数
    为了凸显效果图:我们将设置大尺度的0填充

    nn.ZeroPad2d(padding=(100,30,60,60))

    知识点扩展:pytorch零填充函数ZeroPad2d作用

    pytorch中最常用的零填充函数是nn.ZeroPad2d,也就是对Tensor使用0进行边界填充,我们可以指定tensor的四个方向上的填充数,比如左边添加1dim、右边添加2dim、上边添加3dim、下边添加4dim,即指定paddin参数为(1,2,3,4),如下:

    pad = nn.ZeroPad2d(padding=(1, 2, 3, 4))
    y = pad(x)
    得到的y是x在四个方向上按照(1,2,3,4)进行的补零操作,如下图:

    到此这篇关于pytorch中的nn.ZeroPad2d()零填充函数实例详解的文章就介绍到这了,更多相关pytorch 零填充函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • 基于python及pytorch中乘法的使用详解
    • PyTorch安装与基本使用详解
    • pytorch中[..., 0]的用法说明
    上一篇:Python中Anaconda3 安装gdal库的方法
    下一篇:Python简洁优雅的推导式示例详解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    pytorch中的nn.ZeroPad2d()零填充函数实例详解 pytorch,中的,nn.ZeroPad2d,零,