一种特殊的 Tensor,用于表示模块的可训练参数。
class infinicore.nn.Parameter(data: Tensor)- 参数标识:继承自
Tensor,但被Module识别为可训练参数。 - 自动注册:当作为
Module的属性赋值时,会被自动注册到_parameters字典。 - 状态字典:参数会被包含在
state_dict()中,用于模型保存与加载。
data必须是infinicore.Tensor实例。- 不支持深拷贝(
__deepcopy__)和序列化(__reduce_ex__)。
import infinicore as ic
from infinicore.nn import Module, Parameter
class Linear(Module):
def __init__(self, in_features, out_features):
super().__init__()
device = ic.device("cuda:0")
self.weight = Parameter(ic.empty((out_features, in_features), dtype=ic.float16, device=device))
self.bias = Parameter(ic.empty((out_features,), dtype=ic.float16, device=device))