torch.nn 下的常用深度学习函数

1. 层(Layers)

这些函数用于定义神经网络中的各种层,是构建模型的基础模块。

  • torch.nn.Linear

    • 用途:全连接层(也称为线性层)。用于将输入数据从一个维度映射到另一个维度,常用于神经网络的隐藏层和输出层。

    • 示例torch.nn.Linear(in_features=10, out_features=5),将输入维度为10的数据映射到输出维度为5。

        

  • in_features:输入特征的数量,即输入张量的最后一个维度的大小。

  • out_features:输出特征的数量,即输出张量的最后一个维度的大小。

  • bias:可选参数,默认为True。当设置为True时,会添加一个偏置项。

import torch
import torch.nn as nn

# 创建一个线性层,输入特征数为 10,输出特征数为 5
linear_layer = nn.Linear(in_features=10, out_features=5)

# 创建一个输入张量,形状为 (batch_size, in_features) = (3, 10)
input_tensor = torch.randn(3, 10)

# 通过线性层进行前向传播
output_tensor = linear_layer(input_tensor)

print("输入张量形状:", input_tensor.shape)
print("输出张量形状:", output_tensor.shape)

输入张量形状: torch.Size([3, 10])
输出张量形状: torch.Size([3, 5])
  • torch.nn.Conv2d

    • 用途:二维卷积层。用于处理二维数据(如图像),通过卷积核提取局部特征,常用于卷积神经网络(CNN)。

    • 示例torch.nn.Conv2d(in_channels=3, out_channels=16, kernel_size=3,stride=1,padding=0),输入通道数为3,输出通道数为16,卷积核大小为3×3。

    • in_channels:输入图像的通道数。

    • out_channels:卷积操作产生的通道数。

    • kernel_size:卷积核的大小,可以是一个整数或一个包含两个整数的元组。

    • stride:卷积操作的步长,默认为1。

    • padding:输入的每一边补充0的层数,默认为0。

    • dilation:卷积核元素之间的间距,默认为1。

    • groups:将输入分成的组数,默认为1。

    • bias:可选参数,默认为True。当设置为True时,会添加一个偏置项。

    • padding_mode:填充模式,默认为zeros

import torch
import torch.nn as nn

# 创建一个卷积层,输入通道数为 3,输出通道数为 16,卷积核大小为 3x3
conv_layer = nn.Conv2d(in_channels=3, out_channels=16, kernel_size=3, stride=1, padding=1)

# 创建一个输入张量,形状为 (batch_size, in_channels, height, width) = (2, 3, 32, 32)
input_tensor = torch.randn(2, 3, 32, 32)

# 通过卷积层进行前向传播
output_tensor = conv_layer(input_tensor)

print("输入张量形状:", input_tensor.shape)
print("输出张量形状:", output_tensor.shape)

输入张量形状: torch.Size([2, 3, 32, 32])
输出张量形状: torch.Size([2, 16, 32, 32])
  • torch.nn.MaxPool2d

    • 用途:二维最大池化层。用于对特征图进行下采样,减少特征图的尺寸,同时保留重要特征。

    • 示例torch.nn.MaxPool2d(kernel_size=2),使用2×2的池化窗口进行最大池化。

    • kernel_size:最大池化的窗口大小,可以是一个整数或一个包含两个整数的元组。

    • stride:窗口移动的步长,默认值是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值