码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【深度学习】特征图的上采样(nn.Upsample)和转置卷积(nn.ConvTranspose2d) | pytorch


    文章目录

    • 前言
    • 一、nn.Upsample 上采样
    • 二、nn.ConvTranspose2d 转置卷积


    前言

    这次就不废话了,我想赶在10点前回去洗头(现在9.17,还差一篇文章)

    一、nn.Upsample 上采样

    该函数有四个参数:
    在这里插入图片描述
    参数的介绍如下:
    在这里插入图片描述
    稍微翻译一下:
    参数:
    1)size(int或Tuple[int]或Tuple[int,int]或Tupple[int,int,int],可选):输出空间大小
    2)scale_factor(float或Tuple[floot]或Tuple[floot,float]或Tuple[floot、float、float],可选):空间大小的乘数。如果是元组,则必须匹配输入大小。
    3)mode(str,可选):上采样算法:“最近”,“线性”、“双线性”、“双三次”和“三线性”。默认值 ‘nearst’
    4)align_ccorners(bool,可选):如果“True”,则输入的角像素和输出张量对齐,从而保持这些像素。仅当:attr:mode为“线性”、“线性”或“三线性”。默认值:False

    深度学习里用的比较多的是二倍向上采样,比如经常出现在U-net网络结构里,例子如下:

    import torch
    import torch.nn as nn
    A =torch.rand(1,3,24,24)
    up=nn.Upsample(scale_factor=2, mode='bilinear', align_corners=True)
    B =up(A)
    print(B.shape)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    如果少写了一个维度,就会报错:

    import torch
    import torch.nn as nn
    A =torch.rand(3,24,24)
    up=nn.Upsample(scale_factor=2, mode='bilinear', align_corners=True)
    B =up(A)
    print(B.shape)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    二、nn.ConvTranspose2d 转置卷积

    我们首先看看它的参数,依然如此得多
    在这里插入图片描述
    其实,转置卷积和普通的卷积操作,参数配置都是很相似的。看几个例子把
    1)311型转置卷积:

    import torch
    import torch.nn as nn
    A =torch.rand(1,64,24,24)
    up=nn.ConvTranspose2d(64,32,3,1,1)
    B =up(A)
    print(B.shape)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述
    和普通卷积的311一样,宽高不变
    2)310型转置卷积:

    import torch
    import torch.nn as nn
    A =torch.rand(1,64,24,24)
    up=nn.ConvTranspose2d(64,32,3,1,0)
    B =up(A)
    print(B.shape)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述
    和普通卷积类似,这里是+2(普通卷积是宽高-2)

    
    
    • 1
  • 相关阅读:
    安装rsa依赖库出现ERROR: No matching distribution found for rsa
    【工具门户】Linux平台安装Backstage(二)
    人人开源搭建后台管理系统 & 逆向工程生成CRUD代码
    pybullet 安装失败缺失 Microsoft Visual C++ 14.0 解决方案
    架构师备考专栏-导航页
    【MUDUO 】Channel通道
    docker容器重启后,jdk环境变量失效,jar包不会自动重启
    Redis常见场景问题和解决方案
    ant的echo任务
    Docker(三)—— 容器的基本命令
  • 原文地址:https://blog.csdn.net/weixin_46274756/article/details/127912091
  • 最新文章
  • 【FHE】我们如何实现同态加密推理(八):SiLU 的密文化——两条路径,和一个 8 字节的开关
    SQLcl 中 c/old/new 替换变量为何失效?先定位再替换
    不让模型写作文,直接从它脑子里读答案:Jev 决策在 .NET 的两条路线
    Halo插件:支持GitHub的图床附件策略
    电视投屏界的“一股清流”!SimpleTVCast 6.0.0-beta 抢先体验:无需TV端App,界面大换血!✨
    华三VXLAN集中式网关实战指南:Spine多活网关 + 双活接入(M-LAG)
    软件更好写之后口碑会更重要
    大 O、大 Omega、大 Theta 的区别,O(n) 复杂度是什么意思
    Java标签跳转:一个鲜为人知但却很实用的小技巧
    多智能体系统论文速读
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号