pytorch常用产生参数方法

在这里插入图片描述

### PyTorch 卷积层参数详解 #### nn.Conv2d 参数说明 `nn.Conv2d` 是用于定义二维卷积层的类,在构建卷积神经网络常用。其主要参数如下: - **in_channels (int)**: 输入通道数,对于 RGB 图像来说通常是 3;如果是灰度图,则为 1。 - **out_channels (int)**: 输出通道数,即该层产生的特征图数量。这个值决定了下一层接收多少个不同类型的滤波器输出[^1]。 ```python import torch.nn as nn conv_layer = nn.Conv2d(in_channels=3, out_channels=64, kernel_size=3) ``` - **kernel_size (int or tuple)**: 卷积核尺寸,可以是一个整数表示方形窗口大小,也可以是两个整数组成的元组指定矩形窗口的高度和宽度。例如 `kernel_size=5` 或者 `kernel_size=(5, 5)` 表示一个 \(5 \times 5\) 的卷积核。 ```python # 使用正方形卷积核 conv_square_kernel = nn.Conv2d(in_channels=3, out_channels=64, kernel_size=7) # 使用矩形卷积核 conv_rectangular_kernel = nn.Conv2d(in_channels=3, out_channels=64, kernel_size=(7, 5)) ``` - **stride (int or tuple, optional)**: 步幅,默认情况下为 1。这控制着每次移动卷积窗格跨越的距离。较大的步幅会减少输出的空间维度。 ```python conv_with_stride = nn.Conv2d(in_channels=3, out_channels=64, kernel_size=3, stride=2) ``` - **padding (int or tuple, optional)**: 填充量,默认为 0。当设置填充时,可以在输入边界周围增加额外像素来保持输出形状不变或调整到特定大小。 ```python padded_conv = nn.Conv2d(in_channels=3, out_channels=64, kernel_size=3, padding=1) ``` - **bias (bool, optional)**: 是否使用偏置项,默认 True。如果设为 False 则不会计算偏置部分。 ```python no_bias_conv = nn.Conv2d(in_channels=3, out_channels=64, kernel_size=3, bias=False) ``` #### 查看卷积核权重张量 可以通过访问 `.weight.data` 属性获取当前训练好的卷积核权重矩阵,并对其进行可视化或其他处理[^2]。 ```python print(conv_layer.weight.data.shape) # 打印卷积核权重张量的形状 reshaped_weights = conv_layer.weight.data.reshape((-1, 2)) # 将权重重新整形以便于展示 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值