torch.nn和torch.nn.functional

在 PyTorch 中,torch.nn 和 torch.nn.functional 是两种不同形式的实现,分别以类和函数的形式提供神经网络层和损失函数。它们的主要区别如下:

1. 实现形式

  • torch.nn(类形式)
    • 定义方式:torch.nn 中的组件是以类的形式实现的。例如, torch.nn.Conv2d 是一个类,用于定义卷积层。
    • 使用方式:需要先实例化对象,然后通过调用对象的 forward 方法(通常通过 () 操作符隐式调用)来执行操作。
import torch
import torch.nn as nn
定义一个卷积层
conv_layer = nn.Conv2d(in_channels=3, out_channels=16, kernel_size=3, stride=1, padding=1)
input_tensor = torch.randn(1, 3, 32, 32)  # 输入张量
output_tensor = conv_layer(input_tensor)  # 调用卷积层
  • torch.nn.functional(函数形式)
    定义方式:torch.nn.functional 中的组件是以函数的形式实现的。例如,torch.nn.functional.conv2d 是一个函数,用于执行卷积操作。
    使用方式:直接调用函数,并传入输入张量和必要的参数。
import torch
import torch.nn.functional as F

input_tensor = torch.randn
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值