PyTorch基础(五)----- torch.cat()方法

cat是concatnate的缩写,concatnate的含义拼接,深度学习模型中最为常见的是通道拼接。

一、普通用法
  • dim = 1:表示将张量A、B按照维数1进行拼接,换句话说,就是按照列进行拼接
torch.cat((A,B),dim = 1)
  • 案例1
x = torch.randn(3, 4)
y = torch.randn(3, 2)
print(x, x.size())
print(y, y.size())
z = torch.cat((x, y), dim =  )
print(z, z.size())

在这里插入图片描述

  • dim = 0:表示将张量A、B按照维数0进行拼接,换句话说,就是按照行进行拼接
torch.cat((A,B),dim = 0)
  • 案例2
x = torch.randn(2,3)
y = torch.randn(5,3)
print(x)
print(y)
z = torch.cat((x,y),dim = 0)
print(z)

在这里插入图片描述

二、进阶用法

除上述普通用法外,torch.cat()也可以将一个列表中的tensor拼接起来。

lst = []
x = torch.randn(3,4)
y = torch.randn(2,4)
print(x, x.size())
print(y, y.size())
lst.append(x)
lst.append(y)
z = torch.cat(lst, dim = 0)
print(z, z.size())

在这里插入图片描述
之后我会尽量每天都会更新一篇PyTorch的小知识点,不积硅步,无以至千里,只要每天积累一点点,一定会有提升的!希望这篇文章对大家有帮助!

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
这段代码定义了一个名为 `UpBlock` 的自定义模块,用于实现 UNet 的上采样块的功能。 具体的实现如下: 1. `UpBlock` 类继承自 `nn.Module`,表示这是一个 PyTorch 模块。 2. 在 `__init__` 方法中,接收输入通道数 `c_in`、输出通道数 `c_out`、卷积块类型 `conv_block`(默认为 `Convx2`)、是否使用批归一化 `bn`(默认为 True)和填充模式 `padding_mode`(默认为 'zeros')作为参数。 3. 创建一个转置卷积层 `self.up`,用于进行上采样操作,将输入特征图的尺寸放大两倍,并将输入通道数减半。输入通道数和输出通道数分别设置为 `c_in` 和 `c_in // 2`。 4. 根据是否使用批归一化,创建一个批归一化层 `self.bn` 或者一个恒等映射层 `Identity`。 5. 创建一个 `nn.ReLU(inplace=True)` 层,用于激活函数的应用。 6. 创建一个卷积块 `self.conv_block`,使用 `conv_block` 类型来实现,接收输入通道数、输出通道数和是否使用批归一化以及填充模式作为参数。 7. 在 `forward` 方法中,执行模块的前向传播逻辑。首先将输入张量 `x` 经过上采样操作,然后通过批归一化和 ReLU 激活函数进行处理。接着将处理后的张量与跳跃连接(skip connection)的张量在通道维度上进行拼接。然后将拼接后的张量输入到卷积块 `self.conv_block` 中进行特征提取。最后返回输出张量。 总结来说,这个自定义模块实现了一个 UNet 的上采样块。它通过上采样操作将输入特征图的尺寸放大两倍,并使用卷积块对特征进行进一步提取。同时,根据需要使用批归一化进行特征的标准化处理,并使用 ReLU 激活函数增加非线性变换。最后通过跳跃连接将下采样路径中的特征与上采样路径中的特征进行融合。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

底层研究生

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

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

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

打赏作者

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

抵扣说明:

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

余额充值