PyTorch可学习权重参数 | AI生成和翻译

Home 2025.10

torch.nn.Parameter 是 PyTorch 中 torch.Tensor 的一个子类,专门用于表示神经网络模块中的可学习参数。其主要作用是在将张量作为属性分配给 torch.nn.Module 时,自动将其注册为模块参数,从而可以通过 module.parameters()module.named_parameters() 等方法进行访问。这有助于区分可训练权重(例如各层的权重)与常规张量,避免临时计算张量(如 RNN 中的缓存状态)被错误地视作参数。

核心特性

基础用法

以下是一个自定义模块中的简单示例:

import torch
import torch.nn as nn

class MyModule(nn.Module):
    def __init__(self):
        super().__init__()
        # 该张量会自动注册为参数
        self.weight = nn.Parameter(torch.randn(2, 3))
        # 普通张量不会被注册
        self.bias = torch.zeros(3)

    def forward(self, x):
        return x @ self.weight + self.bias

model = MyModule()
print(list(model.parameters()))  # 输出: [Parameter containing: tensor(...)]

更多细节请参阅官方文档:Parameter — PyTorch 2.9 documentation


Back

x-ai/grok-4-fast

Donate