Pytorch Torch Nn Parameter
# PyTorch torch.nn.Parameter Function
[ PyTorch torch.nn Reference Manual](#)
* * *
`torch.nn.Parameter` is a learnable parameter tensor in PyTorch.
It is a wrapper that converts ordinary tensors into learnable parameters and automatically adds them to the module's parameter list.
### Function Definition
torch.nn.Parameter(data=None, requires_grad=True)
* * *
## Usage Examples
### Example 1: Basic Usage
## Example
import torch
import torch.nn as nn
class MyModule(nn.Module):
def __init__ (self):
super(MyModule,self). __init__ ()
# Create learnable parameters
self.weight= nn.Parameter(torch.randn(10,5))
self.bias= nn.Parameter(torch.zeros(5))
def forward(self, x):
return x @self.weight.t() + self.bias
model = MyModule()
print("Parameters:",list(model.named_parameters()))
print("Weight shape:", model.weight.shape)
### Example 2: Alternative to register_parameter
## Example
import torch
import torch.nn as nn
# Method 1: Using nn.Parameter (recommended)
class Net1(nn.Module):
def __init__ (self):
super(). __init__ ()
self.param= nn.Parameter(torch.ones(5))
# Method 2: Using register_parameter (equivalent)
class Net2(nn.Module):
def __init__ (self):
super(). __init__ ()
self.register_parameter('param', nn.Parameter(torch.ones(5)))
print("Method 1 parameters:",list(Net1().named_parameters()))
print("Method 2 parameters:",list(Net2().named_parameters()))
### Example 3: Non-learnable Parameters
## Example
import torch
import torch.nn as nn
# requires_grad=False creates non-learnable parameters
param_no_grad = nn.Parameter(torch.ones(5), requires_grad=False)
print("Trainable:", param_no_grad.requires_grad)
print("Still Parameter:",type(param_no_grad))
* * *
## Use Cases
* **Custom Layers**: Implement learnable weights
* **Special Modules**: Non-standard parameters
* **Direct Access**: Convenient to operate
> Tip: nn.Parameter is a subclass of tensor and will be automatically added to parameters().
* * PyTorch torch.nn Reference Manual](http://ww
YouTip